Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberWO2010009896 A1
Publication typeApplication
Application numberPCT/EP2009/005389
Publication date28 Jan 2010
Filing date24 Jul 2009
Priority date24 Jul 2008
Also published asDE102008034492A1
Publication numberPCT/2009/5389, PCT/EP/2009/005389, PCT/EP/2009/05389, PCT/EP/9/005389, PCT/EP/9/05389, PCT/EP2009/005389, PCT/EP2009/05389, PCT/EP2009005389, PCT/EP200905389, PCT/EP9/005389, PCT/EP9/05389, PCT/EP9005389, PCT/EP905389, WO 2010/009896 A1, WO 2010009896 A1, WO 2010009896A1, WO-A1-2010009896, WO2010/009896A1, WO2010009896 A1, WO2010009896A1
InventorsMathias Dalheimer, Franz-Josef Pfreundt
ApplicantFraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
Export CitationBiBTeX, EndNote, RefMan
External Links: Patentscope, Espacenet
Computer system with automatic access regulation of an application and access control to an application and corresponding access regulation and control method
WO 2010009896 A1
Abstract
The invention relates to a computer system with automatic access regulation of an application and access control to an application, comprising a user computer (1), a licensing server (2) designed for bidirectionally exchanging data with the user computer and a resource computer (3) designed for bidirectionally exchanging data with the user computer, in which an application (4) can be installed and/or is installed. A licence descriptor (7) can be generated on the user computer based on first input data (5) for the application and/or on hardware characteristics (6) of the user computer. Said license descriptor can be transmitted to the license server and can be checked by the license server if access authorisation to the user computer and/or the first input data (5) is input into the application. If said access authorisation exists, the license server can generate a license token (8) allowing access to the application and can be transmitted to the user computer. The license token or the license information (8') based on said token and the second input data (5') for the application can be transmitted by the user computer to the resource computer that can check the license token or the licence information by the resource computer and/or the application as to whether the user computer and/or the second input data (5') can access the application.
Claims  translated from German  (OCR text may contain errors)
Patentansprüche claims
1. Rechneranordnung mit automatisierter Zugriffssteuerung von einer und Zugriffskontrolle auf eine Applikation, aufweisend 1. Computer arrangement with automated access control of a control and access to an application, comprising
mindestens eine Anwenderkomponente (1) , eine zum bidirektionalen Datenaustausch mit der Anwenderkomponente ausgebildete Lizenzserverkomponente ( 2 ) und mindestens eine zum bidirektionalen Datenaustausch mit der Anwenderkomponente ausgebildete Ressourcenkomponente (3), wobei die Ressourcenkomponente (3) eine Applikation (4) steuert und/oder umfasst, wobei von der Anwenderkomponente auf Basis von ersten Eingabedaten (5) für die Applikation, von Hardwaremerkmalen (6) der Anwenderkomponente und/oder von Informationen über einen auf die Anwenderkomponente zugriffsberechtigten Anwender (Ia) ein Lizenzdeskriptor (7) generierbar ist, wobei dieser Lizenzdeskriptor an die Lizenzserverkomponente übermittelbar und durch die Lizenzserverkomponente dahingehend überprüfbar ist, ob eine Zugriffsberechtigung der ersten Eingabedaten (5) , der Anwenderkomponente und/oder des Anwenders auf die Applikation gegeben ist, at least one user component (1), one for bidirectional exchange of data formed with the user component license server component (2) and at least one for bidirectional data exchange formed with the user component resources component (3), wherein the resources component (3) controls an application (4) and / or comprises wherein the user component based on first input data (5) for the application of hardware features (6) of the user component and / or information about an access authorization to the user component user (Ia) a Lizenzdeskriptor (7) can be generated, said Lizenzdeskriptor be transmitted to the license server component and checkable by the license server component is whether to give access to the first input data (5), the user component and / or the user is given to the application,
wobei bei Vorliegen dieser Zugriffsberechtigung von der Lizenzserverkomponente ein den Zugriff auf die Applikation ermöglichender Lizenztoken being in the presence of these access authorization from the license server component is an access enable Direction on the application license token
(8) generierbar und an die Anwenderkomponente übermittelbar ist, wobei durch die Anwenderkomponente der Lizenztoken oder auf diesem basierende Lizenzinformationen (8') sowie zweite Eingabedaten (5') für die Applikation an die Ressourcenkomponente übermit- telbar sind und (8) can be generated and the user component can be transmitted, wherein the user component of the license token to or on based license information (8 ') and the second input data (5') for application to the resource component deliv- are applicable and
wobei der Lizenztoken oder die Lizenzinformationen durch die Ressourcenkomponente und/oder die Applikation dahingehend überprüfbar ist/sind, ob die Zugriffsberechtigung der zweiten Eingabeda- ten (5'), der Anwenderkomponente und/oder des wherein the license token or licensing information checkable by the resource component and / or the application / are, whether the access authorization of the second Input Data (5 '), the user component and / or the
Anwenders auf die Applikation gegeben ist. is user added to the application.
2. Rechneranordnung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Lizenzdeskriptor durch die Lizenzserverkomponente dahingehend überprüfbar ist, ob für die ersten Eingabedaten (5) eine Zugriffsberechtigung der Anwenderkomponente und/oder des Anwenders auf die Applikation gegeben ist 2. Computer arrangement according to the preceding claim, characterized in that the Lizenzdeskriptor checkable by the license server component, whether access authorization of the user component and / or the user is given to the application for the first input data (5)
und/oder dass der Lizenztoken oder die Lizenzinformationen durch die Ressourcenkomponente und/oder die Applikation dahingehend überprüfbar ist/sind, ob für die übermittelten zweiten Eingabedaten (5') die Zugriffsberechtigung der Anwenderkomponente und/oder des Anwenders auf die Applikation gegeben ist. and / or that the license token or licensing information checkable by the resource component and / or the application / are, whether the access authorization of the user component and / or the user is given to the application for the transmitted second input data (5 ').
3. Rechneranordnung nach einem der vorhergehenden Ansprüche , 3. Computer arrangement according to one of the preceding claims,
dadurch gekennzeichnet, dass der Lizenzdeskriptor einen aus den ersten Eingabedaten (5) , den Hardwaremerkmalen (6) und/oder den Informationen über den zugriffsberechtigten Anwender berechneten kryptographischen Code, insbesondere einen Hash-Code, umfasst characterized in that the Lizenzdeskriptor one of the first input data (5), the hardware features (6) and / or the information on the access-authorized user computed cryptographic code, in particular a hash code includes,
und/oder dass der Lizenzdeskriptor Anwenderidentifikati- onsdaten zur Identifikation der Anwenderkomponente und/oder des zugriffsberechtigten Anwen- ders umfasst. and / or that the Lizenzdeskriptor Anwenderidentifikati- onsdaten for identifying the user component and / or of the authorized user includes id.
4. Rechneranordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Lizenzdeskriptor auf Basis von Hardwareei- genschaften und/oder hardwaregestützten Merkmalen der Anwenderkomponente, insbesondere eines Dongles, und/oder von elektronischen Ausweisen des Anwenders, insbesondere einer Smartcard, generierbar ist. 4. Computer arrangement according to one of the preceding claims, characterized in that the Lizenzdeskriptor based on Hardwareei- properties and / or hardware-based characteristics of the user component, in particular a dongle, and / or can be generated by the electronic cards of the user, in particular a smart card.
5. Rechneranordnung nach einem der vorhergehenden Ansprüche , 5. Computer arrangement according to one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
der Lizenztoken von der Lizenzserverkomponente zumindest teilweise in kryptographisch ver- schlüsselter Form, insbesondere in mit einem geheimen Schlüssel einer Public-Key-Infrastruktur verschlüsselter Form, generierbar ist, wobei der Lizenztoken bevorzugt mittels digitaler Signatur zumindest des Lizenzdeskriptors oder eines Teils desselben generierbar ist. the license tokens on the license server component with a secret key of a public key infrastructure encrypted form, can be generated, wherein the license token preferably by means of digital signature of the same, at least of Lizenzdeskriptors or part can be generated at least partly in cryptographically encrypted form, in particular.
ά ά
6. Rechneranordnung nach einem der vorhergehenden Ansprüche , 6. Computer arrangement according to one of the preceding claims,
dadurch gekennzeichnet, dass der Lizenztoken oder die Lizenzinformationen durch die Ressourcenkomponente und/oder die Applikation auf Basis von kryptographischen Eigenschaften des Lizenztokens, insbesondere auf Basis einer eineindeutigen Signatur und/oder auf Basis eines von der LizenzServerkomponente zur Verfügung gestellten öffentlichen Schlüssels entschlüsselbar und/oder dahingehend überprüfbar ist/sind, ob die Zugriffsberechtigung auf die Applikation gegeben ist und/oder ob der Lizenztoken nicht modifiziert wurde. characterized in that the license token or licensing information decrypted by the resource component and / or the application based on cryptographic properties of the license tokens, in particular based on an unambiguous signature and / or on the basis of an application made by the license server component available public key and / or the effect checkable is / are, if the access permission is given to the application and / or whether the license token has not been modified.
7. Rechneranordnung nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, dass 7. Computer arrangement according to one of the two preceding claims, characterized in that
als kryptographische Infrastruktur eine Public- Key- Infrastruktur, insbesondere eine X.509 ba- sierte Public-Key-Infrastruktur einsetzbar ist und/oder realisiert ist. as cryptographic infrastructure a public-key infrastructure, in particular a base X.509-based public key infrastructure can be used and / or implemented.
8. Rechneranordnung nach einem der vorhergehenden Ansprüche und nach Anspruch 3 , dadurch gekennzeichnet, dass mittels der Ressourcenkomponente und/oder der 8. Computer arrangement according to one of the preceding claims and according to claim 3, characterized in that by means of resources component and / or the
Applikation ein kryptographischer Code, insbesondere ein Hash-Code, aus den zweiten Eingabedaten (5') und/oder aus von der Anwenderkompo- nente an die Ressourcenkomponente übermittelten Hardwaremerkmalen und/oder Informationen über den Anwender berechenbar und mit dem kryp- tographischer Code, insbesondere dem Hash-Code, der ersten Eingabedaten (5) , der Hardwaremerkmale (6) und/oder der Informationen über den zugriffsberechtigten Anwender des an den Lizenz - Serverkomponente übermittelten Lizenzdeskriptors, der mit dem Lizenztoken über die Anwenderkomponente an die Ressourcenkomponente übermittelt wurde, vergleichbar ist. Application, a cryptographic code, in particular a hash code from the second input data (5 ') and / or from the Anwenderkompo- component transmitted to the resource component hardware features and / or information about the user calculated in advance and with the cryptographic code, in particular the hash code, the first input data (5), the hardware features (6) and / or the information on the access-authorized users of the license - provided server component Lizenzdeskriptors, which was submitted with the license tokens on the user component to the resource component, comparable ,
9. Rechneranordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass 9. Computer arrangement according to one of the preceding claims, characterized in that
die ersten Eingabedaten (5) durch einen kryp- tographischen Code, insbesondere einen Hash- Code, repräsentiert sind und dieser mit dem und/oder gebunden an den Lizenzdeskriptor von der Anwenderkomponente an die Lizenzserverkomponente übermittelbar ist und/oder the first input data (5) through a cryptographic code, in particular a hash code representing this are and the and / or linked to the Lizenzdeskriptor of the user component to the license server component can be transmitted and / or
dass die zweiten Eingabedaten (5') oder Teile derselben zusammen mit dem und/oder gebunden an den Lizenztoken von der Anwenderkomponente an die Ressourcenkomponente übermittelbar sind. that the second input data (5 ') or parts thereof can be transmitted together with and / or bound to the license token from the user component to the resource component.
10. Rechneranordnung nach einem der vorhergehenden Ansprüche , 10. Computer arrangement according to one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
der Lizenzdeskriptor mit einer von einem auf die Anwenderkomponente zugriffsberechtigten Anwender gewünschten Lizenzdauer generierbar ist und/oder dass der Lizenztoken mit einer durch die Lizenz- serverkomponente bevorzugt auf Basis der gewünschten Lizenzdauer festgesetzten Lizenzdauer generierbar ist, wobei eine Lizenzdauer ein Zeitfenster definiert, während dessen eine Zugriffsberechtigung auf die Applikation gegeben ist. the Lizenzdeskriptor with a desired of an authorized access to the user component user license period can be generated and / or that the license token is a server component through the licensing preferably set based on the desired license period license period can be generated, with a license period defines a time window during which an access authorization is given on the application.
11. Rechneranordnung nach einem der vorhergehenden Ansprüche , dadurch gekennzeichnet, dass 11. Computer arrangement according to one of the preceding claims, characterized in that
durch die Ressourcenkomponente aus den zweiten Eingabedaten (5') mittels der Applikation Ausgabedaten (9) berechenbar und an die Anwenderkomponente übermittelbar sind. resources by the component from the second input data (5 ') by means of the application output data (9) are predictable and can be transmitted to the user component.
12. Rechneranordnung nach einem der vorhergehenden Ansprüche, 12. Computer arrangement according to one of the preceding claims,
dadurch gekennzeichnet, dass characterized in that
die ersten Eingabedaten (5) und die zweiten Eingabedaten (5') identisch sind. the first input data (5) and the second input data (5 ') are identical.
13. Rechneranordnung nach dem vorhergehenden Anspruch, 13. Computer arrangement according to the preceding claim,
dadurch gekennzeichnet, dass characterized in that
der Lizenzdeskriptor einen aus den Eingabedaten berechneten kryptographischen Code, insbesondere einen kryptographischen Hash-Code, umfasst, dass der Lizenzdeskriptor samt diesem Code von der Anwenderkomponente an die Lizenzserverkomponente übermittelbar ist, dass bei Vorliegen der Zugriffsberechtigung der Lizenzdeskriptor samt the Lizenzdeskriptor a calculated from the input data cryptographic code, in particular a cryptographic hash code includes, that the Lizenzdeskriptor including this code of the user component can be transmitted to the license server component that together in the presence of the access authorization of Lizenzdeskriptor
ύ Code in der LizenzServerkomponente kryp- tographisch signierbar und als Lizentoken mit eingebundenem, verschlüsselten kryptographisehen Code von der Lizenzserverkomponente an die An- Wenderkomponente und von dieser zusammen mit den ύ code in the license server component cryptographically signable and as Lizentoken with embedded, encrypted kryptographisehen code from the license server component to the arrival Wenderkomponente and from this, together with the
Eingabedaten an die Ressourcenkomponente übertragbar ist, dass von der Ressourcenkomponente und/oder der Applikation die kryptographisehe Signatur des Lizenzservers überprüfbar ist und aus den von der Anwenderkomponente an die Ressourcenkomponente übertragenen Eingabedaten auf dieselbe Art und Weise wie beim in dem Lizenzdeskriptor enthaltenen Code ein kryptographi- scher Code berechenbar ist, dass der aus dem Li- zenztoken stammende Code mit dem von der Ressourcenkomponente und/oder der Applikation berechneten Code vergleichbar ist und dass bei übereinstimmenden Codes die Zugriffsberechtigung der Eingabedaten, der Anwenderkomponente und/oder des Anwenders auf die Applikation erteilbar ist, wobei bevorzugt auch gegebenenfalls im Lizenztoken codierte und/oder enthaltene Einschränkungen, insbesondere eine Lizenzdauer, bei der Erteilung berücksichtigbar sind. is input data transmitted to the resource component, that of the resource component and / or the application, the kryptographisehe signature of the license server is verifiable and from the data transmitted from the user component to the resource component input data in the same manner as when contained in the Lizenzdeskriptor code of cryptographic code is predictable that a native of the Li- zenztoken code with the calculated from the resource component and / or the application code is comparable and that the access level of the input data, the user component and / or the user is grantable in matching codes to the application, wherein preferably also optionally encoded in the license token and / or contained restrictions, in particular a license period, are berücksichtigbar of issuance.
14. Rechneranordnung nach einem der vorhergehenden 14. Computer arrangement according to one of the preceding
Ansprüche, dadurch gekennzeichnet, dass nach einer durch die Applikation mit den zweiten Eingabedaten (5') durchgeführten Operation die Zeitdauer dieser Operation von der Ressourcenkomponente und/oder der Applikation dem Lizenztoken hinzufügbar und der Lizenztoken anschließend, gegebenenfalls zusammen mit Ausgabedaten (9) der Operation, von der Ressourcenkomponente an die Anwenderkomponente übertragbar ist. Claims, characterized in that after the application to the second input data (5 ') operation being performed, the time period of this operation from the resource component and / or the application the license token addable and the license token then, optionally together with output data (9) of the operation , can be transmitted from the resource component of the user component.
15. Rechneranordnung nach einem der vorhergehenden Ansprüche , dadurch gekennzeichnet, dass 15. Computer arrangement according to one of the preceding claims, characterized in that
mindestens zwei der drei Komponenten, also der at least two of the three components, ie, the
Anwenderkomponente, der LizenzServerkomponente und der Ressourcenkomponente, auf zwei voneinander getrennten, unterschiedlichen Rechnern ausbildbar sind und/oder ausgebildet sind und/oder als zwei voneinander getrennte, unterschiedliche User component, the license server component and the resource component, on two separate, different computers can be formed and / or formed and / or as two separate, different
Rechner ausbildbar sind und/oder ausgebildet sind. Calculator can be formed and / or are formed.
16. Rechneranordnung nach dem vorhergehenden Anspruch, 16. Computer arrangement according to the preceding claim,
gekennzeichnet durch marked by
drei voneinander getrennte Rechner, wobei die Anwenderkomponente auf einem Anwenderrechner (IPC) , die Lizenzserverkomponente getrennt davon auf einem Lizenzserver (2PC) und die Ressourcen- komponente getrennt vom Anwenderrechner (IPC) und vom Lizenserver (2PC) auf einem Ressourcenrechner (3PC) ausbildbar ist und/oder ausgebildet ist, und/oder wobei die drei Komponenten entsprechend als drei unterschiedliche Rechner ausbildbar sind und/oder ausgebildet sind oder three separate computers, the user component on a user's computer (IPC), the license server component separately on a license server (2PC) and the resource component separate from the user's computer (IPC) and the Lizenserver (2PC) on a resource calculator (3PC) can be formed and / or is formed, and / or wherein the three components are correspondingly than three different computers be formed and / or are formed or
durch zwei voneinander getrennte Rechner, wobei die Anwenderkomponente und die Ressourcenkomponente auf einem gemeinsamen Anwender- und Res- sourcenrechner und die Lizenzserverkomponente getrennt davon auf einem Lizenzserver ausbildbar ist und/oder ausgebildet ist, und/oder wobei die drei Komponenten entsprechend als zwei unterschiedliche Rechner ausbildbar sind und/oder ausgebildet sind by two separate computer, the user component and the resource component source computer to a common user and resources and the license server component of this product on a license server is separated formable and / or adapted and / or the three components corresponding to two different computers formable and / or are formed
oder durch zwei voneinander getrennte Rechner, wobei die Lizenzserverkomponente und die Ressourcenkomponente auf einem gemeinsamen Lizenzserverund Ressourcenrechner und die Anwenderkomponente getrennt davon auf einem Anwenderrechner ausbildbar ist und/oder ausgebildet ist, und/oder wobei die drei Komponenten entsprechend als zwei unterschiedliche Rechner ausbildbar sind und/oder ausgebildet sind. or by two separate computer, wherein the license server component and the resource component on a common license Serve round resources computer and the user component thereof on a user's computer is separately be formed and / or adapted and / or wherein the three components are correspondingly as two different computer formable and / or are formed.
17. Rechneranordnung nach einem der vorhergehenden Ansprüche , dadurch gekennzeichnet, dass 17. Computer arrangement according to one of the preceding claims, characterized in that
die Rechneranordnung mindestens zwei über ein lokales und/oder ein globales Netzwerk, insbe- sondere das Internet, verbundene Rechner, insbesondere PCs, umfasst. the computer system includes at least two via a local and / or global networks, particularly the Internet, connected computers, especially PCs, includes.
18. Zugriffssteuerungs- und Zugriffskontrollverfahren für eine Applikation in einer Rechneranordnung, 18 access control and access control method for an application in a computer arrangement,
wobei mindestens eine Anwenderkomponente (1) und eine Lizenzserverkomponente (2) zum bidirektionalen Datenaustausch miteinander eingerichtet werden, wherein at least one user component (1) and a license server component (2) are arranged with each other for bidirectional data exchange,
wobei mindestens eine Ressourcenkomponente (3) , die eine Applikation (4) steuert und/oder umfasst, zum bidirektionalen Datenaustausch mit der Anwenderkomponente ausgebildet wird, wobei von der Anwenderkomponente auf Basis von ersten Eingabedaten (5) für die Applikation, von Hardwaremerkmalen (6) der Anwenderkomponente und/oder von Informationen über einen auf die wherein at least one resource component (3) which controls an application (4) and / or comprises, is formed for bidirectional data exchange with the user component, from the user component based on first input data (5) for the application of hardware features (6) the user component and / or information about a to the
Anwenderkomponente zugriffsberechtigten Anwender (Ia) ein Lizenzdeskriptor (7) generiert wird, wobei dieser Lizenzdeskriptor an die Lizenzserverkomponente übermittelt und durch die Lizenz - Serverkomponente dahingehend überprüft wird, ob eine Zugriffsberechtigung der ersten Eingabedaten (5) , der Anwenderkomponente und/oder des Anwenders auf die Applikation gegeben ist, wobei bei Vorliegen dieser Zugriffsberechtigung von der Lizenzserverkomponente ein den Zugriff auf die Applikation ermöglichender Lizenztoken (8) generiert und an die Anwenderkomponente übermittelt wird, wobei durch die Anwenderkomponente der Lizenzto- ken oder auf diesem basierende Lizenzinformationen (8') sowie zweite Eingabedaten (5') für die Applikation an die Ressourcenkomponente übermittelt werden, und wobei der Lizenztoken oder die Lizenzinformatio- nen durch die Ressourcenkomponente und/oder die User component with access rights users (Ia) a Lizenzdeskriptor (7) is generated, said Lizenzdeskriptor transmitted to the license server component and the license - is checked to server component, whether access authorization of the first input data (5), the user component and / or the user on the application is given, is being generated in the presence of these access authorization from the license server component is an access to the application enables Direction license tokens (8) and transmitted to the user component, ken by the user component of Lizenzto- or based thereon license information (8 ') and second input data (5 ') are received for the application to the resource component, and wherein the license token or the license information by the resource component and / or the
Applikation dahingehend überprüft wird/werden, ob die Zugriffsberechtigung der zweiten Eingabedaten (5'), der Anwenderkomponente und/oder des Anwenders auf die Applikation gegeben ist. Application is checked to / be, whether the access authorization of the second input data (5 '), the user component and / or the user is given to the application.
19. Zugriffssteuerungs- und Zugriffskontrollverfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass das Verfahren mit einer Rechneranordnung nach einem der Ansprüche 1 bis 17 durchgeführt wird. 19, access control and access control method according to the preceding claim, characterized in that the method with a computer arrangement according to one of claims 1 to 17 is carried out.
20. Verwendung einer Rechneranordnung und/oder eines Zugriffssteuerungs- und Zugriffskontrollverfah- rens nach einem der vorhergehenden Ansprüchen für Applikationen, bei denen eine Zugriffskontrolle auf Basis von Anwenderinformationen und/oder Eingabedaten unabhängig von einer Net- werkverbindung zu einem Lizenzserver stattfinden soll, zur Durchführung von Simulationsrechnungen, insbesondere von Simulationsrechnungen in einer ein komplexes technisches System wie beispielsweise eine Anlage zur Energieerzeugung, ein medizinisches Röntgen- und/oder Bestrahlungssystem oder ein Fluidtransportsystem virtuell abbildenden Simulationsumgebung mit einem auf und/oder durch die Ressourcenkomponente ausgebildeten und/oder angesteuerten Simulationsprogramm als Applikation und/oder zum Management von Zugriffsmöglichkeiten in vir- tualisierten Umgebungen, insbesondere in VMWare- Umgebungen oder Xen-basierten Umgebungen. 20. Use of a computer arrangement and / or an access control and Zugriffskontrollverfah- procedure according to any preceding claims for applications in which access control based on user information and / or input data work connection independent of a net to be held to a license server, for performing simulations, especially of simulations in a complex technical system, such as a plant for power generation, a medical X-ray and / or radiation system or a fluid transport system virtual imaging simulation environment with an on and / or formed by the resource component and / or driven simulation program as an application and / or the management of access options in virtualized environments, especially in VMWare environments or Xen-based environments.
Description  translated from German  (OCR text may contain errors)

FRAUNHOFER-GESELLSCHAFT...eV 099PCT 0872 FRAUNHOFER SOCIETY ... eV 099PCT 0872

Rechneranordnung mit automatisierter Zugriffssteuerung von einer und Zugriffskontrolle auf eine Applikation sowie entsprechendes Zugriffssteuerungs- und Computer arrangement with automated access control of a control and access to an application and corresponding access control and

Zugriffskontrollverfahren Access control method

Die vorliegende Erfindung bezieht sich auf eine Rechneranordnung (nachfolgend alternativ auch als Rechnernetzwerk bezeichnet) mit automatisierter Zugriffssteuerung von und mit automatisierter Zugriffskontrolle auf eine oder mehrere Applikation (en) . The present invention relates to a computer arrangement (hereinafter alternatively referred to as a computer network) with automated access control and automated control access to one or more application (s). Die vorliegende Erfindung bezieht sich darüber hinaus auf ein entsprechendes Zugriffssteuerungs- und Zugriffskontrollverfahren. The present invention further relates to a corresponding access control and access control procedures.

Heutige Rechnernetzwerke überschreiten, insbesondere beim sog. Grid-Computing, die Grenzen von einzelnen Organisationen bei der Benutzung von Rechenressourcen. Today exceed computer networks, in particular the so-called. Grid computing, the boundaries of individual organizations in the use of computing resources. Die Nutzung von reiner Rechenzeit und von Speicherplatz findet heutzutage häufig nicht mehr nur in- nerhalb einer einzelnen Organisation, sondern auch bei anderen Organisationen, also durch die eigene Organisation bei Dritten statt. The use of pure computation time and memory space is no longer found today often held only within a single organization, but also with other organizations, so by the own organization with third parties. Hierdurch treten Fragestellungen zu Tage, wie die Zugriffssteuerung und die Zugriffskontrolle auf Applikationen bei fremden Orga- nisationen bzw. Dritten automatisch ermöglicht werden kann. This contact problems to light, such as access control and access control to applications in other organizations or third parties can be automatically enabled. Es ist insbesondere zu klären, in wiefern Lizenzen in einem solchen Rechnernetzwerk bzw. im Grid- Umfeld benutzt werden können. It should be clarified in particular, to what extent licenses in such a computer network or in the grid environment can be used. Unter einer Lizenz wird hierbei eine Erlaubnis eines Rechners der eigenen Or- ganisation (Anwenderrechner) und/oder eines Anwenders innerhalb der eigenen Organisation zum Zugriff auf ein Anwendungsprogramm bzw. eine Applikation, welche (s) auf einem anderen Rechner, insbesondere auf einem Ressourcenrechner, der von einer anderen Orga- nisation innerhalb des Rechnernetzwerkes zur Verfügung gestellt wird, installiert ist, verstanden. Under a license here is a permission of a computer of their own organization (user computer) and / or a user within the organization to access an application program or an application which (s) on another computer, in particular a resource calculator, is provided by another organization within the computer network available, installed, understood. Lizenzen erlauben somit den Zugriff auf entfernt installierte Applikationen. Licenses thus permit access to remove installed applications.

Grundsätzlich sind zwei Szenarien denkbar: Basically two scenarios are possible:

1. Der Anwender nutzt Lizenzen, die außerhalb der eigenen Organisation, also beim Ressourcenprovider bzw. auf einem entsprechenden Ressourcen- rechner, vorhanden sind. 1. The user uses licenses. Outside the organization, so the resource provider or on a corresponding resource calculator, are available

2. Der Anwender bringt eigene Lizenzen mit zum Ressourcenprovider bzw. zum Ressourcenrechner. 2. The user brings their own licenses with the resource provider or resource for computer.

Die gegenwärtig im Stand der Technik verwendeten automatisierten Zugriffssteuerungs- und Zugriffskontrollverfahren sehen dabei verschiedene Lizenzierungsmodelle vor, deren Realisierungen wie folgt zusammen gefasst werden können: 1. Eine Software bzw. Applikation wird mit einer sog. Node-Lock-Lizenz versehen, dh die Applikation wird an einen festen Rechner gebunden und kann nur dort benutzt werden. The automated access control and access control methods currently used in the art can see here various licensing models before, their realizations as follows can be summarized: 1. A software or application is provided with a so-called node-locked license, ie the application is. tied to a fixed computer and can only be used there. Diese Lizenzform erlaubt lediglich eine Nutzung vor Ort, dh in This type of license only permits use on site, ie in

Bezug auf Grid-Computing kann ein Anwender lediglich vorinstallierte Lizenzen verwenden. Terms of grid computing can only use pre-installed licenses a user. Eine Mitnahme einer eigenen Lizenz zum Ressourcenprovider ist somit nicht möglich. A driving license to a private resource providers is not possible.

2. Eine zweite technische Realisierung der Lizenzierung stellt die sog. Floating-Lizenz dar: Ein zentraler Server wird beim Lizenznehmer eingerichtet und mit der Anzahl der Lizenzen bzw. an- deren Vorgaben konfiguriert. 2. A second technical implementation of licensing represents the so-called floating license. A central server is set up with the licensee and configured with the number of licenses and other regulations. So fragt bei jeder auszuführenden Aufgabe (beispielsweise: Berechnungsjob) die Applikation (zB Simulations- oder Berechnungssoftware) bei diesem Zentralserver an, ob momentan eine freie Lizenz verfügbar ist. So asks at each task being performed (for example: calculating job), the application (eg simulation or calculation software) in this central server to whether currently a free license is available. Ist dies der Fall, kann diese Lizenz für die aktuell abzuarbeitende Aufgabe benutzt werden. If this is the case, this License for the task currently to be processed can be used. Ist keine freie Lizenz verfügbar, so wird die Aufgabe nicht abgearbeitet. If no license is available, the object is not processed.

3. Eine dritte Lizenzierungsform ist unter dem Namen „Named User" bekannt: Hierbei wird der Zugriff auf eine Applikation nur bestimmten Benutzern gestattet. Dabei wird die Applikation oft an den lokalen Benutzernamen gekoppelt. 3. A third form is licensing under the name "Named User" known: In this case the access to an application is allowed only to certain users this, the application is often linked to the local user name..

Offensichtlich ist eine Node-Lock-Lizenz nur für Ressourcenanbieter möglich, die eine feste Anzahl von Lizenzen für die Nutzung im Grid bereitstellen. Obviously, a node-locked license is only for resource providers that provide a fixed number of licenses for the use in the grid. Ein Anwender kann hier nicht seine eigene Lizenz übermit- teln. A user can not its own license stuffs deliv- here. Eine Nutzung einer Floating-Lizenz ist prinzipiell möglich. The use of a floating license is possible in principle. Die Lizenz kann beim Jobstart entweder von einem Lizenzserver des Anwenders oder des Ressourcenbetreibers abgerufen werden, unterliegt jedoch einigen Einschränkungen: The license can be accessed at job start either from a license server to the user or operator of the resource, but has some limitations:

1. Der Lizenzserver muss vom Ort der Berechnung aus erreichbar sein, damit beim Jobstart die Lizenz freigegeben werden kann. 1. The license server must be accessible from the place of calculation, so that the license can be released at the job start. Dies ist je nach Konfiguration der Netzwerkumgebung des Ressourcenproviders nicht gegeben und vor Beginn des Rechen- jobs auch nicht unbedingt überprüfbar. This is not the case, depending on the configuration of the network environment of the resource provider and before the beginning of computing and jobs not necessarily verifiable.

2. Zum Start des Rechenjobs muss der entsprechende Lizenzserver auch tatsächlich eine Lizenz vorhalten. 2. To start the computing jobs, the corresponding license server license is required to maintain in fact. Sollte ein Job keine Lizenz vorfinden, so wird er sich beenden, ohne die Berechnung durchzuführen. If a job find no license, he will quit without performing the calculation. Unter Umständen verliert der Anwender so diejenige Zeit, die der Job in einer Batchqueue gewartet hat. Under certain circumstances, the user loses so that time which has been waiting in a batch queue of the job. Eventuell fallen auch Kosten für die Reservierung der Ressourcen an. Fees may also costs for the reservation of resources.

Im Falle einer "Named User" -Lizenz muss die Identität eines Benutzers überprüft werden. In case of a "Named User" license needs a user's identity be verified. Dabei ergibt sich im Grid-Umfeld jedoch das Problem der Delegation: Der lokale Benutzer ist nicht notwendigerweise auch der Benutzer, der den Job abgeschickt hat. However, this results in the grid environment, the problem of the delegation: The local user is not necessarily the user who submitted the job. Im Prinzip wäre es möglich, den ursprünglichen Benutzer über sein Zertifikat beim Abschicken eines Jobs zu ermitteln - diese Funktionalität ist jedoch in keiner Grid- Middleware vorgesehen und daher nicht einfach zu imp- lementieren. In principle it would be possible to determine the original user on its certificate when submitting a job - but this functionality is in no grid middleware provided and therefore not easy to lementieren vaccination.

Ausgehend vom Stand der Technik ist es daher die Aufgabe der vorliegenden Erfindung, eine Rechneranordnung für die automatisierte Zugriffssteuerung und/oder Zugriffskontrolle von Applikationen zur Verfügung zu stellen, in welcher einfach, schnell, auf genau definierte Art und Weise und mit einem hohen Schutz gegen die Umgehung der Zugriffssteuerung bzw. Zugriffskontrolle die Steuerung des Zugriffs auf eine oder mehrere Applikationen durch an die Rechneranord- nung angeschlossene Anwenderrechner bzw. durch an der Rechneranordnung tätige Anwender möglich ist. Starting from the prior art, it is therefore an object of the present invention to provide a computer arrangement for automated access control and / or access control applications are available, in which quick, on well-defined manner and with a high level of protection against circumvention of access control and access control, the control of access to one or more applications by opening the Rechneranord- connected user's computer or by operating on the computing device users is possible. Aufgabe der vorliegenden Erfindung ist es darüber hinaus, ein entsprechendes automatisiertes Zugriffssteuerungsund Zugriffskontrollverfahren zur Verfügung zu stel- len. Object of the present invention, it is moreover, an appropriate automated Zugriffssteuerungsund access control procedures len to make available.

Diese Aufgabe wird durch die Rechneranordnung gemäß Patentanspruch 1 sowie durch das Zugriffssteuerungsund Zugriffskontrollverfahren gemäß Patentanspruch 18 gelöst. This object is achieved by the computer arrangement according to claim 1 and by the Zugriffssteuerungsund access control method according to claim 18th Vorteilhafte Ausgestaltungsformen der erfindungsgemäßen Rechneranordnung bzw. des erfindungsgemäßen Verfahrens lassen sich dabei den jeweiligen abhängigen Ansprüchen entnehmen. Advantageous embodiments of the inventive computer arrangement or the inventive method can be thereby found in the respective dependent claims. Vorteilhafte Verwendungen einer solchen Anordnung oder eines solchen Verfahrens sind in den Verwendungsansprüchen beschrieben. Advantageous uses such an arrangement or such a method are described in the use of claims.

Nachfolgend wird die vorliegende Erfindung zunächst allgemein beschrieben und dann anhand eines allgemein gehaltenen Ausführungsbeispiels vorgestellt. Hereinafter, the present invention will be described first generally and then presented on the basis of a commonly held embodiment. Dem schließt sich ein spezielles Ausführungsbeispiel, in dem eine konkrete Implementierung bzw. Ausgestaltung eines erfindungsgemäßen Rechnernetzwerkes bzw. Zugriffssteuerungs- und Zugriffskontrollverfahrens beschrieben ist, an. This is followed by a specific embodiment, in which a concrete implementation or configuration is described a computer network according to the invention or access control and access control procedure in.

Die konkrete Kombination der einzelnen Merkmale, wie sie in dem allgemeinen und dem speziellen Ausführungsbeispiel beschrieben ist, ist für die Ausführung der Erfindung nicht unbedingt notwendig, dh im Rahmen der vorliegenden Erfindung können einzelne Merk- male der gezeigten Kombination gemäß den unabhängigen Patentansprüchen auch in anderen Kombinationen verwirklicht werden bzw. realisiert sein. The specific combination of individual features, as described in the general and the specific embodiment, is the embodiment of the invention is not absolutely necessary, ie in the present invention, individual characteristics can paint the combination shown in the independent patent claims in other combinations are realized or to be realized.

Eine erfindungsgemäße Rechneranordnung mit automatisierter Zugriffssteuerung von einer und Zugriffskontrolle auf eine Applikation weist eine Anwenderkomponente, eine zum bidirektionalen Datenaustausch mit der Anwenderkomponente ausgebildete Lizenzserverkom- ponente und eine zum bidirektionalen Datenaustausch mit der Anwenderkomponente ausgebildete Ressourcenkomponente, die eine Applikation steuert, die als Teil einer Applikation ausgebildet ist oder auf der eine Applikation installiert ist, auf. A computer arrangement according to the invention with automated access control of a and control access to an application has a user component, for bidirectional data exchange designed with the user component Lizenzserverkom- component and for bidirectional data exchange designed with the user component resources component that controls an application that is formed as part of an application is or where an application is installed on. Selbstver- ständlich sind dabei in der Regel jeweils mehrere Anwenderkomponenten entsprechend mit der Lizenzserverkomponente und der (oder auch den mehreren) Ressourcenkomponente (n) verbunden. Of course each user several components are connected in accordance with the license server component and the (n) (or also several) resource component generally. Erfindungsgemäß ist auf Basis von der Anwenderkomponente auf Basis von ersten Eingabedaten für die Applikation und/oder von Hardware-Merkmalen der Anwenderkomponente ein Lizenzdeskriptor generierbar. According to the invention is based on the user component based on first input data for the application and / or on hardware characteristics of the user component, a Lizenzdeskriptor be generated. Dieser Lizenzdeskriptor ist dann an die Lizenzserverkomponente übermittelbar und durch letztere dahingehend überprüfbar, ob eine Zugriffsberechtigung der Anwenderkomponente, eines Anwenders und/oder der ersten Eingabedaten auf die Applikation gegeben ist. This Lizenzdeskriptor is then sent to the license server component transmittable and checkable by the latter, whether access authorization of the user component, a user and / or the first input data is given on the application. Bei Vorliegen einer solchen Zugriffsberechtigung ist dann von der Lizenzserverkomponente ein den Zugriff auf die Applikation ermög- lichender Lizenztoken generierbar und an die Anwenderkomponente übermittelbar. Where there is such access authorization is then from the license server component is an access to the application allows lichender license tokens can be generated and can be transmitted to the user component. Durch die Anwenderkomponente sind dann der Lizenztoken (oder auf diesem basierende Lizenzinformationen) sowie zweite Eingabedaten für die Applikation an die Ressourcenkomponente übermittelbar. By user component of the license token (or based on this license information) and second input data for the application to the resource component are then indirectly. Der Lizenztoken (oder die Lizenzinformationen) ist/sind dann durch die Ressourcenkomponen- te und/oder die Applikation dahingehend überprüfbar, ob die Zugriffsberechtigung der Anwenderkomponente, des Anwenders und/oder der zweiten Eingabedaten auf die Applikation gegeben ist. The license tokens (or the license information) is / are then te by Ressourcenkomponen- and / or the application checkable whether the access authorization, the user component of the user and / or the second input data is given on the application. Ist dies der Fall, dann kann die Applikation die ihr übermittelten zweiten If so, then the application can subsequently transmitted second

Eingabedaten verwenden, also beispielsweise mit diesen Eingabedaten Berechnungen durchführen und die Ergebnisse dieser Berechnungen an die Anwenderkomponente zurück übermitteln. using input data, so for example, using this input data to perform calculations and transmit the results of these calculations to the user component back.

In der Regel werden dabei die ersten Eingabedaten mit den zweiten Eingabedaten identisch sein (diese Daten werden daher nachfolgend meist auch vereinfacht als Eingabedaten ohne weitere Spezifikation bezeichnet) . As a rule, the first input data to the second input data are identical (this data is therefore hereinafter usually also simplified as input data without further specification refers). Es ist jedoch auch denkbar, dass der Anwender zunächst basierend auf ersten Eingabedaten für die Applikation einen Lizenzdeskriptor generiert, diesen dann an die Lizenzserverkomponente übermittelt und den dann auf Basis der ersten Eingabedaten generier- ten und zurück übermittelten Lizenztoken empfängt. However, it is also conceivable that the user first to the first input data for the application a Lizenzdeskriptor generated based, these then transmitted to the license server component and then receives on the basis of the first input data generier- th and returns transmitted license tokens.

Der Anwender kann dann die ersten Eingabedaten (beispielsweise wenn er feststellt, dass noch zusätzliche Berechnungen notwendig sind) durch andere für die Applikation geeignete Eingabedaten (zweite Eingabeda- ten) austauschen und diese dann, zusammen mit dem Lizenztoken (der einen solchen Austausch in diesem Falle zulässt) an die die eigentlichen Berechnungen durchführende Ressourcenkomponente übermitteln. The user can then the first input data (for example, if it finds that additional calculations are necessary yet) (th second Eingabeda-) by other suitable for the application input data exchange and then, together with the license token (one such exchange in this case permits) to the actual calculations transmit through leading resource component.

Die erfindungsgemäße Rechneranordnung kann insbesondere im Bereich der Simulation von technischen Systemen eingesetzt werden: Bei der Simulation solcher Systeme (zB bei der Simulation von medizinischen Röntgensystemen oder auch Therapiesystemen, bei- spielsweise Strahlentherapiesystemen) sind häufig bei der virtuellen Abbildung des entsprechenden techni- sehen Systems in einem Rechnersystem eine Vielzahl von Berechnungen (zB Monte Carlo-Simulationsrech- nungen oder ähnliches) notwendig, die, damit der Anwender nicht zu lange auf die Rechenergebnisse warten muss, auf mehrere einzelne Ressourcenkomponenten verteilt werden müssen. The computer arrangement according to the invention can be used in particular in the field of simulation of technical systems: In the simulation of such systems (eg in the simulation of medical X-ray systems or therapy systems, for example, radiation therapy systems) are often seen in the virtual image of the corresponding technical system in a computer system having a plurality of calculations (eg Monte Carlo simulation calculations or the like) required that, so the user must not wait too long on the calculation results, to be distributed among several individual resource components.

Wie dem Fachmann unmittelbar klar ist, können die einzelnen Komponenten je nach konkreter Systemanfor- derung sowohl als Software-Elemente, als auch als As the skilled artisan is readily apparent, the individual components may vary depending on the specific-ation Systemanfor- both software elements, as well as

Hardware-Elemente, oder als Software- und Hardware- Elemente ausgebildet sein. be hardware elements or as software and hardware elements. Wird von einem Client oder von einem Server gesprochen, so ist dies zB nicht einschränkend dahingehend zu verstehen, dass der Client als Software ausgebildet sein muss und der Server als Hardware (so kann beispielsweise ein Client als reine Software-Lösung realisiert sein, es kann sich dabei jedoch auch um ein Rechnersystem mit entsprechend installierten Komponenten handeln, usw. ) . When speaking of a client or a server, this is for example not restrictive to be understood that the client be configured as software needs and the server as hardware (so, for example, a client be realized as a pure software solution, it may be but also involve a computer system with appropriately installed components, etc.).

In der Regel werden die einzelnen Komponenten, also die Anwenderkomponente (n) , die Ressourcenkomponente (n) und die Lizenzserverkomponente jeweils auf ge- trennten, separaten Einzelrechnern installiert sein (bzw. als entsprechende Einzelrechner ausgebildet sein) . In general, the individual components, ie the user component (s), the resource component (s) and the license server component are each separated on GE, separate individual computers installed (or be configured as a corresponding single computer). Es ist jedoch alternativ dazu auch möglich, mehr als eine Komponente auf ein und demselben Einzelrechner (zB PC) auszubilden: So können bei- spielsweise eine Anwenderkomponente und eine Ressourcenkomponente auf einem gemeinsamen Anwender- und Ressourcenrechner installiert sein. However, it is alternatively also possible for more than one component on the same single computer (eg PC): Thus, for example, a user component and a resource component to be installed on a common user and resource computer. Ebenso ist es denkbar, die Lizenzserverkomponente und eine Ressourcenkomponente auf einem gemeinsamen Lizenzserver- und Ressourcenrechner auszubilden. It is also conceivable to construct the license server component and a resource component on a common license server and resource calculator. Im ersten Fall ist dann die Lizenzserverkomponente auf einem Lizenzser- ver getrennt vom Anwender- und Ressourcenrechner ausgebildet. In the first case, the license server component is then formed on a license server separate from the user and resource computer. Im zweiten Fall ist dann mindestens eine Anwenderkomponente getrennt vom Lizenzserver- und Ressourcenrechner auf einem separaten Einzelrechner ausgebildet, der dann über ein Netzwerk (beispielsweise das Internet) mit dem gemeinsamen Lizenzserverund Ressourcenrechner verbunden ist. In the second case, at least one user component separated from the license server and resource computer on a separate single system is then formed, which is then transmitted via a network (eg the Internet) connected to the common license Serve Round resources computer.

Im Rahmen der weiteren Beschreibung der Erfindung werden daher nachfolgend die folgenden Synonyme verwendet (jede Nummer bezeichnet synonym verwendete Ausdrücke) : As part of the further description of the invention, therefore, the following synonyms are used below (each number called synonymously used expressions):

1. Rechneranordnung, Rechnernetzwerk, Grid-Umgebung und Grid-Umfeld; 1. Computer arrangement, computer network, grid environment and grid environment;

2. Anwenderkomponente, Anwenderrechner, Anwender, Lizenznehmer, Client, Anwenderclient und Benutzerclient; 2. user component user's computer, users, licensees, client, user client and user client;

3. Lizenzserverkomponente, Lizenzserver, Lizenzgeber und Hersteller einer Applikation bzw. Software ; 3. License Server component, license server, licensors and manufacturers of an application or software;

4. Ressourcenkomponente, Ressourcenrechner, Ressourcenprovider, Ressourcenanbieter und Berech- nungsbackend; 4. Resource component resources computers, resource providers, resource provider and calculation backend;

5. Lizenztoken, Token und Lizenz. 5. license tokens, tokens and license.

Bei der vorliegenden Erfindung werden die Lizenztoken somit vorteilhafterweise je nach Bedarf erzeugt und in den entsprechenden Dateien gespeichert, dh sie können auf andere Rechner transferiert werden. In the present invention, the license tokens are thus advantageously generated as needed and stored in the corresponding files, ie they can be transferred to other computers. Dabei ist, wie nachfolgend noch beschrieben wird, kein Missbrauch zu befürchten. It is as will be described below, to fear no abuse. Es sind die folgenden Einsatzszenarien realisierbar: There are the following scenarios possible:

1. Der Lizenztoken wird an eine Eingabedatei für eine Applikation gekoppelt. 1. The license token is coupled to an input file for an application. Die Lizenz bezieht sich dabei bevorzugt auf die Verwendung der Applikation mit genau dieser Eingabedatei (wie vorbeschrieben, ist es jedoch auch möglich, die Lizenz auf Verwendung der Applikation mit anderen, gegebenenfalls ausgetauschten oder ergänz - ten Eingabedaten zu beziehen) . The license relates preferably to the use of the application with exactly this input file (as described above, however, it is also possible for the license to use the application with another, optionally exchanged or complementary - to relate th input data). Beispielsweise können Batch- Programme als Eingabedatei verwendet werden. For example, batch programs can be used as an input file.

2. Daneben (oder auch zusätzlich) kann das erfin- dungsgemäße System auch zur dynamischen Zuweisung von Floating-Lizenzen verwendet werden. 2. In addition (or additionally), the inventive system can also be used for dynamic allocation of floating licenses. Dabei wird die Lizenz nicht an eine Eingabedatei, sondern an die lokale Hardware gebunden. The license is not bound to an input file, but at the local hardware. So kann beispielsweise ein Benutzer eines Pre-Processing Tools für ein Simulationsprogramm für eine For example, a user of a pre-processing tools for a simulation program for a

Dienstreise eine Lizenz für sein Notebook erstellen, welche dann an die Hardware des Notebooks (CPU-ID, MAC-Adresse etc.) gebunden ist. Create a business trip a license for his laptop, which is then tied to the hardware of the notebook (CPU ID, MAC address, etc.).

Im Folgenden wird die vorliegende Erfindung zunächst anhand der Verknüpfung von Lizenzen mit den Eingabedaten beschrieben. Hereinafter, the present invention is first described with reference to the combination of licenses with the input data. Danach werden kurz die notwendigen Anpassungen für Hardware-gebundene Lizenzen beschrieben. After the necessary adjustments for hardware-locked licenses are briefly described. Es folgt ein spezielles Ausführungsbeispiel mit einem konkreten Systementwurf sowie mit einer konkreten Umsetzung. The following is a specific example of a specific system design as well as a concrete implementation.

Es zeigen: Show it:

Figur 1 eine erfindungsgemäße Rechneranordnung, bei der die Anwenderkomponente, die Lizenzser- verkomponente und die Ressourcenkomponente jeweils als separate Einzelrechner realisiert sind (und daher auch so bezeichnet werden) in Übersicht; 1 shows a computer arrangement according to the invention, wherein the user component Lizenzser- verkomponente and resource component are each implemented as separate computer (and are therefore also referred to above) in overview;

Figur 2 ein Beispiel für einen Lizenzdeskriptor; Figure 2 is an example of a Lizenzdeskriptor;

Figur 3 die Architektur eines konkret implementierten Lizenzdienstes in einem erfindungsgemä- ßen Rechnernetzwerk; Figure 3 shows the architecture of a concretely implemented license service in an inventive computer network;

Figur 4 eine konkrete Implementierung eines Lizenzdeskriptors . Figure 4 is a concrete implementation of a Lizenzdeskriptors.

Figur 1 zeigt ein Beispiel für den grundlegenden Aufbau eines erfindungsgemäßen Rechnernetzwerkes mit automatisierter Zugriffssteuerung und Zugriffskontrolle. Figure 1 shows an example of the basic structure of a computer network according to the invention with automated access control and access control. Das Netzwerk weist einen als PC IPC ausgebildeten Anwenderrechner 1 auf (der die Anwenderkompo- nente bildet) , der zum bidirektionalen Datenaustausch mit einem als PC 2PC ausgebildeten Lizenzserver 2 (der die Lizenzserverkomponente bildet) ausgebildet ist (Pfeile oben) . The network has a designed as a PC IPC user computer 1 to (forming the Anwenderkompo- component) used for bidirectional data exchange with a PC configured as a 2PC license server 2 (which forms the license server component) is formed (arrows above). Darüber hinaus ist der Anwenderrechner 1 auch zum bidirektionalen Datenaustausch mit einem als PC 3PC ausgebildeten Ressourcenrechner 3, der die Ressourcenkomponente bildet, ausgebildet (Pfeile unten im Bild) . Moreover, the user computer 1 and for bidirectional data exchange with a PC configured as 3PC resources computer 3, which is the resource component, formed (arrows at the bottom of the picture). Auf dem Ressourcenrechner ist eine Applikation 4 installiert, hier ein Simulationsprogramm, welches auf Basis von Eingabedaten Simula- tionsrechnungen durchführt. On the resource hosts an application 4 is installed, here a simulation program that performs on the basis of input data simulation calculations.

In Figur 1 ist lediglich ein Anwenderrechner 1 gezeigt, es ist jedoch selbstverständlich auch möglich, eine Vielzahl entsprechend ausgebildeter Anwender- rechner jeweils zum bidirektionalen Datenaustausch mit dem Lizenzserver zu verbinden. 1 shows a user computer 1 is only shown, but it is of course also possible to connect a plurality of correspondingly constructed user computer each for bidirectional data exchange with the license server. Darüber hinaus ist es ebenso möglich, eine Vielzahl von Ressourcenrechnern 3 statt des lediglich einen gezeigten Ressourcenrechners zur Verfügung zu stellen, mit denen dann die Anwenderrechner jeweils zum bidirektionalen Da- tenaustausch verbindbar sind. Moreover, it is also possible to provide a variety of resources computers 3 instead of only one resource computer shown is available, with which the user's computer are connected data exchange then each for bidirectional data. Ein Anwenderrechner kann dabei mit mehreren Ressourcenrechnern verbunden werden oder umgekehrt . A user's computer can be connected to multiple computers resources or vice versa.

Im Anwenderrechner 1 sind Eingabedaten 5 gespeichert, die so ausgebildet sind, dass die Applikation 4 mit ihnen zum Start einer Simulationsrechnung und zum Übermitteln der entsprechenden Simulationsergebnisse veranlasst werden kann. In user's computer 1 input data 5 is stored, which are designed such that the application 4 can be made at the start of a simulation calculation and to transmit the corresponding simulation results with them. Aus diesen Eingabedaten 5 generiert der Anwenderrechner 1 einen Lizenzdeskriptor 7. Dies geschieht im vorliegenden Fall dadurch, dass der Anwenderrechner 1 aus den Eingabedaten 5 einen kryptographischen Code in Form eines Hash-Codes berechnet. From these input data 5 of the user's computer generates a 1 Lizenzdeskriptor 7. This is done in the present case in that the user computer 1 calculated from the input data 5 a cryptographic code in the form of a hash code. Dieser berechnete Code wird dann zusammen mit Anwenderidentifikationsdaten, die der Identifika- tion des Anwenderrechners 1 und eines an ihm tätigen This calculated code is then combined with the user identification data, the identification of the user's computer 1 and an agent working on him

Anwenders Ia dienen, zu dem Lizenzdeskriptor zusammen gefasst . User Ia used, taken to the Lizenzdeskriptor together.

Alternativ oder kumulativ dazu ist es jedoch auch möglich, dass der Anwenderrechner 1 basierend auf Hardware-Merkmalen 6 des Anwenderrechners und/oder Informationen über den Anwender Ia (beispielsweise auf Basis einer CPU- Identifikationsnummer der CPU des Anwenderrechners oder einer MAC-Adresse des Anwender- rechners) einen kryptographischen Code in Form eines Alternatively or in addition, however, it is also possible that the user's computer 1 based on hardware features 6 of the user's computer and / or information about the user Ia (eg, based on a CPU ID number of the CPU of the user's computer or a MAC address of the user computer) a cryptographic code in the form of a

Hash-Codes berechnet. Hash codes calculated. Ebenso wie vorbeschrieben, kann dann dieser kryptographische Code mit Anwenderidentifikationsdaten zum Lizenzdeskriptor zusammengefasst werden. Similarly as described above, then this cryptographic code can be summarized with user identification data for Lizenzdeskriptor. Zudem werden dem Lizenzdeskriptor Daten hinzugefügt, die notwendig sind, um dem Lizenzserver 2 zu ermöglichen, festzustellen, ob für die entsprechenden Einga- bedaten 5 eine Zugriffsberechtigung des Anwenderrechners (bzw. des Anwenders) auf die Applikation 4 gegeben ist. In addition, the Lizenzdeskriptor be added data that is necessary to enable the license server 2, to determine whether the corresponding Einga- bedaten 5 permission to access the user's computer (or the user) is given on the application. 4

Im vorliegenden Fall wird lediglich der aus den Ein- gabedaten 5 berechnete Hash-Code vom Anwenderrechner In the present case is only calculated from the Input data from 5 hash code from the user's computer

1 an den Lizenzserver 2 übermittelt. 1 transmitted to the license server. 2 Es ist jedoch auch möglich, zusätzlich zu diesem Hash-Code auch die Eingabedaten 5 selbst an den Lizenzserver 2 zu übermitteln (so dass diese dann für weitere Prüfungen etc. verwendet werden können) . However, it is also possible, in addition to this hash code, the input data 5 itself to be transmitted to the license server 2 (so that they can then be used for further testing, etc.).

Der Lizenzdeskriptor 7 wird dann an den Lizenzserver The Lizenzdeskriptor 7 is then applied to the license server

2 übermittelt, der die vorbeschriebene Zugriffsberechtigung überprüft. 2 received, checks the prescribed access. Ist eine entsprechende Zugriffsberechtigung gegeben (was der Lizenzserver 2 zB anhand einer vorab gespeicherten Tabelle mit Anwenderrechner- oder Kundendaten und Daten zur der Applikation 4 überprüfen kann) , so verschlüsselt der Lizenzserver 2 den Lizenzdeskriptor 7 kryptographisch mit einem geheimen Schlüssel einer Public-Key-Infra- struktur (beispielsweise einer X.509-basierten Public -Key- Infrastruktur) und bildet mittels dieser Verschlüsselung aus dem gegebenenfalls geeignet ange- passten oder ergänzten Lizenzdeskriptor 7 einen Li- zenztoken 8. Da eine entsprechende Zugriffsberechtigung auf die Applikation 4 gegeben ist, wird dieser Lizenztoken 8 anschließend vom Lizenzserver 2 zurück an den Anwenderrechner 1 übertragen. Is there an appropriate access permission given (which the license server can check 2 as the basis of a pre-stored table with Anwenderrechner- or customer data and data for the application 4), the license server 2 encrypts the Lizenzdeskriptor 7 cryptographically with a secret key of a public key infra - structure (for example, an X.509-based Public -Key- infrastructure) 8. Since an appropriate access authorization is given on the application forms and 4 by means of encryption from the optionally fitted suitable to make or supplemented Lizenzdeskriptor 7 zenztoken a license, will this license tokens 8 then transmitted back to the user computer 1 from the license server. 2 Im Anwenderrechner 1 werden dann die zum Start der Simulationsrech- nungen mittels der Applikation 4 zu verwendenden Eingabedaten 5' mit auf dem Lizenztoken 8 basierenden LizenzInformationen 8' verbunden und an den Ressourcenrechner 3 übermittelt. then the voltages to start the simula- means of application 4 to use input data 5 'with license information 8 based on the license token 8' and transmitted to the computer resources 3 In the user's computer. 1 Im vorliegenden Fall werden vom Anwender des Anwenderrechners 1 diejenigen Eingabedaten zum Start des Simulationsvorganges der Appli- kation 4 vorgesehen, aus denen auch der Hash-Code des Lizenzdeskriptors berechnet wurde. In this case, those input data to start the simulation process the appli- cation provided 4 of which also the hash code Lizenzdeskriptors was calculated by the user of the user's computer. 1 Die Daten 5 entsprechen also den Daten 5' (Datengleichheit ist in der Figur durch 5' =5 gekennzeichnet) . The data thus corresponds to the data 5 5 '(data equality is in the figure by 5' = 5 in). Auch wird der Lizenztoken 8 selbst als diejenige Lizenzinformation 8' verwendet, die an den Ressourcenrechner 3 übertragen wird. Also, the license token 8 is itself 'uses than that license information 8 that is transmitted to the computer resources. 3 Dies ist durch 8 '=8 gekennzeichnet. This is characterized by 8 '=. 8

Der vom Anwenderrechner 1 an den Ressourcenrechner 3 übermittelte Lizenztoken 8 wird dann durch die Appli- kation 4 im Ressourcenrechner 3 dahingehend überprüft, ob eine Zugriffsberechtigung der Eingabedaten 5 des Anwenderrechners 1 auf die Applikation 4 gegeben ist. The proposal submitted by the user computer 1 to the resource computer 3 license tokens 8 is then cation by the appli- 4 examined to assess whether an access level of the input data 5 of the user's computer 1 to the application 4 is given in the resource computer. 3 Hierzu wird der Lizenztoken 8 durch die Applikation mittels des öffentlichen Schlüssels der oben erwähnten Public-Key-Infrastruktur (der vom Lizenzserver zur Verfügung gestellt wird und bereits im Ressourcenrechner 3 abgespeichert wurde) zunächst entschlüsselt und dann entsprechend geprüft. For this purpose, the license token 8 is by the application using the public key of the aforementioned public key infrastructure (which is provided by the license server and is already stored in the computer resource 3) are decrypted and then tested accordingly. Zusätzlich wird durch den Ressourcenrechner (oder auch durch die Applikation selbst) ein kryptographischer Code in Form eines Hash-Codes auf dieselbe Art und Weise aus den Eingabedaten 5 berechnet wie im Anwenderrechner 1. Dieser im Ressourcenrechner 3 berechnete Hash-Code wird dann mit dem Hash-Code verglichen, der im Lizenzdeskriptor 7 zunächst vom Anwenderrechner 1 an den Lizenzserver 2 und dann im verschlüsselten Lizenzdeskriptor, also im Lizenztoken 8, vom Lizenzserver 2 über den Anwenderrechner 1 an den Ressourcenrechner 3 übermittelt wurde. In addition, by the resource computer (or by the application itself), a cryptographic code in the form of a hash code in the same way from the input data 5 is calculated as the user computer 1. This calculated the resource computer 3 hash code is then encrypted with the hash compared code, which was first transmitted to the resource computer 3 in Lizenzdeskriptor 7 from the user computer 1 to the license server 2, and then the encrypted Lizenzdeskriptor, so the license token 8, the license server 2 on the user computer. 1 Nur wenn diese beiden Hash-Codes übereinstimmen (und nach erfolgreicher Entschlüsselung und Überprüfung des Lizenztokens 8 mit dem öffentlichen Schlüssel) , startet die Applikation 4 mit den übermittelten Eingabedaten 5 ihre Simulationsrechnung. Only if these two hash codes match (and after successful decryption and verification of license tokens 8 with the public key), the application 4 starts with the transmitted input data 5 their simulation calculation. Die durch die Applikation aus den Eingabedaten 5 berechneten Ausgabedaten 9 (Simu- lationsergebnisse) werden dann vom Ressourcenrechner 3 an den Anwenderrechner 1 übertragen. The calculated through the application of the input data 5 output data 9 (simulation results) are then transmitted from the computer resource 3 on the user's computer. 1

Im beschriebenen Fall geschieht die bidirektionale Datenübertragung zwischen den Einheiten 1, 2 und 3 im Rahmen des erfindungsgemäßen Rechnernetzwerkes über das Internet. In the described case, the bi-directional data transfer between the units 1, 2 and 3 takes place as part of the computer network according to the invention via the internet. Es kann jedoch selbstverständlich auch ein lokales Rechnernetzwerk (Intranet innerhalb einer Organisation) eingesetzt werden. However, it can of course also a local computer network (intranet within an organization) are used.

Im Rahmen des beschriebenen Ausführungsbeispiels ist es auch möglich, dass der Lizenzdeskriptor 7 vom Anwenderrechner 1 mit einer vom Anwender gewünschten Dauer für die Lizenz für die Applikation 4 generiert wird. As part of the described embodiment, it is also possible that the Lizenzdeskriptor 7 generated by the user computer 1 at a desired by the user life of the license for the application. 4 Der Lizenzdeskriptor 7 wird dann mit dieser Information an den Lizenzserver 2 übertragen, der feststellt, ob eine gewünschte Lizenzdauer möglich ist (dies kann beispielsweise anhand eines Anwenderkontos eines Anwenders 1 auf dem Lizenzserver 2 geschehen) . The Lizenzdeskriptor 7 is then transmitted this information to the license server 2, which determines whether a required license duration is possible (this can for example be done using a user account, a user 1 on the license server 2). Der Lizenztoken 8 wird dann vom Lizenzser- ver 2 mit einer entsprechend festgesetzten Lizenzdauer generiert. The license tokens 8 is then generated by the license server 2 with a license period corresponding set. Die Lizenzdauer ist dabei so definiert, dass mit ihr dem Ressourcenrechner 3 letztendlich ein Zeitfenster übermittelt wird, während dessen die Applikation 4 auf Basis der Eingabedaten 5 Simulations- rechnungen durchführen kann. The license period is defined such that with it the resources computer 3 ultimately a time slot is transmitted, during which the application can perform 4 5 simulation calculations based on the input data.

Darüber hinaus ist es auch möglich, nach Durchführung der Simulationsrechnungen durch die Applikation 4 dem Lizenztoken 8 die Zeitdauer, die die Simulationsrech- nungen auf dem Ressourcenrechner 3 benötigt haben, hinzuzufügen und den entsprechend ergänzten Lizenzto- ken 8 zusammen mit den Ausgabedaten 9 zurück an den Anwenderrechner 1 zu übertragen. Moreover, it is also possible to have needed the period of time which openings the simula- on the resource computer 3 after performing the simulation calculations by the application 4 to the license token 8, add, and the correspondingly supplemented Lizenzto- ken 8 together with the output data 9 back to the to transfer user's computer. 1

Wenn somit der Anwender 1 seine Eingabedatei 5 für einen Rechenjob an einen externen Ressourcenprovider Thus, when the user 1 its input file 5 for a computing job to an external resource providers

4 übertragen möchte, muss er beim Hersteller der Software bzw. beim Lizenzserver einen Lizenztoken 8 für seine Eingabedaten erstellen lassen. wants to transmit 4, he has to create a license tokens 8 for its input data from the manufacturer of the software or the license server. Der Hersteller sichert über diesen Mechanismus zu, dass für die- se Berechnung eine Lizenzvereinbarung existiert. The manufacturer shall undertake via this mechanism that for this calculation se there is a license agreement. Der Lizenztoken 8 wird dann zusammen mit den Eingabedaten The license token 8 is then combined with the input data

5 an den Ressourcenprovider 3 weitergeleitet. 5 forwarded to the resource provider. 3 Beim Start der Applikation 4 kann diese dann den Lizenztoken prüfen und die Berechnungen ausführen. At the start of the application 4 this can then check the license token and perform the calculations.

Eine sichere Implementierung muss va Schutz vor Manipulationen bieten bzw. die Wiederverwendung von Schlüsseln für andere Berechnungen verhindern. A secure implementation must especially protect against tampering and prevent reuse of keys for other calculations. Dies kann beispielsweise einfach durch die Verwendung ei- ner X.509-basierten Public-Key-Infrastruktur (PKI) erreicht werden: Der Lizenznehmer erstellt einen Lizenzdeskriptor für die Eingabedaten, indem er einen kryptographischen Hash der Eingabedaten zum Lizenzgeber schickt. This can, for example, simply by using one ner X.509-based public key infrastructure (PKI) can be achieved: Licensee creates a Lizenzdeskriptor for the input data, by sending a cryptographic hash of the input data to the licensor. Gleichzeitig fügt der Lizenznehmer der Anfrage auch einen Deskriptor mit weiteren Daten zur eigenen Person (Anwenderidentifikationsdaten) bei . At the same time, the licensee of the request adds even a descriptor with additional data about themselves (user identification data). Auf dieser Basis kann der Lizenzgeber dann beispielsweise entscheiden, ob der Lizenznehmer bereits bekannt ist und ob ihm die Zugriffsberechtigung gegeben werden kann. On this basis, the licensor may decide if the licensee is already known and whether it can be given the access permission then, for example. Eventuell können hier auch Angaben zur Art der gewährleisteten Lizenz übertragen werden. Possibly also information on the type of legal license can be transferred here.

Ein Beispiel für einen solchen Lizenzdeskriptor 7 ist in Figur 2 gegeben. An example of such a Lizenzdeskriptor 7 is given in Fig. 2 Die entsprechenden Angaben müssen natürlich beim Lizenzgeber verarbeitet werden können. The relevant information must of course can be processed to the licensor. Sollte die Prüfung der Kundenanfrage den Anforderungen des Lizenzgebers genügen, so unterzeichnet er den Lizenzdeskriptor 7 mit seinem geheimen X.509- Schlüssel und schickt diesen als Lizenztoken 8 zum Lizenznehmer 1 zurück. If consideration of the customer request satisfy the requirements of the licensor, he signed the Lizenzdeskriptor 7 with his secret X.509 key and sends it back as a license tokens 8 for licensees. 1

Der Lizenznehmer 1 überträgt dann seine Daten zusammen mit dem Lizenztoken 8 zu einem Ressourcenanbieter 3. Dieser hat zwar beispielsweise die Software des Lizenzgebers installiert, besitzt jedoch uU selbst keine Lizenz dafür. Licensee 1 then transmits its data along with the license tokens 8 to a resource provider 3. This has indeed example installs the software by the licensor but may itself has no license for it.

Der Job wird ganz normal über ein Batchsystem gestartet. The job is started as normal using a batch system. Die Applikation prüft nun mit Hilfe des öffent- liehen Schlüssels des Lizenzgebers den Lizenztoken und hat damit eine Vorbedingung für die Gültigkeit der Lizenz abgesichert. The application checks now using the public key of the licensor borrowed the license token and thus secured a precondition for the validity of the license. (Hier wird geprüft, ob der Lizenztoken tatsächlich vom Lizenzserver ausgestellt wurde,- die Prüfung, ob die Lizenz im Anschluss auch für diese Eingabedaten gilt, wird wie nachfolgend beschrieben durchgeführt.) Dann berechnet sie den kryp- tographischen Hash der Eingabe und vergleicht ihn mit dem signierten Hash aus dem Lizenztoken. (Here it is checked whether the license token was actually issued by the license server, - examining whether the license is valid in connection for these input data, is performed as described below.) Then it computes the cryptographic hash of the input and compares it with the signed hash of the license tokens. Dies ist möglich, da der Lizenzdeskriptor mit dem von Anwender generierten Hash an den Lizenzserver übermittelt wird, dort in den Lizenztoken übernommen wird und anschließend an den Anwender- und den Ressourcenrechner übermittelt wird. This is possible because the Lizenzdeskriptor is transmitted with the generated hash of the user to the license server, is passed on to the license token and is then transmitted to the user and the resource computer. Sollten diese übereinstimmen, dann liegt eine gültige Lizenz für diese Eingabedaten vor und die Berechnung kann starten. If they match, then there is a valid license for this input data and the calculation can start.

Der Lizenzserver prüft somit, ob der Anwender Ia die Applikation benutzen darf. The license server checks thus, whether the user is allowed to use the application Ia. Dabei wird ein beispielsweise von den Applikationsdaten/Eingabedaten abhängi- ger Lizenztoken erstellt. Here, a abhängi- example of the application data / input data ger license token is created. Der Anwenderrechner muss diesen Lizenztoken prüfen, um das Vorliegen einer korrekten Lizenz für die gegebenen Eingabedaten sicherzustellen. The user's computer must examine these license tokens to ensure the existence of a valid license for the given input data. Der Grund hierfür ist, dass der Ressourcenrechner und der Lizenzserver keine Kenntnis voneinander haben, dh es muss zum Zeitpunkt des Re- chenjobstarts keine Kommunikation nach außen erfolgen: Die Lizenzprüfung kann rein mit lokal vorhandenen Daten erfolgen. The reason for this is that the resource computer and the license server are not aware of each other, ie it must chenjobstarts made at the time of re no communication to the outside: The license check can be carried out purely with locally available data. Im vorliegenden Fall müssen somit mehrere Bedingungen zutreffen, damit eine Lizenz für die Eingabedaten gültig ist (Prüfverfahren, das durch die Applikation und/oder den Ressourcenrechner durchgeführt wird) : In the present case must therefore several conditions be met for a license for the input data is valid (test method which is performed by the application and / or resource calculator):

1. korrekte Signatur des Lizenztokens (der Token selbst ist unmodifiziert) ; 1. correct signature of the license token (the token itself is unmodified);

2. der Token bezieht sich auf die Eingabedaten (hier: die Hash-Codes stimmen überein) und 2. the token refers to the input data (here: the hash codes match) and

3. eventuell im Lizenztoken kodierte Einschränkun- gen (zB dass die Berechnungen nur auf einer 3. possibly the license tokens coded restrictions (eg that the calculations only on a

CPU des Ressourcenrechners ausgeführt werden dürfen) sind erfüllt. allowed to run CPU resource computer) are met.

Es ist somit für den Lizenzgeber sehr einfach, anwen- derindividuelle Lizenztoken in einem automatisierten Verfahren zu generieren. It is therefore very easy for the licensor applica--individual license tokens in an automated process to generate. Dieser Schritt kann zB auch direkt in die Preprocessing-Tools der Lizenzgeber integriert werden. This step can for example also be integrated directly into the pre-processing tools of the licensor. Es kann eine Art "Archiv" für die Submission zu einem Ressourcenprovider erstellt werden, welches neben den Eingabedaten auch die Lizenz für die Applikation beinhaltet. It can be a kind of "archive" for submission to a resource provider to be created, which includes the license for the application in addition to the input data. Der Lizenznehmer muss dann nur dieses Archiv zum Ressourcenprovider schicken. Licensee must then send to the resource provider only this archive.

Aus Sicht der Ressourcenprovider bietet dieses Lizenzierungsverfahren den Vorteil, dass die Applikation aus den Eingabedaten selbst die Lizenz prüft. From the perspective of resource providers this licensing process offers the advantage that the application itself checks the license from the input data. Es ist nicht nötig, eine permanente Applikationslizenz vorzuhalten oder eine entsprechende Netzwerkkonfiguration für den Lizenzserver jedes Kunden zu pflegen. There is no need to reproach a permanent license application or to maintain an appropriate network configuration for the license server every customer. Im Falle eines fehlgeschlagenen Jobs (zB durch Rechnerausfälle) kann der Provider auch selbstständig den Job neu starten, ohne auf eine Lizenz warten zu müssen. In case of a failed job (eg computer failure cases) the provider can also automatically restart the job, without having to wait for a license.

Der Anwender hat bei dieser Lösung den zusätzlichen Schritt der Lizenzgenerierung zu tragen, der jedoch komplett in Software abgewickelt werden kann. The user of this solution to take the additional step of license generation, however, can be handled completely in software. In Bezug auf das Handling der Eingabedaten empfiehlt es sich, innerhalb der Preprocessing-Tools eine Archiv- datei zu generieren, um den Transfer zum Ressourcenprovider einfach zu halten. Regarding the handling of the input data, it is advisable within the preprocessing tools file to generate an archive, simply to keep the transfer to the resource provider.

In Ergänzung zum Binden der Lizenztoken an eine Eingabedatei ist es auch möglich, die Lizenz an andere Gegebenheiten zu binden. In addition to binding the license token to an input file, it is also possible to bind the license to other circumstances. Das Verfahren bleibt dabei unverändert - lediglich die Generierung des Hashes wird verändert: Im bisher beschriebenen Abschnitt wird der Hash aus den Eingabedaten berechnet. The process remains the same - only the generation of the hash value is changed: In the previously described portion of the hash is calculated from the input data. Für den Nutzer eines interaktiven Preprocessing-Tools ist dies natürlich keine Option, da womöglich noch keinerlei Eingabedaten existieren. For the user of an interactive preprocessing tools of course this is not an option because perhaps even exist any input data. Statt eines Hashes auf die Eingabedaten ist es hier jedoch möglich, die Benutzerumgebung durch einen Hash zu charakterisieren. Instead a hash on the input data, it is here, however, possible to characterize the user environment by a hash. Zusammen mit weiteren Daten kann daraus ein Li- zenzdeskriptor gebildet werden, welcher dann wie üblich zum Anfordern einer Lizenz (Lizenztoken) benutzt werden kann. Together with other data it can be formed zenzdeskriptor a license, which then, as usual, to request a license (license tokens) can be used.

Der Hash stellt dabei eine Identifikation des Rech- ners des Benutzers dar, zB eine Kombination aus CPU-ID, MAC-Adresse etc. Folgendes Einsatzszenario ist dabei denkbar: Der Benutzer möchte eine für eine Woche gültige Lizenz auf seinem Notebook haben, zB um während eines Kundenbesuches unabhängig vom Netzwerk arbeiten zu können. The hash is there an identification of the computer the user is, for example, a combination of CPU-ID, MAC address, etc. The following deployment scenario is conceivable: The user wants to have a valid license for a week on his notebook, for example, while a customer calls to work from the network independently. Er startet den Lizenzclient auf dem Notebook, woraufhin dieser einen kryp- tographischen Hash aus den Hardware-Komponenten des Notebooks berechnet. He starts the license client on the notebook, which then calculates a cryptographic hash of the hardware components of the notebook. Zusammen mit weiteren Daten, wie zB der gewünschten Lizenzdauer, entsteht ein Lizenzdeskriptor, der dann durch den Lizenzserver sig- niert werden kann. Together with other data such as the desired license period, will find a Lizenzdeskriptor which can then be digitally signed the license server. Dieser Lizenztoken kann dann in einer Datei abgespeichert werden. This license tokens can then be saved to a file.

Bei dem Starten der Applikation wird dann der Lizenztoken zunächst auf seine Gültigkeit geprüft und dann der aktuell kryptographische Hash aus der Hardware berechnet. When you start the application then the license token is first checked for validity, and then calculates the used cryptographic hash of the hardware. Stimmen die beiden Hashes überein, so gelten die in dem Lizenzdeskriptor beschriebenen Lizenz - bedingungen . If the two hashes match, then apply those described in the Lizenzdeskriptor license - conditions.

In Anlehnung an Floating-Lizenzen in einem lokalen Following floating licenses in a local

Netzwerk kann es nötig sein, dass ein Benutzer seine Lizenz nach der Benutzung zurückgibt. Network it may be necessary that a user returns his license after use. Da es im Allgemeinen nicht möglich ist, mit dem Ressourcenrechner zu kommunizieren, auf dem die Berechnung läuft, kann die Rückgabe nur indirekt erfolgen. Since it is generally not possible to communicate with the resource computer on which the calculation is running, the return can be made only indirectly. Dazu wird die Lizenz für eine längere Zeit ausgestellt, als der Job wirklich benötigt. Given the license for a longer period of time is issued when the job really requires. Nach Ablauf der Rechnung protokolliert die Applikation die in Anspruch genommene Rechenzeit . After the statement, the application logs the unused computing time.

Diese Protokollierung kann als weiteres Feld in den Lizenztoken mit aufgenommen und mit der Signatur des Applikationsbinaries versehen werden. This logging can be as another field included in the license token and provided with the signature of Applikationsbinaries. Zusammen mit den Ausgabedaten der Applikation wird der Lizenztoken wieder zurück zum Benutzer übertragen. Together with the output data of the application of the license token is transferred back to the user. Dort kann der Lizenzclient den veränderten Lizenztoken wieder zu- rück an den Lizenzserver schicken. There, the license client can send the changed license tokens back to-back to the license server.

Der Lizenzserver prüft seinerseits die Signatur in Bezug auf die Rechenzeit. The license server checks its part, the signature in terms of computing time. Falls die Signatur in Ord- nung ist, wird die unbenutzte Rechenzeit zurück auf das Konto des Benutzers transferiert. If the signature is OK, the unused computing time is transferred back to the user's account.

Nachfolgend wird eine konkrete Implementierung eines erfindungsgemäßen Rechnernetzwerkes beschrieben: Hereinafter, a concrete implementation of a computer network according to the invention is described below:

Der Lizenzierungsdienst besteht aus den bereits genannten Komponenten Benutzerclient (auf Anwenderrechner 1) , Lizenzserver 2 und Lizenzprüfer (Teil des Ressourcenrechners 3) . The licensing service consists of the aforementioned components User Client (on user computer 1), the license server 2 and license examiners (part of the resource computer 3). Darüber hinaus wird zur Kommuni- kation noch ein Messaging-Dienst benötigt. In addition to communi- cation still a messaging service required. Für die folgende Diskussion der Komponenten wird davon ausgegangen, dass die zugrunde liegende Applikation aus einer Benutzerkomponente und einem Berechnungsbackend besteht und die Lizenz an eine Eingabedatei gebunden werden soll. For the following discussion of the components is assumed that the underlying application consists of a user component and a calculation back and the license should be attached to an input file. Dabei werden zunächst die Komponenten einzeln dargestellt, anschließend das Kommunikations- protokoll. First, the components are shown separately, then log the communications. Einen Überblick über die verwendeten Komponenten gibt Figur 3. An overview of the components used are FIG. 3

Der Benutzerclient: The user client:

Der Benutzerclient ist eine Softwarekomponente, welche direkt in die Endanwender-Applikation integriert werden kann. The user client is a software component that can be integrated directly into the end-user application. Die Aufgabe des Benutzerclients ist es, für einen gegebenen Eingabedatensatz einen Lizenz - Schlüssel vom Lizenzserver anzufordern. The task of the user client is a license for a given input data set - to receive keys from the license server.

Dazu wird der Eingabedatensatz zunächst durch einen Hash charakterisiert. For this, the input data set is initially characterized by a hash. Neben einem Hash müssen auch weitere Informationen bezüglich der Anwendung zusammengestellt werden, zB wie viele CPUs verwendet werden sollen. Apart from a Hash also more information must be collected on the application, for example, how many CPUs to be used. Ein Beispiel eines Lizenzdeskriptors zeigt Figur 4. Der interne Ablauf des Benutzerclients sieht so aus: An example of Lizenzdeskriptors shows Figure 4. The internal sequence of the user client looks like this:

1. In Abhängigkeit von der Konfiguration des 1. Depending on the configuration of the

Clients wird ein bestimmter kryptographischer Hash aus den Eingabedaten berechnet. Clients is calculated a certain cryptographic hash from the input data.

2. Der Lizenzdeskriptor wird zusammengestellt. 2. The Lizenzdeskriptor is compiled. Um die Identität des Benutzers feststellen zu können, wird der Lizenzdeskriptor mit einer digitalen Signatur versehen. In order to determine the user's identity, the Lizenzdeskriptor is provided with a digital signature.

3. Der Lizenzdeskriptor wird mit der Signatur in eine Anfrage verpackt und zum Lizenzserver geschickt . 3. The Lizenzdeskriptor is packed with the signature in a request and sent to the license server.

4. Die Antwort des Servers enthält einen verschlüsselten Lizenztoken. 4. The server response contains an encrypted license tokens. Der Client fragt den Server nochmals nach dem Entschlüsselungskey. The client queries the server again after the decryption key. Mit diesem entschlüsselt der Client den Lizenztoken. With this, the client decrypts the license tokens.

5. Der Lizenztoken wird in einer Datei gespeichert und dem Benutzer zugänglich gemacht. 5. The license token is stored in a file and made available to the user.

Falls unbenutzte Rechenzeiten wieder zurückgebucht werden sollen, wird der modifizierte Lizenztoken nach Abschluss der Berechnung wieder zum Lizenzserver übermittelt. If unused computing time to be credited back, the modified license token is transmitted to the license server again after completion of the calculation. Sollte hierbei ein Fehler auftreten, wird der Benutzer benachrichtigt. If this error occurs, the user will be notified. Der Lizenzserver: The license server:

Der Lizenzserver ist ein Dämon, der permanent auf eingehende Lizenzanfragen wartet und diese beantwor- tet. The license server is a demon who constantly listens for incoming requests for licenses and make these available answer. Ein gültiger Lizenztoken wird erzeugt, indem der Lizenzdeskriptor vom Benutzerclient mit der Signatur des Servers versehen wird. A valid license token is generated by the Lizenzdeskriptor is provided by the user client with the signature of the server. Der interne Ablauf sieht so aus : The internal sequence looks like this:

1. Der empfangene Lizenzdeskriptor wird geöffnet und die Identität des Benutzers anhand seiner digitalen Unterschrift überprüft. 1. The received Lizenzdeskriptor opens and checks the user's identity based on its digital signature. Damit ist die Anfrage authentifiziert, dh es ist klar, wem die Lizenzanfrage zuzuordnen ist. Thus, the request is authenticated, that it is clear who is assigned to the license request.

2. Dann muss der Anwender autorisiert werden, dh aufgrund einer Kundendatenbank etc. wird entschieden, ob der Anwender diese Lizenz überhaupt anfragen darf. 2. Then, the user needs to be authorized, ie due to a customer database, etc. is decided whether the user may request that license at all. Dabei können Details der ange- fragten license-terms (zB Anzahl der CPUs, Berechnungsmodule) überprüft werden. It can (eg, number of CPUs, calculation modules) are reviewed details of the responses provided license-terms. Diese Funktionalität ist in einem separaten Lizenzmanagement-Plugin gekapselt. This functionality is encapsulated in a separate license management plugin.

3. Schließlich wird der Lizenzdeskriptor mit dem geheimen Schlüssel des Lizenzservers signiert. 3. Finally, the Lizenzdeskriptor is signed with the secret key of the license server. Der Server vergibt für diese Anfrage einen symmetrischen Key und verschlüsselt den Lizenztoken damit. The server assigns a symmetric key for this request and encrypts the license tokens that. Der Lizenztoken wird nun zurückgeschickt. The license tokens will be returned.

4. Der Server wartet auf die Nachfrage des Clients nach dem Key. 4. The server waits for the demand of the client after the Key. Falls diese Anfrage eingeht, weiß der Server, dass der Lizenztoken beim Client angekommen ist. If this request is received, the server knows that the license token has arrived at the client. Der Server antwortet mit dem Key, um die Lizenz freizuschalten. The server responds with the key to unlock the license. Die Antwort des Lizenzservers fügt dem Lizenzdeskriptor also eine Signatur hinzu, wenn die Lizenz gültig ist. The response from the license server so adds the Lizenzdeskriptor added a signature if the license is valid. Dieser Lizenztoken bezeugt die Gültigkeit einer Lizenz zu den Bedingungen, die im Lizenzdeskriptor genannt sind. This license tokens testifies to the validity of a license to the conditions that are mentioned in Lizenzdeskriptor.

Wenn der Lizenzclient nach Ende des Rechenjobs einen unterschriebenen Lizenztoken zurückgeben will, so wird dieser im Hinblick auf die verbrauchte Rechen- zeit ausgewertet. If the license client will return a signed license tokens by the end of the computing jobs, it will be evaluated in terms of time consumed computing.

Der Lizenzprüfer: The license examiners:

Diese Komponente wird direkt in das Berechnungsba- ckend integriert. This component is integrated directly into the ckend Berechnungsba-. Ihre Aufgabe ist es, die Gültigkeit eines Lizenztokens zu überprüfen. Your task is to check the validity of a license tokens. Dazu werden folgende Schritte durchgeführt: The following steps are performed:

1. Der Lizenztoken wird geöffnet und die Signatur des Lizenzservers auf ihre Gültigkeit überprüft. 1. The license tokens will be opened and checks the signature of the license server for validity.

2. Die license-terms des Deskriptors werden geprüft und die entsprechenden Module des Berechnungsba- ckends freigegeben. 2. The license-terms of the descriptor to be examined and the appropriate modules of Berechnungsba- ckends released.

3. Der Hash der Eingabedaten wird berechnet und mit dem Wert im Lizenzdeskriptor verglichen. 3. The hash of the input data is calculated and compared with the value in Lizenzdeskriptor. Wenn bis hierher alle Prüfungen erfolgreich sind, ist die Lizenz für diesen Eingabedatensatz gültig. If so far all tests are successful, the license for this input data set is valid.

Wichtig hierbei ist, dass der Lizenzprüfer lediglich den öffentlichen Schlüssel des Lizenzservers kennen muss. It is important that the license examiner only needs to know the public key of the license server. Es ist nicht erforderlich, Netzwerkverbindungen zum Lizenzserver aufzubauen - die Prüfung des Lizenz- deskriptors kann lokal erfolgen. It is not necessary to establish network connections to the license server - can descriptor examining the licensing done locally. Nach Ablauf der Berechnung kann der Lizenzprüfer die verbrauchte Rechenzeit im Lizenztoken dokumentieren und signieren. After the calculation of the license examiners can document the consumed computing time in the license token and sign. Der Token kann dann mit den Ergebnissen zurück zum Anwender kopiert werden. The token can be copied with the results back to the user.

Der Lizenzserver und der Benutzerclient tauschen lediglich kompakte Nachrichten aus, es ist nicht erforderlich, größere Datenmengen auszutauschen. The license server and the user client exchange only of compact messages, it is not necessary to exchange large amounts of data. Es ist daher möglich, die Kommunikation über eine Messaging- Queue abzuwickeln. It is therefore possible, to handle communication via a messaging queue. Dabei können mehrere physikalische Lizenzserver zu einem logischen verknüpft werden, um die Ausfallsicherheit zu erhöhen. Several physical license server can be linked to a logic to increase reliability. Darüber hinaus muss lediglich die Messaging-Queue über das Internet zugänglich gemacht werden, sodass keine direkten An- griffe auf die Lizenzserver möglich sind. Moreover, only the messaging queue on the Internet must be made available, so that no direct attacks on the license server are possible.

Das Protokoll: The protocol:

Unter der Voraussetzung, dass die Nachrichtenüber- mittlung zwischen Lizenzclient und Lizenzserver fehlerfrei und zuverlässig funktioniert, kann man ein sehr einfaches Protokoll realisieren. Assuming that the Nachrichtenüber- mediation between license client and the license server works properly and reliably, you can realize a very simple protocol. Das Protokoll muss jedoch auch bei fehlerhaften Netzwerkverbindungen funktionieren. However, the protocol must also work with faulty network connections.

Bei genauerer Betrachtung stellte sich heraus, dass der Austausch des Lizenztokens auf das Problem der byzantinischen Generäle zurückgeführt werden kann: Wie können zwei Parteien eine konsistente Sicht auf die Übertragung der Lizenztoken haben? On closer inspection, it turned out that the exchange of the license token can be attributed to the problem of Byzantine generals: How can two parties have a consistent view of the transfer of the license tokens? Dieses Problem ist nicht generell lösbar. This problem is generally not solvable. Zur Veranschaulichung kann man sich vorstellen, was passiert, wenn einzelne Nachrichten verloren gehen: Angenommen, der Client fragt eine Lizenz beim Server an. To illustrate, imagine what happens when individual messages are lost: Suppose the client queries a license to the server. Er erhält die Li- zenz, allerdings antwortet er nicht mehr darauf. He receives license the license, however, he answers no longer on it. Der Server kann nun nicht entscheiden, ob der Client die Lizenz erhalten hat oder ob die Lizenz nie beim Client angekommen ist. The server can not determine if the client has received the license or if the license never arrived at the client now.

Um dennoch die Übertragung des Lizenztokens sicher zu machen, wurde eine zusätzliche Komponente (der To make but the transfer of the license tokens sure an additional component was (the

Schlüssel bzw. Key) in das Protokoll eingefügt. Key or Key) inserted into the Protocol. Der Key verschlüsselt den Lizenztoken symmetrisch. The Key encrypts the license tokens symmetrically. Nachdem der Client den verschlüsselten Lizenztoken erhalten hat, fragt er nochmals beim Lizenzserver nach dem zugehörigen Key. After the client has received the encrypted license token, he asks again the license server after the corresponding key. Dabei gibt er eine Transaktionsnummer an, die im gleichen Datenpaket wie der Lizenztoken vom Server übermittelt wurde. He specifies a transaction number that has been transmitted from the server in the same data packet as the license tokens. Wenn die Anfrage nach dem Key beim Server mit der korrekten Transaktionsnummer empfangen wurde, dann kann die Lizenz end- gültig berechnet werden. If the request has been received from the server with the correct transaction number for the key, then the license can be calculated definitively.

Die Nachricht mit dem Key des Servers kann allerdings auch verloren gehen. The message with the key of the server, however, can also be lost. In diesem Fall kann der Client dem Benutzer eine Nachricht anzeigen mit der Transak- tionsnummer - mit dieser kann sich der Benutzer dann an den Lizenzgeber wenden und den Freischaltkey anfragen. In this case, the client can show the user a message with the transaction number - with this, the user can then contact the licensor and request the activation key.

Zusammenfassend lässt sich sagen, dass dieser Fall zwar nicht ausgeschlossen werden kann, insgesamt jedoch recht unwahrscheinlich ist. In summary it can be said that this case, although can not be excluded, however, is quite unlikely. Es ist nicht damit zu rechnen, dass der Benutzer oft beim Lizenzgeber nach einem Freischaltkey nachfragen muss. It is not expected that the user often needs to ask the licensor for a activation key.

ή ή

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
WO2004086264A1 *9 Feb 20047 Oct 2004Deutsche Telekom AgMethod and communication system for releasing a data processing unit
EP1626323A2 *9 Jul 200515 Feb 2006Andreas Hoppaccess control and copy protection
US5204897 *14 Jul 199220 Apr 1993Digital Equipment CorporationManagement interface for license management system
US20060004668 *1 Jul 20045 Jan 2006Hamnen Jan HMethod of distributing electronic license keys
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
EP3062255A1 *25 Feb 201531 Aug 2016Siemens AktiengesellschaftLicensing of software products
Classifications
International ClassificationG06F21/10, G06F21/12
Cooperative ClassificationG06F21/10, G06F2221/2135, G06F21/121, G06F2221/2115
European ClassificationG06F21/12A, G06F21/10
Legal Events
DateCodeEventDescription
17 Mar 2010121Ep: the epo has been informed by wipo that ep was designated in this application
Ref document number: 09777426
Country of ref document: EP
Kind code of ref document: A1
25 Jan 2011NENPNon-entry into the national phase in:
Ref country code: DE
24 Aug 2011122Ep: pct app. not ent. europ. phase
Ref document number: 09777426
Country of ref document: EP
Kind code of ref document: A1