WO2010097139A1 - Method and license server for generating a mobile user authorization for using an application outside of a local environment - Google Patents

Method and license server for generating a mobile user authorization for using an application outside of a local environment Download PDF

Info

Publication number
WO2010097139A1
WO2010097139A1 PCT/EP2009/067957 EP2009067957W WO2010097139A1 WO 2010097139 A1 WO2010097139 A1 WO 2010097139A1 EP 2009067957 W EP2009067957 W EP 2009067957W WO 2010097139 A1 WO2010097139 A1 WO 2010097139A1
Authority
WO
WIPO (PCT)
Prior art keywords
local environment
software application
mobile
privilege
usage
Prior art date
Application number
PCT/EP2009/067957
Other languages
German (de)
French (fr)
Inventor
Wolfgang Ziegler
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of WO2010097139A1 publication Critical patent/WO2010097139A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Definitions

  • the present invention relates generally to the field of providing user privileges (licenses) for use of applications, e.g. Software programs, in a computer environment. More particularly, the present invention relates to an approach to generating mobile usage privileges based on existing usage privileges acquired for a local environment. In particular, the present invention relates to a method for generating a mobile usage privilege to use an application outside of a local environment, a local environment license server configured to generate the mobile usage privilege, a method for using an application outside of a local environment , a local environment and a computer system.
  • the user uses licenses of an external service provider (Application Service Provider, ASP). The following is required here:
  • the user uses his own licenses using the computing resources of an external service provider (ASP).
  • ASP external service provider
  • the ASP can combine this license with its own licenses so that the user can have additional licenses.
  • the user uses licenses directly from the manufacturer of the application (licensor), the independent software vendor (ISV). The following is required here:
  • Scenarios 1 and 2 mentioned above Scenario 3 is not supported, or is being supported at great expense and at high cost, and Scenario 4 is supported less frequently and only directly between the ASP and the licensor.
  • the applications covered by the licenses are nowadays protected by various methods, with different methods being used to protect such digital objects.
  • the main methods of authorization of use are based on: • Control of the Internet address of the user's device. This process is mainly used by publishers who use facilities to file online access to documents. • Authorization by attributes of the user who arranges his home institution with the content provider and manages it for the user. This process is currently being developed by publishers who conclude contracts with institutions for online access to documents and the necessary attributes.
  • FIG. 1 shows an environment comprising a network 100 as a central element. Various areas are interconnected via this network, for example a first local area 102 and a second local area 104.
  • the network 100 may in the most general case be the Internet, with the local areas 102 and 104 again representing networked environments However, they form a self-contained structure, which communicate with the network 100 via one or more ports.
  • the network may also be a network environment within an entity, such as within an enterprise or within a corporation or within a research facility or university.
  • the local areas 102 and 104 can be assigned to individual subsidiaries of the group or individual departments of a company.
  • the local environments 102 and 104 may be associated with different research departments.
  • the local environment 102 includes a server 106 that can communicate with the network 100 via a firewall 108.
  • the local environment 102 further comprises a local area network (LAN) 110, via which the license server 106 is connected to a plurality of data processing systems 112-1 to 112-n.
  • the local environment 102 comprises, for example, a network address "XYZ", under which the local area 102 can be reached in the network 100.
  • the local area 102 makes it possible to execute application software A on one or more of the data processing installations 112-. 1 to 112-n, where the required software has been acquired, for example, from a supplier 114, or rights of use for the use of the application A were acquired. These rights of use are in the form of user authorizations or licenses acquired for the local environment 102.
  • the license server stores in the database 116 the licenses available for the use of the application A, and for software modules, such as the use of the application A, various information may be associated with the license, such as
  • the licenses acquired for the use of the application A and also for the use of other applications not shown in FIG. 1 are strictly bound to the local environment 102, for example via the network address XYZ. This means that the acquired licenses can be used only in the local area 102, any other area outside the local area 102 would not allow a use of the application when transferring the licenses, since in this case the area in which the external Application resides, would have a different network address, so that access to the application would be denied due to the missing license.
  • kale environment 104 remote from the local environment 102 and addressable under its own network address "ABC" in the network 100.
  • the local environment 104 may be similar in construction to the local environment 102.
  • the local environment 104 includes 1 also shows a server 102 which communicates with a plurality of data processing systems 124-1 through 124-n via a local area network 122.
  • the server 120 in turn comprises a database and is connected to the network 100, again via a network firewall.
  • the local environment 102 is formed by the chair of the scientist, and the license server 106 includes a plurality of licenses that permit execution / use of the application A on one or more of the computing devices 112.
  • the situation may arise that the locally available resources, namely the data processing systems 112, are occupied by other employees, so that it is not possible to carry out the simulation within the local environment 102.
  • the scientist has access to a neighboring department or a neighboring chair, for example the local environment 104.
  • the scientist now wishes to avoid the further local environment 104 accessible to him and therefore generates an image of his local environment
  • the simulation environment forwards it to the remotely located data processing facility 124-1 in the remote local area 104, as shown in FIG. 1 at 124-1 labeled "Application A '".
  • the scientist will find that the simulation is not successful because the application can not be used in the local environment 104 because a license check fails because the data processing facility 124-1 has no possibility of being actually available License located in the first local environment 102 on the license server 106 remote from the local environment 104.
  • licenses are bound to the hardware within the local environment 102 to which the user is assigned, for example via an IP address from the network XYZ, and access to the license servers from the outside is not permitted.
  • the present invention provides a method for generating a mobile usage privilege to use an application outside of a local environment
  • the local environment has at least one user authorization for use of the application within the local environment, wherein the local environment has acquired the at least one user authorization from a provider of the application, and
  • a mobile usage privilege is generated based on the usage privilege of the local environment such that the application recognizes outside the local environment that the mobile usage privilege is the one of the manufacturer of the application comes from a trusted local environment.
  • the present invention further provides a method of utilizing an application outside a local environment that has at least one usage privilege for use of the application within the local environment, wherein the local environment has acquired the usage privilege from a provider of the application, wherein the method following steps include:
  • the present invention further provides a license server for a local environment, wherein the license server stores at least one usage right for use for an application in the local environment acquired by a provider of the application,
  • license server is configured to generate a mobile usage privilege to use the application outside the local environment
  • the license server is configured to, in response to a request, use the application outside the local environment, generating a mobile usage privilege based on the usage privilege of the local environment such that the application recognizes, outside of the local environment, that the mobile usage privilege is from the originated by the manufacturer of the application as trusted local environment.
  • the present invention further provides a local environment with the license server according to the invention and a data processing system for executing the application. Further, the present invention provides a computer system comprising the local environment and a computer for executing the external application.
  • the present invention provides a computer program product with instructions to perform the method of the invention when executing the instructions on a computer.
  • the present invention overcomes the problems existing in the prior art which, due to the limitation of the use of licensed applications to admi- restrict the scope and / or security of the organization that acquired the license.
  • This major obstacle to the use of licensed software for example, in a grid computing environment that spans a plurality of administrative domains, is resolved.
  • the above-mentioned basic approach regarding the use of applications under the use of licenses remains in force, but the negotiating partner changes at the time of the availability of a license.
  • a negotiation with, for example, the provider of the application according to the invention, a user of the local environment can now agree with the local license server on the basis of the user authorization available to the license server, which is then exported to the user to execute the application on an external user To allow computers.
  • licenses can also be reserved for later use, for example in situations in which all resources within the local environment are occupied, a user can reserve licenses for his simulations for a later time when the licenses are free again perform.
  • execution or use of the resources at a later time may be desirable if there are temporal dependencies, such as the execution of a previous simulation, the results of which are then to be used for the further simulation.
  • a significant advantage of the present invention is that the above-described limitations in the prior art over the use of external resources are overcome.
  • licensed applications for example simulations of flow dynamics and structural mechanics, can be flexibly used outside of their own local environment, ie their own computing resources, for example, in accordance with the requirements. ner grid environment.
  • cloud resources can now be used.
  • the approach according to the invention makes it possible to use own licenses dynamically, e.g. by adding an ASP (Application Service Provider) to speed up the calculation or perform more complex calculations.
  • ASP Application Service Provider
  • the application service provider has one or more licenses for another software application that enables a special calculation or makes special calculations very quickly.
  • Embodiments of the present invention operate with a local environment in which either multiple licenses or only one license for one application or multiple licenses for different applications are provided.
  • only one license for an application is This can not be used in conventional approaches if all resources are occupied by other applications within the local environment. A user can not then switch to the potentially external resources available because the required license is not visible there.
  • an external application in such a case is made possible in the manner described above. If multiple licenses exist for an application within the local environment, even if a first run of the application allocates all available resources or a majority of the available resources within the local environment, then an external execution of the application can occur There is another license available, which is a license that is currently not in use.
  • the mobile usage privilege is signed such that the resource on which the application is to be executed externally can make a check on which local environment the usage privilege was generated.
  • the private license key of the local license server is used to sign the mobile usage privilege.
  • the signature of the user authorization can then be checked with the public key of the license server. This ensures that the application, when running on the external resource, recognizes the mobile user as originating from the local environment's license server, and thus recognizes it as coming from a trusted environment.
  • Another possibility for generating the mobile user authorization is, according to embodiments, also to include the input data required for the execution of an application in the generation of the user authorization.
  • These input data for example If the input data required for a simulation are transmitted together with the usage authorization, the input data is encrypted, for example in the form of a hash code. Execution of the application at an external location is then possible only on the basis of precisely these input values, thereby ensuring that any further spread of the mobile usage privilege at best leads to repeated execution of the application with always the same results.
  • FIG. 1 is a schematic representation of a computer environment according to the prior art with a plurality of local environments
  • FIG. 2 shows the computer environment of FIG. 1, with reference to which the method according to the invention is explained according to an embodiment of the present invention
  • FIG. 3 is a flow chart illustrating the method according to the invention for using an external application according to an embodiment
  • Fig. 4 is a flowchart illustrating the procedure of license usage by the external application.
  • FIG. 5 is a flow chart illustrating the process of license renegotiation by the external application.
  • FIG. 2 shows the computer system described with reference to FIG. 1. The components already described with reference to FIG. 1 can be found in FIG. 2 again and are provided with the same reference numerals. A re-description of the functionality of these components and a re-description of the interaction of the same does not occur. In this regard, reference is made to the above statements.
  • FIG. 2 schematically shows the path of a so-called license token (mobile use authorization) T.
  • a scientist within a chair corresponding to the local environment 102 has no opportunity to carry out a simulation, for example by performing the application A, since the available resources are occupied by other employees and colleagues are.
  • the user in the environment 102 makes a request to the license server 106, which checks to see if another license allowing execution of the application A is available. If such a license is available, then based on the licenses that the license server 106 includes, the parameters that the mobile license or user authorization should have are defined.
  • a request for a license may include information about the user, such as his name, business, geographic location, and IP / host name.
  • a timestamp of the request may be provided. It can also be noted how many instances have been requested as well as the name of the requested software functionality / application.
  • the mobile use right T is generated and preferably encrypted and transmitted from the license server 106 together with the information regarding the execution of the application to the remote environment 104, where the mobile license may be stored in a server 120, for example the data processing system 124-1 can access on which the external execution of the application A (application A ') to be executed.
  • the request to the license server 106 also includes a public key of the server 120, which encrypts the mobile use right T, so as to ensure that only the server 120, or possibly only the resource 124-1, will use the mobile license using the private license Key of the unit can decrypt.
  • This ensures that the mobile user authorization in network 100 can not be viewed and manipulated by unauthorized persons.
  • the input parameters for executing the application are contained in the mobile and encrypted use authorization, for example in the form of a hash code, so that Starting the application in the external environment 104 only starts when the predetermined input values are entered and, alternatively, it can also be applied immediately to those in the mobile device. len permission contained in the input values. This ensures that even if the generated mobile permission is misused, the application will only ever deliver the same result and abuse will not be possible.
  • the approach according to the invention relates to a method for the generation and management of movable licenses for digital objects, for example software programs and software applications.
  • the method preferably comprises a plurality of components.
  • the server component is provided in the form of the license server 106, by means of which the available licenses are managed.
  • the user or a program of the user determines use of a license and generates the mobile user authorization, for example in the form of a service level agreement.
  • This information is then provided by the license server, and the local environment also includes a license usage tracking component that verifies, at run time, whether the actual usage of the license is as previously agreed, and the required Forwards information to a billing component.
  • the component of the application that is performing the authorization checks the service level agreement for validity and releases the application or denies its execution.
  • This component is, for example, the data processing unit 124 in the remote environment.
  • the essential renewal of the approach according to the invention consists in the independence of the authorization process from the availability of the license server when starting the application and during the runtime. Instead, before using the application, the authorization is negotiated locally with the license server 106 of the local environment, ie the user's home device. This authorization is then in the form of the mobile user authorization described above and may also be referred to as an electronic contract or service level agreement. This is then transported to the site of execution of the application, for example to the computer 124-1, where it is checked at runtime.
  • a first step S300 the request for the license, whereby a user working within the environment 102 defines his requirements with regard to a license, and inputs these requirements to the license server 106 in the form of a request.
  • step S302 the availability of a corresponding license as desired by the user is negotiated.
  • the license server 106 determines whether or not a desired license can be granted based on the available licenses within the license server.
  • step S304 it is then determined whether or not a corresponding license is available. For example, if all available licenses are in use for a particular application, it is not available for the license request formulated in step S300 so that the method moves from step S304 to step S306 informing the user that the license he desires is not available is.
  • step S304 determines whether the user's request can be satisfied due to the available licenses.
  • the mobile usage privilege is generated in the form of a license service level agreement in step S308 and sent to the target computer 124-1 (see FIG 2).
  • step S312 it is checked whether or not there is an authorization in the form of the mobile user authorization. If it is determined in step S314 that the service level agreement has been fulfilled, ie the authorization for application execution is present, then the so-called "accounting" data is stored in step S316, which, for example, informs about the type and duration of use and, if necessary over a subscription invoice included. Otherwise, an error output is generated in step S318 and an analysis of the causes is performed.
  • a user wants a simulation application for fluid dynamics; because of a lack of local capacity on multiple directory nodes of a remote resource (e.g., local environment 104).
  • the user needs a certain functionality (feature) F of the application A and wants to use as far as possible all computing nodes 124 of the remote resource 104.
  • the remote resource 104 has e.g. 20 calculation nodes, which are available to the user, and for the desired feature F of the simulation application A, a maximum of 30 licenses are available, which can be used in parallel.
  • the license request includes the number of desired compute nodes (20), the required feature F of the simulation application A and the estimated time Z the application requires for the simulation.
  • the user directs the request for the availability of a license that meets this requirement to the local license server 106.
  • the local license server 106 confirms the immediate availability of the feature F, but only for 15 compute nodes, since the other 15 licenses are already in use. 20 licenses are available for the feature F only at a later time T2, which is communicated to the user.
  • the user decides to use the simulation application at time T2 on 20 compute nodes and informs the license server.
  • the license server reserves the 20 licenses at time T2 for duration Z and generates the mobile User authorization (a service level agreement), which contains user-specific information, the number of compute nodes (20), the number of licenses (20), the feature to be used F, the agreed start time T2, and the duration of the license usage Z.
  • the designated mobile usage privilege is forwarded to the remote environment 104 as described above and is now available in the execution of the application A in the local environment.
  • FIG. 4 illustrates step S312.
  • step S400 the application is started and in step S402 an attempt is made to read a service level agreement associated with the application, and in step S404 it is checked whether such a service level agreement exists or not. If such a service level agreement is missing, the application is terminated in step S406. Otherwise, in step S408, a mobile-use-authority signature is checked to ensure that it is valid, that is, from a trusted environment. If it is determined in step S410 that the signature is invalid, the application ends in step S412. Otherwise, in step S414, the license specified in the service level agreement is checked, for example as to whether it is still valid or whether it has already expired, whether a maximum number of executions has been reached or something similar. If it is detected in step S416 that the license is invalid, the application is terminated in step S418. Otherwise, the application continues in step S420 until its execution is finished in step S422.
  • FIG. 5 illustrates how, during the step S420, in the presence of a bidirectional network connection, an application can be renegotiated at runtime via the mobile use authorization (the service level agreement).
  • one of the remote resources installed trusted entity (eg, the server 120) are negotiated with the license server 106 of the home device 102 of the user through an extension of the service level agreement.
  • FIG. 5 again shows step S420 from FIG. 4.
  • step S510 it is checked if a post-negotiation is desired. If no renegotiation is to be performed, the method remains at step S420. However, if a need for renegotiation is detected in step S510, then contact is made with a Trusted Entity installed on the remote resource, eg server 120, in step S520, and it is checked in step S530 if a negotiation with the License server 106 of the home device 102 of the user is possible, for example, whether the required connection to the license server 106 can be made. If a negotiation is not possible, eg due to a temporary unavailability of the license CPU 106, the process returns to step S420.
  • a Trusted Entity installed on the remote resource, eg server 120
  • step S540 If a negotiation with the license server 106 is possible, it is checked in step S540 whether an extension of the mobile use authorization is possible. In step S550, it is checked if the negotiation with the license server 106 is successful. If the negotiation is unsuccessful, the process returns to step S420.
  • step S560 a new mobile usage privilege is generated by the license server 106, which in step S570 is transmitted to the server 120 in the remote environment 104 and which replaces the existing mobile usage privilege in step S580.
  • a supplementary mobile user authorization can be generated, which includes the additional elements to the existing user authorization, so that in step S570 the existing mobile user authorization is supplemented accordingly. Thereafter, the process returns to step S420.
  • the embodiment described with reference to FIG. 5 is advantageous, since today's technology - insofar as the reservation of user authorizations is even supported - would force a termination of the application, in which simulation results usually calculated up to this point are lost. If, on the other hand, a renegotiation is permitted, a new service level agreement can be generated upon availability of the required resources according to the request and transported to the remote resources. There, the old service level agreement is replaced by the new service level agreement and the application can continue to run under the terms agreed in the new service level agreement.
  • the above-discussed method ensures that applications protected by licenses can be checked for the existence of the required license at any location, even independently of an Internet connection to the home device, such as the local license server 106 in the local environment 102.
  • the service level agreement (Mobile user authorization) is preferably digitally signed by a corresponding digital X.509 certificate of the home office and is protected against changes on the transport or at the destination.
  • the service level agreement can also be encrypted with a digital X.509 certificate of a server of the device on whose resource the application is to run, for example server 120 or attachment 124 in FIG. 2. This is the service level agreement unreadable during transport for third parties.
  • a further advantage of the present invention is that the approach according to the invention can be based on inter-operable standards and that no proprietary protocols have to be used to secure the content against adulteration or access by third parties.
  • the exemplary embodiments of the methods according to the invention can be implemented in hardware or in software.
  • the implementation can be done on a digital storage medium, in particular a floppy disk, CD or DVD with electronically readable control signals, which cooperate with a programmable computer system, which is carried out one of the embodiments of the inventive method.
  • the embodiments of the present invention thus also in software program products, or computer program products or program products with a program code stored on a machine-readable carrier for performing one of the embodiments of the inventive method, if one of Software program products on a computer or on a processor. running.
  • an embodiment of the present invention can thus be realized as a computer program or software program or program with a program code for carrying out an embodiment of a method according to the invention, when the program runs on a processor.
  • the processor may be formed by a computer, smart card, digital signal processor or other integrated circuit.

Abstract

The invention relates to a method for generating an authorization for a mobile user to use an application outside of a local environment, comprising providing a user with authorization to use the application within the local environment, wherein the local environment has purchased the at least one user authorization from a provider of the application. In response to a requirement for using the application outside of the local environment, a mobile user authorization based on the user authorization of the local environment is generated, so that the application recognizes outside of the local environment that the mobile user authorization originates in the local environment considered to be trustworthy by the manufacturer of the application.

Description

Verfahren und Lizenzserver zum Erzeugen einer mobilen Be- nutzungsberechtigung für eine Nutzung einer Anwendung außerhalb einer lokalen Umgebung A method and license server for generating a mobile usage privilege to use an application outside of a local environment
Beschreibungdescription
Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der Bereitstellung von Benutzungsberechtigungen (Li- zenzen) zur Verwendung bzw. Nutzung von Anwendungen, z.B. Softwareprogrammen, in einer Computerumgebung. Insbesondere bezieht sich die vorliegende Erfindung auf einen Ansatz zur Erzeugung mobiler Benutzungsberechtigungen auf der Grundlage existierender Benutzungsberechtigungen, die für eine lo- kale Umgebung erworben wurden. Die vorliegende Erfindung betrifft insbesondere ein Verfahren zum Erzeugen einer mobilen Benutzungsberechtigung für eine Nutzung einer Anwendung außerhalb einer lokalen Umgebung, einen Lizenzserver für eine lokale Umgebung, der zur Erzeugung der mobilen Be- nutzungsberechtigung konfiguriert ist, ein Verfahren zum Nutzen einer Anwendung außerhalb einer lokalen Umgebung, eine lokale Umgebung sowie ein Computersystem.The present invention relates generally to the field of providing user privileges (licenses) for use of applications, e.g. Software programs, in a computer environment. More particularly, the present invention relates to an approach to generating mobile usage privileges based on existing usage privileges acquired for a local environment. In particular, the present invention relates to a method for generating a mobile usage privilege to use an application outside of a local environment, a local environment license server configured to generate the mobile usage privilege, a method for using an application outside of a local environment , a local environment and a computer system.
Mit der Entwicklung neuer Internettechnologien, wie etwa dem Grid-Computing, der Cloud- oder Service Oriented Archi- tecture (SOA = dienstleistungsorientierte Architektur) , sind neue Modelle für die Nutzung von Ressourcen entstanden, wobei solche Ressourcen im Zusammenhang mit Computersystemen zum einen Rechner und zum anderen Anwendungen in der Form von Software umfassen. Die Nutzung lokaler Ressourcen, die von einer lokalen Einrichtung zur Verfügung gestellt werden, wird um die Nutzung externer bzw. entfernter Ressourcen und Dienste ergänzt, die von externen Dienstleistern angeboten werden.With the development of new Internet technologies, such as Grid Computing, Cloud or Service Oriented Architecture (SOA), new models for the use of resources have emerged, such resources being related to computer systems on the other hand applications in the form of software include. The use of local resources provided by a local facility is supplemented by the use of external or remote resources and services offered by external service providers.
Im Zusammenhang mit diesen neuen Nutzungsformen ist ein wesentlicher Aspekt die Nutzung von durch Lizenzen geschützten Anwendungen, unabhängig vom physischen Ort, an dem der Lizenznehmer ursprünglich die Lizenzen erworben hat. Heutige Verfahren der Lizenzverwaltung weisen hier substanzielle Mängel auf und sind daher für diese neuen Nutzungsmodelle nicht verwendbar.In the context of these new uses, one key aspect is the use of licensed applications, regardless of the physical location of the application Licensee originally acquired the licenses. Today's licensing management procedures show substantial deficiencies and therefore can not be used for these new usage models.
Im Wesentlichen können vier Nutzungsszenarien unterschieden werden:Essentially, four usage scenarios can be distinguished:
1. Die Lizenzen für Anwendungen sind lokal beim Anwender vorhanden. In diesem Szenario wird wie bisher folgendes vorausgesetzt:1. The licenses for applications are available locally at the user. In this scenario, the following is assumed as before:
• der Anwender bzw. seine Heimateinrichtung erwirbt vom Hersteller der Anwendung (Lizenzgeber) die für die Aufgaben erforderliche Anzahl Lizenzen zur Nutzung der jeweiligen Anwendung,• the user or his home institution acquires from the manufacturer of the application (licensor) the number of licenses required for the tasks to use the respective application,
• diese Lizenzen werden vom lokalen Lizenzmanagementsystem des Benutzers oder seiner Heimateinrichtung erfasst und verwaltet, und • der Anwender kann nur über die vorhandenen Lizenzen verfügen.• these licenses are collected and managed by the user's local license management system or his home office; and • the user can only have the existing licenses.
2. Der Anwender nutzt Lizenzen eines externen Dienstleisters (Application Service Provider, ASP) . Hier wird folgendes vorausgesetzt:2. The user uses licenses of an external service provider (Application Service Provider, ASP). The following is required here:
• der Dienstleister erwirbt und verwaltet die Lizenzen,• the service provider acquires and manages the licenses,
• ein Rahmenvertrag zwischen Anwender (bzw. seiner Heimateinrichtung) und dem ASP regelt globale• A framework agreement between the user (or his home institution) and the ASP governs global
Nutzungsbedingungen, undTerms of use, and
• der Anwender kann im Rahmen dieser Nutzungsbedingungen über Lizenzen verfügen.• The user may have licenses under these Terms of Use.
3. Der Anwender nutzt seine eigenen Lizenzen unter Verwendung von Rechenressourcen eines externen Dienstleisters (Application Service Provider, ASP) . Hier gilt: • der Anwender bzw. seine Heimateinrichtung erwirbt vom Hersteller der Anwendung (Lizenzgeber) die für die Aufgaben erforderliche Anzahl Lizenzen zur Nutzung der jeweiligen Anwendungen, und • diese Lizenzen werden vom lokalen Lizenzmanagementsystem des Benutzers oder seiner Heimateinrichtung erfasst und verwaltet,3. The user uses his own licenses using the computing resources of an external service provider (ASP). The following applies here: • the user or his home office acquires from the manufacturer of the application (licensor) the number of licenses required for the tasks to use the respective applications, and • these licenses are recorded and managed by the user's local license management system or his home office,
• das lokale Lizenzmanagementsystem überträgt die Lizenz temporär zum Lizenzmanagementsystem des ASP zur Nutzung durch den Anwender, und• the local license management system temporarily transfers the license to the ASP's license management system for use by the user, and
• der ASP kann bei Bedarf diese Lizenz mit eigenen Lizenzen kombinieren, so dass der Nutzer über weitere Lizenzen verfügen kann.• If required, the ASP can combine this license with its own licenses so that the user can have additional licenses.
4. Der Anwender nutzt Lizenzen direkt vom Hersteller der Anwendung (Lizenzgeber) , dem independent Software ven- dor (ISV) . Hier wird folgendes vorausgesetzt:4. The user uses licenses directly from the manufacturer of the application (licensor), the independent software vendor (ISV). The following is required here:
• ein Rahmenvertrag zwischen Anwender (bzw. seiner Heimateinrichtung) und dem Lizenzgeber regelt globale Nutzungsbedingungen, und• a framework agreement between the user (or his home office) and the licensor governs global terms of use, and
• der Anwender kann im Rahmen dieser Nutzungsbedingungen über Lizenzen verfügen.• The user may have licenses under these Terms of Use.
Existierende Lizenzmanagementtechnologien unterstützen die oben erwähnten Szenarien 1 und 2. Das Szenario 3 wird nicht oder nur mit sehr großem Aufwand und mit hohen Kosten unterstützt, und das Szenario 4 wird seltener und nur direkt zwischen dem ASP und dem Lizenzgeber unterstützt.Existing license management technologies support Scenarios 1 and 2 mentioned above. Scenario 3 is not supported, or is being supported at great expense and at high cost, and Scenario 4 is supported less frequently and only directly between the ASP and the licensor.
Die von den Lizenzen abgedeckten Anwendungen, beispielsweise Softwareanwendungen, werden heutzutage mit unterschiedlichen Verfahren geschützt, wobei für den Schutz solcher digitaler Objekte unterschiedliche Verfahren eingesetzt werden. Die wichtigsten Verfahren zur Autorisierung der Nutzung basieren auf: • Kontrolle der Internetadresse des Endgeräts des Nutzers. Dieses Verfahren wird hauptsächlich bei Verlagen (Publisher) eingesetzt, die mit Einrichtungen Verträge über den online Zugang zu Dokumenten abschießen. • Autorisierung durch Attribute des Benutzers, die seine Heimateinrichtung mit dem Content-Provider vereinbart und für den Nutzer verwaltet. Dieses Verfahren wird zur Zeit bei Verlagen (Publisher) entwickelt, die mit Einrichtungen entsprechende Verträge über den online Zugang zu Dokumenten und die notwendigen Attribute abschließen.The applications covered by the licenses, such as software applications, are nowadays protected by various methods, with different methods being used to protect such digital objects. The main methods of authorization of use are based on: • Control of the Internet address of the user's device. This process is mainly used by publishers who use facilities to file online access to documents. • Authorization by attributes of the user who arranges his home institution with the content provider and manages it for the user. This process is currently being developed by publishers who conclude contracts with institutions for online access to documents and the necessary attributes.
• Autorisierung über Namen (Internetadressen) der Endgeräte, auf denen digitale Objekte verwendet werden sollen. Dieses Verfahren setzen z.B. Content-Provider ein, die kommerziell Musik zum download anbieten.• Authorization via names (Internet addresses) of the terminals on which digital objects are to be used. This method is used e.g. Content providers who offer commercial music for download.
• Erwerb von Lizenzen, die entweder lokal auf dem Rechner des Endanwenders oder durch einen zentralen Lizenzserver (innerhalb einer administrativen Domäne, Abteilung oder Arbeitsgruppe) verwaltet werden. Dieses Verfahren ist das am meisten verbreitete für den sicheren Schutz von Softwareanwendungen.• Acquisition of licenses that are managed either locally on the end user's machine or through a centralized license server (within an administrative domain, department or workgroup). This method is the most widely used for the secure protection of software applications.
• Hardware Dongles, die der Nutzer an sein Endgerät anschließt, um sich gegenüber der Software, die er nutzen will, zu autorisieren.• Hardware dongles that the user connects to his terminal to authorize against the software he wants to use.
Die heute für den Schutz von Softwareanwendungen eingesetzten Verfahren setzen in der Regel einen Lizenzserver voraus, der über das Netzwerk erreichbar ist und Lizenzanfragen durch die Softwareanwendung autorisieren kann. Neben der initialen Autorisierung muss zum AblaufZeitpunkt der Anwendung eine Netzwerkverbindung zwischen Lizenzserver und dem Rechner, auf dem die Softwareanwendung abläuft, exis¬ tieren, über die in regelmäßigen Zeitabständen die Gültigkeit der Autorisierung verifiziert werden kann. Bei Dongle- Lösungen muss der Dongle über den gesamten Zeitraum des den die Anwendung genutzt wird, am jeweiligen Rechner angeschlossen sein. Nachfolgend sei anhand der Fig. 1 eine Umgebung beschrieben, in der Lizenzen für die Verwendung bzw. Nutzung einer bestimmten Anwendung A auf herkömmliche Art und Weise bereitgestellt und eingesetzt werden. Die Fig. 1 zeigt eine Umgebung, die als zentrales Element ein Netz 100 umfasst. Über dieses Netz sind verschiedene Bereiche miteinander verbunden, beispielsweise ein erster lokaler Bereich 102 und ein zweiter lokaler Bereich 104. Bei dem Netz 100 kann es sich im allgemeinsten Fall um das Internet handeln, wo- bei die lokalen Bereiche 102 und 104 wiederum vernetzte Umgebungen darstellen, die jedoch eine in sich geschlossene Struktur bilden, die über einen oder mehrere Ports mit dem Netz 100 in Verbindung stehen.The techniques used today to protect software applications typically require a license server that is accessible over the network and that can authorize license requests through the software application. In addition to the initial authorization at execution time of the application must have a network connection between the license server and the computer on which the software application is running, exis ¬ animals, on the validity of the authorization can be verified at regular intervals. For dongle solutions, the dongle must be connected to the respective computer for the entire time the application is used. An environment is described below with reference to FIG. 1, in which licenses for the use or use of a specific application A are provided and used in a conventional manner. FIG. 1 shows an environment comprising a network 100 as a central element. Various areas are interconnected via this network, for example a first local area 102 and a second local area 104. The network 100 may in the most general case be the Internet, with the local areas 102 and 104 again representing networked environments However, they form a self-contained structure, which communicate with the network 100 via one or more ports.
Alternativ kann das Netz auch eine Netzwerkumgebung innerhalb einer Entität sein, wie beispielsweise innerhalb eines Unternehmens oder innerhalb eines Konzerns oder auch innerhalb einer Forschungseinrichtung oder einer Universität. In diesem Fall können die lokalen Bereiche 102 und 104 einzel- nen Tochterunternehmen des Konzerns bzw. einzelnen Abteilungen eines Unternehmens zugeordnet sein. Im Fall von Forschungseinrichtungen oder Universitäten können die lokalen Umgebungen 102 und 104 unterschiedlichen Forschungsabteilungen bzw. Lehrstühlen zugeordnet sein.Alternatively, the network may also be a network environment within an entity, such as within an enterprise or within a corporation or within a research facility or university. In this case, the local areas 102 and 104 can be assigned to individual subsidiaries of the group or individual departments of a company. In the case of research institutions or universities, the local environments 102 and 104 may be associated with different research departments.
Die lokale Umgebung 102 umfasst einen Server 106, der über eine Firewall 108 mit dem Netz 100 kommunizieren kann. Die lokale Umgebung 102 umfasst ferner ein lokales Netzwerk (LAN = local area network) 110, über das der Lizenzserver 106 mit einer Mehrzahl von Datenverarbeitungsanlagen 112-1 bis 112-n verbunden ist. Für das Netz 100 umfasst die lokale Umgebung 102 beispielsweise eine Netz-Adresse „XYZ", unter der der lokale Bereich 102 im Netz 100 erreichbar ist. Die lokale Umgebung 102 ermöglicht die Ausführung einer An- Wendungssoftware A auf einer oder mehreren der Datenverarbeitungsanlagen 112-1 bis 112-n, wobei die erforderliche Software beispielsweise von einem Anbieter 114 erworben wurde, bzw. Nutzungsrechte für die Verwendung der Anwendung A erworben wurden. Diese Nutzungsrechte liegen in Form von Benutzungsberechtigungen oder Lizenzen vor, die für die lokale Umgebung 102 erworben wurden. Diese Benutzungsberechtigungen oder Lizenzen sind in dem Server 106, beispiels- weise dem Lizenzserver, in einer Datenbank 116 abgelegt. Der Lizenzserver speichert in der Datenbank 116 die für die Nutzung der Anwendung A verfügbaren Lizenzen, wobei für Softwaremodule, wie beispielsweise die Nutzung der Anwendung A verschiedene Informationen der Lizenz zugeordnet sein können, wie beispielsweiseThe local environment 102 includes a server 106 that can communicate with the network 100 via a firewall 108. The local environment 102 further comprises a local area network (LAN) 110, via which the license server 106 is connected to a plurality of data processing systems 112-1 to 112-n. For the network 100, the local environment 102 comprises, for example, a network address "XYZ", under which the local area 102 can be reached in the network 100. The local area 102 makes it possible to execute application software A on one or more of the data processing installations 112-. 1 to 112-n, where the required software has been acquired, for example, from a supplier 114, or rights of use for the use of the application A were acquired. These rights of use are in the form of user authorizations or licenses acquired for the local environment 102. These user authorizations or licenses are stored in the server 106, for example the license server, in a database 116. The license server stores in the database 116 the licenses available for the use of the application A, and for software modules, such as the use of the application A, various information may be associated with the license, such as
• das Auslaufdatum der Lizenz,• the expiry date of the license,
• die maximale Anzahl der gleichzeitigen Instanzen einer Anwendung, • die maximale Anzahl von Computern,• the maximum number of concurrent instances of an application, • the maximum number of computers,
• die maximale Anzahl von Benutzern,• the maximum number of users,
• das Erzeugungsdatum,• the date of production,
• das Startdatum,• the start date,
• die derzeitige Anzahl von verfügbaren Instanzen, • Verkäuferinformationen und• the current number of available instances, • seller information and
• Benutzerinformationen.• User information.
Die für die Benutzung der Anwendung A und auch für die Benutzung von anderen in Fig. 1 nicht gezeigten Anwendungen erworbenen Lizenzen sind streng an die lokale Umgebung 102 gebunden, beispielsweise über die Netz-Adresse XYZ. Dies bedeutet, dass die erworbenen Lizenzen nur im lokalen Bereich 102 eingesetzt werden können, jeder andere Bereich außerhalb der lokalen Umgebung 102 würde bei einer Übertra- gung der Lizenzen eine Nutzung der Anmeldung nicht ermöglichen, da in diesem Fall der Bereich, in dem die externe Anwendung residiert, eine andere Netz-Adresse aufweisen würde, so dass ein Zugriff auf die Anwendung aufgrund der fehlenden Lizenz verweigert würde.The licenses acquired for the use of the application A and also for the use of other applications not shown in FIG. 1 are strictly bound to the local environment 102, for example via the network address XYZ. This means that the acquired licenses can be used only in the local area 102, any other area outside the local area 102 would not allow a use of the application when transferring the licenses, since in this case the area in which the external Application resides, would have a different network address, so that access to the application would be denied due to the missing license.
Wie oben bereits kurz erwähnt wurde, existieren in Computerumgebungen, wie sie beispielsweise anhand der Fig. 1 beschrieben sind, weitere Umgebungen, beispielsweise die lo- kale Umgebung 104, die von der lokalen Umgebung 102 entfernt angeordnet ist und unter einer eigenen Netz-Adresse „ABC" im Netz 100 adressierbar ist. Die lokale Umgebung 104 kann ähnlich aufgebaut sein wie die lokale Umgebung 102. Die lokale Umgebung 104 umfast bei dem in Fig. 1 gezeigten Beispielen ebenfalls einen Server 102, der über ein lokales Netzwerk 122 mit einer Mehrzahl von Datenverarbeitungsanlagen 124-1 bis 124-n kommuniziert. Der Server 120 umfasst wiederum eine Datenbank und ist mit dem Netz 100 verbunden, beispielsweise wiederum über eine Firewall.As has already been briefly mentioned above, in computer environments, as described, for example, with reference to FIG. 1, there are other environments, for example the local area. kale environment 104 remote from the local environment 102 and addressable under its own network address "ABC" in the network 100. The local environment 104 may be similar in construction to the local environment 102. The local environment 104 includes 1 also shows a server 102 which communicates with a plurality of data processing systems 124-1 through 124-n via a local area network 122. The server 120 in turn comprises a database and is connected to the network 100, again via a network firewall.
Es sei nunmehr angenommen, dass ein Wissenschaftler oder ein Ingenieur eine komplexe Simulation unter Verwendung eines Computersystems durchführen muss, beispielsweise eine komplexe Strömungssimulation oder eine komplexe Simulation einer Strukturmechanik. Ferner sei angenommen, dass die En- tität, in der der Wissenschaftler arbeitet, beispielsweise ein Lehrstuhl, Lizenzen an einem Softwareprogramm erworben hat, die eine Durchführung einer solchen Simulation ermög- licht. Unter Bezugnahme auf Fig. 1 ist die lokale Umgebung 102 durch den Lehrstuhl des Wissenschaftlers gebildet, und der Lizenzserver 106 enthält mehrere Lizenzen, die eine Ausführung/Nutzung der Anwendung A auf einer oder auf mehreren der Datenverarbeitungsanlagen 112 zulassen. Es kann nun jedoch die Situation eintreten, dass die lokal verfügbaren Ressourcen, nämlich die Datenverarbeitungsanlagen 112 durch andere Mitarbeiter belegt sind, so dass es nicht möglich ist, die Simulation innerhalb der lokalen Umgebung 102 auszuführen. Es sei nun angenommen, dass der Wissenschaft- ler Zugriff auf eine Nachbarabteilung bzw. einen Nachbarlehrstuhl hat, beispielsweise die lokale Umgebung 104. Zur Durchführung der Simulation möchte der Wissenschaftler nunmehr auf die ihm zugängliche weitere lokale Umgebung 104 ausweichen und erzeugt daher ein Abbild seiner lokalen Si- mulationsumgebung und leitet diese beispielsweise an die entfernt angeordnete Datenverarbeitungsanlage 124-1 in der entfernten lokalen Umgebung 104 weiter, wie dies in Fig. 1 bei 124-1 mit der Bezeichnung „Anwendung A'" gezeigt ist. Der Wissenschaftler wird jedoch feststellen, dass die Simulation nicht erfolgreich durchgeführt wird, da die Anwendung in der lokalen Umgebung 104 nicht genutzt werden kann, da eine Überprüfung der Lizenz fehlschlägt, da die Daten- Verarbeitungsanlage 124-1 keine Möglichkeit hat, auf die eigentlich verfügbare Lizenz zuzugreifen, die von der lokalen Umgebung 104 entfernt in der ersten lokalen Umgebung 102 auf dem Lizenzserver 106 liegt. Tatsächlich ist diese Situation heutzutage üblich, da Lizenzen an die Hardware innerhalb der lokalen Umgebung 102, der der Benutzer zugeordnet ist, gebunden ist, beispielsweise über eine IP- Adresse aus dem Netz XYZ und ein Zugriff auf die Lizenzserver von außen ist nicht zugelassen.It is now assumed that a scientist or an engineer must perform a complex simulation using a computer system, such as a complex flow simulation or a complex simulation of a structural mechanics. Furthermore, it is assumed that the entity in which the scientist works, for example a chair, has acquired licenses to a software program which makes it possible to carry out such a simulation. Referring to FIG. 1, the local environment 102 is formed by the chair of the scientist, and the license server 106 includes a plurality of licenses that permit execution / use of the application A on one or more of the computing devices 112. However, the situation may arise that the locally available resources, namely the data processing systems 112, are occupied by other employees, so that it is not possible to carry out the simulation within the local environment 102. It is now assumed that the scientist has access to a neighboring department or a neighboring chair, for example the local environment 104. In order to carry out the simulation, the scientist now wishes to avoid the further local environment 104 accessible to him and therefore generates an image of his local environment The simulation environment, for example, forwards it to the remotely located data processing facility 124-1 in the remote local area 104, as shown in FIG. 1 at 124-1 labeled "Application A '". However, the scientist will find that the simulation is not successful because the application can not be used in the local environment 104 because a license check fails because the data processing facility 124-1 has no possibility of being actually available License located in the first local environment 102 on the license server 106 remote from the local environment 104. In fact, this situation is common nowadays because licenses are bound to the hardware within the local environment 102 to which the user is assigned, for example via an IP address from the network XYZ, and access to the license servers from the outside is not permitted.
Zur Lösung dieses Problems besteht grundsätzlich die Möglichkeit, dass der Benutzer, also der Wissenschaftler, der die Simulation vorübergehend auslagern möchte, beim Anbieter 114 eine weitere, ggf. temporär beschränkte Lizenz erwirbt, was jedoch unter Umständen nur mit sehr viel Aufwand möglich ist und ggf. auch mit zusätzlichen Kosten einhergeht. Eine andere Möglichkeit bestünde darin, der Datenverarbeitungsanlage 124, auf der die Simulation extern durchgeführt werden soll, Zugriff auf den Lizenzserver 106 zu gewähren, was jedoch erfordern würde, die Firewall 108 in der lokalen Umgebung 102 zu öffnen, was aus sicherheitstechnischen Gründen nicht erwünscht ist.To solve this problem, there is always the possibility that the user, so the scientist who wants to temporarily outsource the simulation, the provider 114 another, possibly temporarily limited license acquires, but this may be possible only with great effort and possibly also comes with additional costs. Another possibility would be to give access to the license server 106 to the data processing system 124 on which the simulation is to be performed externally, which would however require opening the firewall 108 in the local environment 102, which is undesirable for safety reasons ,
Ausgehend von einem solchen Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, einen Ansatz zu schaffen, der es einem Benutzer einer Anwendung ermöglicht, eine außerhalb seiner lokalen Umgebung angeordnete Anwendung auf einfache Art unter Verwendung einer in der lokalen Umgebung nicht verwendeten (verfügbaren) Lizenz zu nutzen, die für eine Nutzung der Anwendung durch den Benut- zer innerhalb der lokalen Anordnung erworben wurde.SUMMARY OF THE INVENTION It is an object of the present invention to provide an approach that allows a user of an application to easily deploy an application located outside of its local environment using an unused (available) in the local environment. To use the license acquired for use of the application by the user within the local order.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und gemäß Anspruch 8, durch einen Lizenzserver gemäß Anspruch 10, durch eine lokale Umgebung gemäß Anspruch 12, ein Computersystem gemäß Anspruch 13 und ein Computerprogrammprodukt gemäß Anspruch 14 gelöst.This object is achieved by a method according to claim 1 and according to claim 8, by a license server according to claim 10, by a local environment according to claim 12, a computer system according to claim 13 and a computer program product according to claim 14.
Die vorliegende Erfindung schafft ein Verfahren zum Erzeugen einer mobilen Benutzungsberechtigung für eine Nutzung einer Anwendung außerhalb einer lokalen Umgebung,The present invention provides a method for generating a mobile usage privilege to use an application outside of a local environment,
wobei die lokale Umgebung zumindest eine Benutzungsbe- rechtigung für eine Nutzung der Anwendung innerhalb der lokalen Umgebung aufweist, wobei die lokale Umgebung die zumindest eine Benutzungsberechtigung von einem Anbieter der Anwendung erworben hat, undwherein the local environment has at least one user authorization for use of the application within the local environment, wherein the local environment has acquired the at least one user authorization from a provider of the application, and
wobei ansprechend auf eine Anforderung, die Anwendung außerhalb der lokalen Umgebung zu nutzen, eine mobile Benutzungsberechtigung basierend auf der Benutzungsberechtigung der lokalen Umgebung derart erzeugt wird, dass die Anwendung außerhalb der lokalen Umgebung er- kennt, dass die mobile Benutzungsberechtigung von der vom Hersteller der Anwendung als vertrauenswürdig betrachteten lokalen Umgebung stammt.wherein, responsive to a request to use the application outside the local environment, a mobile usage privilege is generated based on the usage privilege of the local environment such that the application recognizes outside the local environment that the mobile usage privilege is the one of the manufacturer of the application comes from a trusted local environment.
Die vorliegende Erfindung schafft ferner ein Verfahren zum Nutzen einer Anwendung außerhalb einer lokalen Umgebung, die zumindest eine Benutzungsberechtigung für eine Nutzung der Anwendung innerhalb der lokalen Umgebung aufweist, wobei die lokale Umgebung die Benutzungsberechtigung von einem Anbieter der Anwendung erworben hat, wobei das Verfah- ren folgende Schritte umfasst:The present invention further provides a method of utilizing an application outside a local environment that has at least one usage privilege for use of the application within the local environment, wherein the local environment has acquired the usage privilege from a provider of the application, wherein the method following steps include:
Erzeugen einer mobilen Benutzungsberechtigung gemäß dem erfindungsgemäßen Verfahren;Generating a mobile usage privilege according to the method of the invention;
Übertragen der mobilen Benutzungsberechtigung von der lokalen Umgebung an die Anwendung außerhalb der lokalen Umgebung; und Nutzen der Anwendung außerhalb der lokalen Umgebung basierend auf der mobilen Benutzungsberechtigung.Transmitting the mobile usage privilege from the local environment to the application outside the local environment; and Use of the application outside the local environment based on the mobile usage privilege.
Die vorliegende Erfindung schafft ferner einen Lizenzserver für eine lokale Umgebung, wobei der Lizenzserver zumindest eine Benutzungsberechtigung für eine Nutzung für eine Anwendung in der lokalen Umgebung speichert, die von einem Anbieter der Anwendung erworben wurde,The present invention further provides a license server for a local environment, wherein the license server stores at least one usage right for use for an application in the local environment acquired by a provider of the application,
wobei der Lizenzserver konfiguriert ist, um eine mobile Benutzungsberechtigung für eine Nutzung der Anwendung außerhalb der lokalen Umgebung zu erzeugen, undwherein the license server is configured to generate a mobile usage privilege to use the application outside the local environment, and
wobei der Lizenzserver konfiguriert ist, um anspre- chend auf eine Anforderung die Anwendung außerhalb der lokalen Umgebung zu nutzen, eine mobile Benutzungsberechtigung basierend auf der Benutzungsberechtigung der lokalen Umgebung derart erzeugt, dass die Anwendung außerhalb der lokalen Umgebung erkennt, dass die mobile Benutzungsberechtigung von der vom Hersteller der Anwendung als vertrauenswürdig betrachteten lokalen Umgebung stammt.wherein the license server is configured to, in response to a request, use the application outside the local environment, generating a mobile usage privilege based on the usage privilege of the local environment such that the application recognizes, outside of the local environment, that the mobile usage privilege is from the originated by the manufacturer of the application as trusted local environment.
Die vorliegende Erfindung schafft ferner eine lokale Umge- bung mit dem erfindungsgemäßen Lizenzserver und einer Datenverarbeitungsanlage für eine Ausführung der Anwendung. Ferner schafft die vorliegende Erfindung ein Computersystem, welches die lokale Umgebung und einen Computer zur Ausführung der externen Anwendung umfasst.The present invention further provides a local environment with the license server according to the invention and a data processing system for executing the application. Further, the present invention provides a computer system comprising the local environment and a computer for executing the external application.
Zusätzlich schafft die vorliegende Erfindung ein Computerprogrammprodukt mit Instruktionen, um bei Ausführung der Instruktionen auf einem Computer das erfindungsgemäße Verfahren durchzuführen.In addition, the present invention provides a computer program product with instructions to perform the method of the invention when executing the instructions on a computer.
Die vorliegende Erfindung überkommt die im Stand der Technik existierenden Probleme, die sich aufgrund der Beschränkung der Verwendung von lizenzierten Anwendungen auf admi- nistrative Bereiche und/oder Sicherheitsbereiche der Organisation, die die Lizenz erworben hat, beschränken. Dieses Haupthindernis der Verwendung von lizenzierter Software beispielsweise in einer Grid-Computerumgebung, die eine Mehrzahl von administrativen Bereichen (administrative do- mains) überspannt, wird gelöst. Der oben erwähnte, grundsätzliche Ansatz betreffend die Nutzung von Anwendungen unter der Verwendung von Lizenzen bleibt beibehalten, jedoch ändert sich der jeweilige Verhandlungspartner beim Aushan- dein der Verfügbarkeit einer Lizenz. Anstelle einer Verhandlung beispielsweise mit dem Anbieter der Anwendung kann nunmehr erfindungsgemäß ein Benutzer der lokalen Umgebung mit dem lokalen Lizenzserver eine Benutzungsberechtigung auf der Grundlage der dem Lizenzserver vorliegenden Benut- Zungsberechtigungen vereinbaren, die dann exportiert werden, um dem Benutzer eine Ausführung der Anwendung auf einem externen Rechner zu ermöglichen.The present invention overcomes the problems existing in the prior art which, due to the limitation of the use of licensed applications to admi- restrict the scope and / or security of the organization that acquired the license. This major obstacle to the use of licensed software, for example, in a grid computing environment that spans a plurality of administrative domains, is resolved. The above-mentioned basic approach regarding the use of applications under the use of licenses remains in force, but the negotiating partner changes at the time of the availability of a license. Instead of a negotiation with, for example, the provider of the application, according to the invention, a user of the local environment can now agree with the local license server on the basis of the user authorization available to the license server, which is then exported to the user to execute the application on an external user To allow computers.
Ferner können erfindungsgemäß auch Lizenzen für eine späte- re Nutzung reserviert werden, beispielsweise in Situationen, in denen innerhalb der lokalen Umgebung alle Ressourcen besetzt sind, kann ein Benutzer für einen späteren Zeitpunkt, wenn die Lizenzen wieder frei sind, Lizenzen reservieren, um seine Simulationen durchzuführen. Ebenso kann eine Ausführung oder Nutzung der Ressourcen zu einem späteren Zeitpunkt dann erwünscht sein, wenn zeitliche Abhängigkeiten bestehen, wie beispielsweise die Durchführung einer vorhergehenden Simulation, deren Ergebnisse dann für die weiterführende Simulation eingesetzt werden sollen.Furthermore, according to the invention, licenses can also be reserved for later use, for example in situations in which all resources within the local environment are occupied, a user can reserve licenses for his simulations for a later time when the licenses are free again perform. Likewise, execution or use of the resources at a later time may be desirable if there are temporal dependencies, such as the execution of a previous simulation, the results of which are then to be used for the further simulation.
Ein wesentlicher Vorteil der vorliegenden Erfindung besteht darin, dass die oben beschriebenen Beschränkungen im Stand der Technik hinsichtlich der Nutzung externer Ressourcen überkommen werden. Insbesondere können lizenzierte Anwen- düngen, beispielsweise Simulationen von Strömungsdynamiken und Strukturmechaniken, entsprechend dem Bedarf flexibel auch außerhalb der eigenen lokalen Umgebung, d.h. der eigenen Rechenressourcen genutzt werden, beispielsweise in ei- ner Grid-Umgebung. Ebenso können nun auch Cloud-Ressourcen genutzt werden.A significant advantage of the present invention is that the above-described limitations in the prior art over the use of external resources are overcome. In particular, licensed applications, for example simulations of flow dynamics and structural mechanics, can be flexibly used outside of their own local environment, ie their own computing resources, for example, in accordance with the requirements. ner grid environment. Likewise, cloud resources can now be used.
Ferner ermöglicht der erfindungsgemäße Ansatz, eigene Li- zenzen dynamisch, z.B. durch die eines ASP (Application Service Provider) zu ergänzen, um dadurch die Berechnung zu beschleunigen oder komplexere Berechnungen durchführen zu können. Der Application Service Provider besitzt beispielsweise eine oder mehrere Lizenzen an einer weiteren Soft- wareanwendung, die eine besondere Berechnung ermöglicht bzw. besondere Berechnungen besonders schnell durchführt. In diesem Fall würde ein Wissenschaftler, in dessen lokaler Umgebung diese zusätzlichen Softwarepakete nicht zur Verfügung stehen, diese vorübergehend von dem ASP erwerben („an- mieten"), um so innerhalb seiner lokalen Umgebung 102 die Vorteile der vom ASP bereitgestellten zusätzlichen Software zu nutzen. Im Stand der Technik würde er das selbe Problem antreffen, welches oben erläutert wurde, nämlich, dass innerhalb seiner lokalen Umgebung 102 die „angemietete" An- Wendungssoftware nicht verwendet werden kann, da die Datenverarbeitungsanlage in der lokalen Anwendung 102 keine Möglichkeit hat, auf die beim ASP abgelegte, durch den ASP erworbene Lizenz zuzugreifen, so eine Ausführung der Anwendung zu ermöglichen. Auch ein solches Szenario wird durch den erfindungsgemäßen Ansatz ermöglicht, wobei in diesem Fall der ASP nach dem Anmieten der zusätzlichen Rechenressource durch den Benutzer der lokalen Umgebung die erforderliche Lizenz bzw. mobile Benutzungsberechtigung erstellt, basierend auf den Lizenzen, über die der ASP ver- fügt, und diese erzeugte, mobile Benutzungsberechtigung dann für die Ausführung der Anwendung in der lokalen Umgebung an diese weitergibt.Furthermore, the approach according to the invention makes it possible to use own licenses dynamically, e.g. by adding an ASP (Application Service Provider) to speed up the calculation or perform more complex calculations. For example, the application service provider has one or more licenses for another software application that enables a special calculation or makes special calculations very quickly. In this case, a scientist in whose local area these additional software packages are not available would temporarily acquire ("rent") them from the ASP so as to take advantage of the additional software provided by the ASP within their local environment 102 In the prior art, he would encounter the same problem discussed above, namely that within his local environment 102 the "rented" application software can not be used because the data processing equipment in the local application 102 has no possibility access the ASP's license acquired by the ASP to allow the application to run. Such a scenario is also made possible by the approach according to the invention, in which case the ASP, after leasing the additional computing resource by the user of the local environment, creates the required license or mobile user authorization based on the licenses that the ASP has and then propagate this generated mobile usage privilege to the application in the local environment for execution.
Ausführungsbeispiele der vorliegenden Erfindung arbeiten mit einer lokalen Umgebung, in der entweder mehrere Lizenzen oder nur eine Lizenz für eine Anwendung oder auch mehrere Lizenzen für verschiedene Anwendungen vorgesehen sind. Für den Fall, dass nur eine Lizenz für eine Anwendung vor- gesehen ist, kann diese bei herkömmlichen Ansätzen nicht verwendet werden, wenn alle Ressourcen durch andere Anwendungen innerhalb der lokalen Umgebung besetzt sind. Ein Benutzer kann dann nicht auf die möglicherweise externe ver- fügbaren Ressourcen ausweichen, da die erforderliche Lizenz dort nicht sichtbar ist. Erfindungsgemäß wird jedoch auch in einem solchen Fall eine externe Anwendung auf die oben beschriebene Art und Weise ermöglicht. Wenn mehrere Lizenzen für eine Anwendung innerhalb der lokalen Umgebung exis- tieren, kann auch dann, wenn durch eine erste Ausführung der Anwendung alle verfügbaren Ressourcen oder ein Großteil der verfügbaren Ressourcen innerhalb der lokalen Umgebung belegt ist, eine externe Ausführung der Anwendung erfolgen, da zumindest eine weitere, verfügbare Lizenz vorliegt, also eine Lizenz, die gerade nicht benutzt wird.Embodiments of the present invention operate with a local environment in which either multiple licenses or only one license for one application or multiple licenses for different applications are provided. In the event that only one license for an application is This can not be used in conventional approaches if all resources are occupied by other applications within the local environment. A user can not then switch to the potentially external resources available because the required license is not visible there. According to the invention, however, an external application in such a case is made possible in the manner described above. If multiple licenses exist for an application within the local environment, even if a first run of the application allocates all available resources or a majority of the available resources within the local environment, then an external execution of the application can occur There is another license available, which is a license that is currently not in use.
Gemäß Ausführungsbeispielen der vorliegenden Erfindung wird die mobile Benutzungsberechtigung derart signiert, dass die Ressource, auf der die Anwendung extern ausgeführt werden soll, eine Prüfung durchführen kann, in welcher lokalen Umgebung die Benutzungsberechtigung erzeugt wurde. Beispielsweise wird bei einer Anforderung nach einer mobilen Benutzungsberechtigung gleichzeitig der private Schlüssel des lokalen Lizenzservers verwendet, um die mobile Benutzungs- berechtigung zu signieren. An der entfernten Position kann dann mit dem öffentlichen Schlüssel des Lizenzservers die Signatur der Benutzungsberechtigung geprüft werden. Hierdurch wird sichergestellt, dass die Anwendung bei ihrer Ausführung auf der externen Ressource die mobile Benut- Zungsberechtigung als von dem Lizenzserver der lokalen Umgebung stammend erkennt, und somit als aus einer vertrauenswürdigen Umgebung stammend anerkennt.According to embodiments of the present invention, the mobile usage privilege is signed such that the resource on which the application is to be executed externally can make a check on which local environment the usage privilege was generated. For example, in a request for a mobile use privilege, the private license key of the local license server is used to sign the mobile usage privilege. At the remote position, the signature of the user authorization can then be checked with the public key of the license server. This ensures that the application, when running on the external resource, recognizes the mobile user as originating from the local environment's license server, and thus recognizes it as coming from a trusted environment.
Eine weitere Möglichkeit zur Erzeugung der mobilen Benut- Zungsberechtigung besteht gemäß Ausführungsbeispielen darin, die für die Ausführung einer Anwendung erforderlichen Eingangsdaten ebenfalls in die Erzeugung der Benutzungsberechtigung einzubeziehen. Diese Eingabedaten, beispielswei- se die für eine Simulation erforderlichen Eingabedaten, werden dann zusammen mit der Benutzungsberechtigung übermittelt, wobei die Eingabedaten verschlüsselt sind, beispielsweise in Form eines Hash-Codes. Die Ausführung der Anwendung an einer externen Position ist dann nur unter Zugrundelegung genau dieser Eingabewerte möglich, wodurch sichergestellt ist, dass jedes weitere Verbreiten der mobilen Benutzungsberechtigung bestenfalls zu einer wiederholten Ausführung der Anwendung mit immer gleichen Ergebnissen führt.Another possibility for generating the mobile user authorization is, according to embodiments, also to include the input data required for the execution of an application in the generation of the user authorization. These input data, for example If the input data required for a simulation are transmitted together with the usage authorization, the input data is encrypted, for example in the form of a hash code. Execution of the application at an external location is then possible only on the basis of precisely these input values, thereby ensuring that any further spread of the mobile usage privilege at best leads to repeated execution of the application with always the same results.
Weitere Ausgestaltungen der Erfindung sind in den Unteransprüchen definiert.Further embodiments of the invention are defined in the subclaims.
Nachfolgend werden unter Bezugnahme auf die beiliegenden Zeichnungen bevorzugte Ausführungsbeispiele der vorliegenden Erfindung näher erläutert. Es zeigen:Hereinafter, preferred embodiments of the present invention will be explained in more detail with reference to the accompanying drawings. Show it:
Fig. 1 eine schematische Darstellung einer Computerumge- bung gemäß dem Stand der Technik mit einer Mehrzahl von lokalen Umgebungen;1 is a schematic representation of a computer environment according to the prior art with a plurality of local environments;
Fig. 2 die Computerumgebung aus Fig. 1, anhand der das erfindungsgemäße Verfahren gemäß einem Ausfüh- rungsbeispiel der vorliegenden Erfindung erläutert wird;2 shows the computer environment of FIG. 1, with reference to which the method according to the invention is explained according to an embodiment of the present invention;
Fig. 3 ein Flussdiagramm, das das erfindungsgemäße Verfahren zur Nutzung einer externen Anwendung gemäß einem Ausführungsbeispiel darstellt;3 is a flow chart illustrating the method according to the invention for using an external application according to an embodiment;
Fig. 4 ein Flussdiagramm, das den Ablauf der Lizenznutzung durch die externe Anwendung darstellt; undFig. 4 is a flowchart illustrating the procedure of license usage by the external application; and
Fig. 5 ein Flussdiagramm, das den Ablauf einer Lizenznachverhandlung durch die externe Anwendung darstellt. Fig. 2 zeigt das anhand der Fig. 1 beschriebene Computersystem. Die bereits anhand der Fig. 1 beschriebenen Komponenten finden sich in der Fig. 2 wieder und sind mit gleichen Bezugszeichen versehen. Eine erneute Beschreibung der Funktionalität dieser Komponenten und eine erneute Beschreibung der Zusammenwirkung derselben erfolgt nicht. Diesbezüglich wird auf die obigen Ausführungen verwiesen.Fig. 5 is a flow chart illustrating the process of license renegotiation by the external application. FIG. 2 shows the computer system described with reference to FIG. 1. The components already described with reference to FIG. 1 can be found in FIG. 2 again and are provided with the same reference numerals. A re-description of the functionality of these components and a re-description of the interaction of the same does not occur. In this regard, reference is made to the above statements.
Wie aus einem Vergleich der Fig. 1 und der Fig. 2 zu erken- nen ist, wurde in der Fig. 2 schematisch der Weg eines sogenannten Lizenztoken (mobile Benutzungsberechtigung) T eingezeichnet. In dem in Fig. 2 dargestellten Szenario sei angenommen, dass ein Wissenschaftler innerhalb eines Lehrstuhls (entsprechend der lokalen Umgebung 102) keine Mög- lichkeit hat, eine Simulation beispielsweise durch Durchführung der Anwendung A auszuführen, da die verfügbaren Ressourcen durch andere Mitarbeiter und Kollegen belegt sind.As can be seen from a comparison of FIG. 1 and FIG. 2, FIG. 2 schematically shows the path of a so-called license token (mobile use authorization) T. In the scenario illustrated in FIG. 2, it is assumed that a scientist within a chair (corresponding to the local environment 102) has no opportunity to carry out a simulation, for example by performing the application A, since the available resources are occupied by other employees and colleagues are.
In diesem Fall richtet der Benutzer in der Umgebung 102 eine Anfrage an den Lizenzserver 106, der überprüft, ob eine weitere Lizenz, die eine Ausführung der Anwendung A zu- lässt, verfügbar ist. Ist eine solche Lizenz verfügbar, so werden basierend auf den Lizenzen, die der Lizenzserver 106 umfasst, die Parameter definiert, die die mobile Lizenz bzw. Benutzungsberechtigung haben soll. Eine Anforderung nach einer Lizenz kann beispielsweise Informationen über den Benutzer umfassen, beispielsweise in Form seines Namens, des Unternehmens, des geographischen Ortes und des IP/Host-Namens . Ferner kann ein Zeitstempel der Anfrage vorgesehen sein. Ferner kann vermerkt werden, wie viele Instanzen angefordert wurden sowie der Name der angeforderten Softwarefunktionalität/Anwendung. Im Zusammenhang mit der Anwendung kann für die Lizenzanfrage ferner vereinbart wer- den, wann die Lizenz beginnen soll, wann sie auslaufen soll, wie viele CPUs gleichzeitig genutzt werden sollen, und im Falle einer flexiblen Startzeit, die Dauer der Nutzung . Auf der Grundlage dieser Informationen wird dann die mobile Benutzungsberechtigung T erzeugt und vorzugsweise verschlüsselt und von dem Lizenzserver 106 zusammen mit den Informationen betreffend die Ausführung der Anwendung an die entfernte Umgebung 104 übertragen, wo die mobile Lizenz beispielsweise in einem Server 120 abgelegt sein kann, auf den die Datenverarbeitungsanlage 124-1 zugreifen kann, auf der die externe Ausführung der Anwendung A (Anwendung A' ) ausgeführt werden soll.In this case, the user in the environment 102 makes a request to the license server 106, which checks to see if another license allowing execution of the application A is available. If such a license is available, then based on the licenses that the license server 106 includes, the parameters that the mobile license or user authorization should have are defined. For example, a request for a license may include information about the user, such as his name, business, geographic location, and IP / host name. Furthermore, a timestamp of the request may be provided. It can also be noted how many instances have been requested as well as the name of the requested software functionality / application. In connection with the application, it can also be agreed for the license request when the license should start, when it should expire, how many CPUs are to be used simultaneously, and, in the case of a flexible start time, the duration of use. Based on this information, then the mobile use right T is generated and preferably encrypted and transmitted from the license server 106 together with the information regarding the execution of the application to the remote environment 104, where the mobile license may be stored in a server 120, for example the data processing system 124-1 can access on which the external execution of the application A (application A ') to be executed.
Anders als im Stand der Technik ist es der Datenverarbeitungsanlage 124-1 nunmehr möglich, bei Ausführung der Anwendung die erforderlichen Lizenzinformationen von dem Ser- ver 120 zu erhalten.Unlike in the prior art, it is now possible for the data processing system 124-1 to obtain the required license information from the server 120 when the application is executed.
Vorzugsweise umfasst die Anfrage am Lizenzserver 106 auch einen öffentlichen Schlüssel des Servers 120, mit dem die mobile Benutzungsberechtigung T verschlüsselt wird, so dass sichergestellt ist, dass nur der Server 120 oder ggf. nur die Ressource 124-1 die mobile Lizenz unter Verwendung des privaten Schlüssels der Einheit entschlüsseln kann. Hierdurch ist sichergestellt, dass die mobile Benutzungsberechtigung im Netz 100 nicht von Unbefugten eingesehen und ma- nipuliert werden kann. Durch die zusätzliche Signierung mit dem privaten Schlüssel des Lizenzservers 106 kann bei Ausführung der Anwendung A' diese die Lizenz als von einer glaubwürdigen Umgebung stammend anerkennen.Preferably, the request to the license server 106 also includes a public key of the server 120, which encrypts the mobile use right T, so as to ensure that only the server 120, or possibly only the resource 124-1, will use the mobile license using the private license Key of the unit can decrypt. This ensures that the mobile user authorization in network 100 can not be viewed and manipulated by unauthorized persons. By additionally signing with the private key of the license server 106, when the application A 'executes, it may recognize the license as originating from a credible environment.
Zusätzlich zu den oben genannten Informationen kann vorgesehen sein, dass die Eingabeparameter für die Ausführung der Anwendung, beispielsweise die Eingabeparameter für die Durchführung einer bestimmten Simulation in der mobilen und verschlüsselten Benutzungsberechtigung enthalten sind, bei- spielsweise in Form eines Hash-Codes, so dass bei Starten der Anwendung in der externen Umgebung 104 diese nur dann startet, wenn die vorbestimmten Eingabewerte eingegeben werden und alternativ kann auch gleich auf die in der mobi- len Berechtigung enthaltenen Eingabewerte zugegriffen werden. Dies stellt sicher, dass selbst bei einem Missbrauch der erzeugten mobilen Berechtigung die Anwendung immer nur das gleiche Ergebnis liefert und somit ein Missbrauch nicht möglich ist.In addition to the above-mentioned information, it may be provided that the input parameters for executing the application, for example the input parameters for carrying out a specific simulation, are contained in the mobile and encrypted use authorization, for example in the form of a hash code, so that Starting the application in the external environment 104 only starts when the predetermined input values are entered and, alternatively, it can also be applied immediately to those in the mobile device. len permission contained in the input values. This ensures that even if the generated mobile permission is misused, the application will only ever deliver the same result and abuse will not be possible.
Vorzugsweise betrifft der erfindungsgemäße Ansatz ein Verfahren für die Erzeugung und Verwaltung von beweglichen Lizenzen für digitale Objekte, beispielsweise Softwarepro- gramme und Softwareanwendungen. Das Verfahren umfasst vorzugsweise eine Mehrzahl von Komponenten. Zum einen ist die Serverkomponente im Form des Lizenzservers 106 vorgesehen, durch welche die verfügbaren Lizenzen verwaltet werden. Der Anwender bzw. ein Programm des Anwenders legt unter Zugrun- delegung der Informationen von dem Lizenzserver 106 eine Nutzung einer Lizenz fest und erzeugt die mobile Benutzungsberechtigung, beispielsweise in Form eines Service Level Agreement. Diese Information wird dann durch den Lizenzserver zur Verfügung gestellt, wobei in der lokalen Um- gebung ferner eine Komponente für die Erfassung der Lizenznutzung vorgesehen ist, die zur Laufzeit der Anwendung prüft, ob die tatsächliche Nutzung der Lizenz der zuvor Vereinbarten entspricht, und die erforderlichen Informationen an eine Abrechnungskomponente weitergibt. Die Komponen- te der Anwendung, die die Autorisierung durchführt, prüft das Service Level Agreement auf Gültigkeit und schaltet die Anwendung frei oder verweigert ihre Ausführung.Preferably, the approach according to the invention relates to a method for the generation and management of movable licenses for digital objects, for example software programs and software applications. The method preferably comprises a plurality of components. On the one hand, the server component is provided in the form of the license server 106, by means of which the available licenses are managed. Based on the information from the license server 106, the user or a program of the user determines use of a license and generates the mobile user authorization, for example in the form of a service level agreement. This information is then provided by the license server, and the local environment also includes a license usage tracking component that verifies, at run time, whether the actual usage of the license is as previously agreed, and the required Forwards information to a billing component. The component of the application that is performing the authorization checks the service level agreement for validity and releases the application or denies its execution.
Diese Komponente ist beispielsweise die Datenverarbeitungs- einheit 124 in der entfernten Umgebung. Die wesentliche Erneuerung des erfindungsgemäßen Ansatzes besteht in der Unabhängigkeit des Autorisierungsverfahrens von der Erreichbarkeit des Lizenzservers beim Starten der Anwendung und während der Laufzeit. Stattdessen wird vor der Nutzung der Anwendung die Autorisierung lokal mit dem Lizenzserver 106 der lokalen Umgebung, also der Heimateinrichtung des Benutzers ausgehandelt. Diese Autorisierung liegt dann in Form der oben beschriebenen mobilen Benutzungsberechtigung vor und kann auch als elektronischer Vertrag oder Service Level Agreement bezeichnet werden. Diese wird dann an den Ort der Ausführung der Anwendung, beispielsweise an den Computer 124-1 transportiert und dort zur Laufzeit überprüft.This component is, for example, the data processing unit 124 in the remote environment. The essential renewal of the approach according to the invention consists in the independence of the authorization process from the availability of the license server when starting the application and during the runtime. Instead, before using the application, the authorization is negotiated locally with the license server 106 of the local environment, ie the user's home device. This authorization is then in the form of the mobile user authorization described above and may also be referred to as an electronic contract or service level agreement. This is then transported to the site of execution of the application, for example to the computer 124-1, where it is checked at runtime.
Diese Vorgehensweise wird näher anhand der Fig. 3 erläutert. In einem ersten Schritt S300 erzeugt die Anforderung der Lizenz, wobei ein Benutzer der innerhalb der Umgebung 102 arbeitet seine Erfordernisse im Hinblick auf eine Li- zenz definiert und diese Erfordernisse an den Lizenzserver 106 in Form einer Anforderung eingibt. Dann wird im Schritt S302 die Verfügbarkeit einer entsprechenden Lizenz, wie sie vom Benutzer erwünscht ist, verhandelt. Genauer gesagt wird im Lizenzserver 106 festgestellt, ob eine erwünschte Lizenz basierend auf den verfügbaren Lizenzen innerhalb des Lizenzservers erteilt werden kann oder nicht. Im Schritt S304 wird dann bestimmt, ob eine entsprechende Lizenz verfügbar ist oder nicht. Sind beispielsweise alle verfügbaren Lizenzen für eine bestimmte Anwendung in Benutzung, so ist diese für die im Schritt S300 formulierte Lizenzanforderung nicht verfügbar, so dass das Verfahren vom Schritt S304 zum Schritt S306 geht und den Benutzer darüber informiert, dass die von ihm erwünschte Lizenz nicht verfügbar ist.This procedure will be explained in more detail with reference to FIG. 3. In a first step S300, the request for the license, whereby a user working within the environment 102 defines his requirements with regard to a license, and inputs these requirements to the license server 106 in the form of a request. Then, in step S302, the availability of a corresponding license as desired by the user is negotiated. Specifically, the license server 106 determines whether or not a desired license can be granted based on the available licenses within the license server. In step S304, it is then determined whether or not a corresponding license is available. For example, if all available licenses are in use for a particular application, it is not available for the license request formulated in step S300 so that the method moves from step S304 to step S306 informing the user that the license he desires is not available is.
Wird im Schritt S304 jedoch festgestellt, dass aufgrund der verfügbaren Lizenzen die Anforderung des Benutzers erfüllt werden kann, so wird die mobile Benutzungsberechtigung in Form eines Lizenz-Service Level Agreement im Schritt S308 erzeugt und im Schritt S310 an den Zielrechner 124-1 (siehe Fig. 2) übertragen. Wird nun am Rechner 124-1 die Anwendung ausgeführt, wie dies im Schritt S312 gezeigt ist, so wird überprüft, ob eine Autorisierung in Form der mobilen Benutzungsberechtigung vorliegt oder nicht. Wird im Schritt S314 festgestellt, dass das Service Level Agreement erfüllt wur- de, also die Autorisierung zur Anwendungsausführung vorliegt, so werden im Schritt S316 die sogenannten „Accoun- ting" Daten gespeichert, die beispielsweise Informationen über die Art und Dauer der Nutzung und ggf. über eine Ab- rechnung enthalten. Anderenfalls wird im Schritt S318 eine Fehlerausgabe erzeugt und eine Analyse der Ursachen durchgeführt .However, if it is determined in step S304 that the user's request can be satisfied due to the available licenses, then the mobile usage privilege is generated in the form of a license service level agreement in step S308 and sent to the target computer 124-1 (see FIG 2). If the application is now executed on the computer 124-1, as shown in step S312, it is checked whether or not there is an authorization in the form of the mobile user authorization. If it is determined in step S314 that the service level agreement has been fulfilled, ie the authorization for application execution is present, then the so-called "accounting" data is stored in step S316, which, for example, informs about the type and duration of use and, if necessary over a subscription invoice included. Otherwise, an error output is generated in step S318 and an analysis of the causes is performed.
Nachfolgend wird ein Beispiel für ein Anwendungsszenario näher beschrieben.The following is an example of an application scenario.
Ein Anwender will eine Simulationsanwendung für Strömungsdynamik; wegen mangelnder lokaler Kapazität auf mehreren Re- chenknoten einer entfernten Ressource (z.B. in der lokalen Umgebung 104) nutzen. Der Anwender braucht eine bestimmte Funktionalität (Feature) F der Anwendung A und will möglichst alle Rechenknoten 124 der entfernten Ressource 104 nutzen. Die entfernte Ressource 104 hat z.B. 20 Rechenkno- ten, die für den Anwender zur Verfügung stehen, und für das gewünschte Feature F der Simulationsanwendung A sind maximal 30 Lizenzen vorhanden, die parallel genutzt werden können.A user wants a simulation application for fluid dynamics; because of a lack of local capacity on multiple directory nodes of a remote resource (e.g., local environment 104). The user needs a certain functionality (feature) F of the application A and wants to use as far as possible all computing nodes 124 of the remote resource 104. The remote resource 104 has e.g. 20 calculation nodes, which are available to the user, and for the desired feature F of the simulation application A, a maximum of 30 licenses are available, which can be used in parallel.
Die Lizenzanforderung beinhaltet die Zahl der gewünschten Rechenknoten (20), das benötigte Feature F der Simulationsanwendung A und die geschätzte Zeit Z, die die Anwendung für die Simulation benötigt.The license request includes the number of desired compute nodes (20), the required feature F of the simulation application A and the estimated time Z the application requires for the simulation.
Der Anwender richtet die Anfrage über die Verfügbarkeit einer Lizenz die diese Anforderung erfüllt an den lokalen Lizenzserver 106.The user directs the request for the availability of a license that meets this requirement to the local license server 106.
Der lokale Lizenzserver 106 bestätigt die sofortige Verfüg- barkeit des Features F, allerdings nur für 15 Rechenknoten, da die anderen 15 Lizenzen bereits genutzt werden. 20 Lizenzen sind für das Feature F erst zu einem späteren Zeitpunkt T2 verfügbar, der dem Anwender mitgeteilt wird.The local license server 106 confirms the immediate availability of the feature F, but only for 15 compute nodes, since the other 15 licenses are already in use. 20 licenses are available for the feature F only at a later time T2, which is communicated to the user.
Der Anwender beschließt die Simulationsanwendung zum Zeitpunkt T2 auf 20 Rechenknoten zu nutzen und teilt das dem Lizenzserver mit. Der Lizenzserver reserviert die 20 Lizenzen zum Zeitpunkt T2 für die Dauer Z und erzeugt die mobile Benutzungsberechtigung (ein Service Level Agreement) , die neben benutzerspezifischen Angaben die Zahl der Rechenknoten (20), die Zahl der Lizenzen (20), das zu nutzende Feature F, die vereinbarte Startzeit T2 und die Dauer der Li- zenznutzung Z enthält. Die festgelegte mobile Benutzungsberechtigung wird, wie oben beschrieben, an die entfernte Umgebung 104 weitergeleitet und steht nun bei der Ausführung der Anwendung A in der lokalen Umgebung zur Verfügung.The user decides to use the simulation application at time T2 on 20 compute nodes and informs the license server. The license server reserves the 20 licenses at time T2 for duration Z and generates the mobile User authorization (a service level agreement), which contains user-specific information, the number of compute nodes (20), the number of licenses (20), the feature to be used F, the agreed start time T2, and the duration of the license usage Z. The designated mobile usage privilege is forwarded to the remote environment 104 as described above and is now available in the execution of the application A in the local environment.
Während der Ausführung der Simulationsanwendung A in der entfernten Umgebung 104 wird geprüft, ob die im Service Level Agreement vereinbarte Zahl von Rechenknoten (20) und die reservierten Lizenzen (20) für die Anwendung A zur Verfügung stehen und genutzt werden können. Basierend auf den Daten der Überwachung der Anwendung während der Laufzeit wird nach dem Ablauf der Anwendung bestimmt, ob das Service Level Agreement erfüllt wurde oder nicht und entsprechende Maßnahmen werden eingeleitet.During execution of the simulation application A in the remote environment 104, it is checked whether the number of compute nodes (20) agreed upon in the service level agreement and the reserved licenses (20) for the application A are available and can be used. Based on the application monitoring data at runtime, after the application has run, it is determined whether or not the service level agreement has been met, and appropriate action is taken.
Die Fig. 4 verdeutlicht den Schritt S312. Im Schritt S400 wird die Anwendung gestartet und im Schritt S402 wird versucht ein der Anwendung zugeordnetes Service Level Agreement zu lesen, wobei im Schritt S404 überprüft wird, ob ein solches Service Level Agreement vorhanden ist oder nicht. Fehlt ein solches Service Level Agreement, so wird die Anwendung im Schritt S406 beendet. Ansonsten wird im Schritt S408 eine Signatur der mobilen Benutzungsberechtigung überprüft, um sicherzustellen, dass diese gültig ist, also von einer vertrauenswürdigen Umgebung stammt. Wird im Schritt S410 festgestellt, dass die Signatur ungültig ist, so endet die Anwendung im Schritt S412. Ansonsten wird im Schritt S414 die in dem Service Level Agreement angegebene Lizenz überprüft, beispielsweise im Hinblick darauf, ob diese noch gültig ist oder ob sie schon abgelaufen ist, ob eine Maxi- malzahl von Ausführungen erreicht wurde oder Ähnliches. Wird im Schritt S416 erkannt, dass die Lizenz ungültig ist, so wird die Anwendung im Schritt S418 beendet. Anderenfalls läuft die Anwendung im Schritt S420 weiter, bis deren Ausführung im Schritt S422 beendet ist.FIG. 4 illustrates step S312. In step S400, the application is started and in step S402 an attempt is made to read a service level agreement associated with the application, and in step S404 it is checked whether such a service level agreement exists or not. If such a service level agreement is missing, the application is terminated in step S406. Otherwise, in step S408, a mobile-use-authority signature is checked to ensure that it is valid, that is, from a trusted environment. If it is determined in step S410 that the signature is invalid, the application ends in step S412. Otherwise, in step S414, the license specified in the service level agreement is checked, for example as to whether it is still valid or whether it has already expired, whether a maximum number of executions has been reached or something similar. If it is detected in step S416 that the license is invalid, the application is terminated in step S418. Otherwise, the application continues in step S420 until its execution is finished in step S422.
Zusätzlich zu der in Fig. 4 beschriebenen Verdeutlichung von Schritt S312 können bei Vorhandensein einer bidirektionalen Netzverbindung zwischen den externen Ressourcen 104 und dem Lizenzserver 106 der Heimateinrichtung 102 des Anwenders weitere Möglichkeiten des Verfahrens ausgenutzt werden. Fig. 5 verdeutlicht, wie während des Schritts S420 bei Vorhandensein einer bidirektionalen Netzverbindung zur Laufzeit einer Anwendung über die mobile Benutzungsberechtigung (das Service Level Agreement) nachverhandelt werden kann. Wenn durch den Anwender oder die Anwendung während das Ablaufs feststellt wird, dass das ausgehandelte Service Level Agreement nicht ausreicht, weil zum Beispiel ein weiteres Feature benötigt wird oder die geschätzte Zeit, die die Simulationsanwendung benötigt, zu kurz bemessen wurde, kann über eine auf den entfernten Ressourcen installierte vertraute Umgebung (Trusted Entity, z.B. der Server 120) mit dem Lizenzserver 106 der Heimateinrichtung 102 des Anwenders über eine Ausweitung des Service Level Agreements verhandelt werden.In addition to the clarification of step S312 described in FIG. 4, in the presence of a bidirectional network connection between the external resources 104 and the license server 106 of the user's home device 102, further possibilities of the method can be exploited. FIG. 5 illustrates how, during the step S420, in the presence of a bidirectional network connection, an application can be renegotiated at runtime via the mobile use authorization (the service level agreement). If it is determined by the user or the application during the process that the negotiated service level agreement is insufficient, for example, because another feature is needed or the estimated time required for the simulation application has been set too short, one of the remote resources installed trusted entity (eg, the server 120) are negotiated with the license server 106 of the home device 102 of the user through an extension of the service level agreement.
In Fig. 5 ist der Schritt S420 aus Fig. 4 nochmals darge- stellt. Beim Schritt S510 wird überprüft, ob eine Nachverhandlung erwünscht bzw. erforderlich ist. Sofern keine Nachverhandlung durchzuführen ist, verbleibt das Verfahren beim Schritt S420. Wird aber eine Notwendigkeit einer Nachverhandlung im Schritt S510 erkannt, so wird im Schritt S520 Kontakt mit einer auf der entfernten Ressource installierten vertrauenswürdigen Umgebung (Trusted Entity), z.B. dem Server 120, aufgenommen, und im Schritt S530 wird überprüft, ob eine Verhandlung mit dem Lizenzserver 106 der Heimateinrichtung 102 des Anwenders möglich ist, z.B. ob die erforderliche Verbindung zum Lizenzserver 106 hergestellt werden kann. Ist eine Verhandlung nicht möglich, z.B. aufgrund einer temporären Nicht-Erreichbarkeit der Li- zenzservers 106, kehrt das Verfahren zum Schritt S420 zurück.FIG. 5 again shows step S420 from FIG. 4. At step S510, it is checked if a post-negotiation is desired. If no renegotiation is to be performed, the method remains at step S420. However, if a need for renegotiation is detected in step S510, then contact is made with a Trusted Entity installed on the remote resource, eg server 120, in step S520, and it is checked in step S530 if a negotiation with the License server 106 of the home device 102 of the user is possible, for example, whether the required connection to the license server 106 can be made. If a negotiation is not possible, eg due to a temporary unavailability of the license CPU 106, the process returns to step S420.
Sofern eine Verhandlung mit dem Lizenzserver 106 möglich ist, wird im Schritt S540 überprüft, ob eine Erweiterung der mobilen Benutzungsberechtigung möglich ist. Im Schritt S550 wird überprüft, ob die Verhandlung mit dem Lizenzserver 106 erfolgreich ist. Ist die Verhandlung nicht erfolgreich, so kehrt das Verfahren zum Schritt S420 zurück.If a negotiation with the license server 106 is possible, it is checked in step S540 whether an extension of the mobile use authorization is possible. In step S550, it is checked if the negotiation with the license server 106 is successful. If the negotiation is unsuccessful, the process returns to step S420.
Ansonsten geht das Verfahren zum Schritt S560, wo eine neue mobile Benutzungsberechtigung durch den Lizenzserver 106 erzeugt wird, die im Schritt S570 an den Server 120 in der entfernten Umgebung 104 übertragen wird und die im Schritt S580 die existierende mobile Benutzungsberechtigung ersetzt. Alternativ kann auch eine ergänzende mobile Benutzungsberechtigung erzeugt werden, die die zu der existierenden Benutzungsberechtigung zusätzlichen Elemente um- fasst, so dass im Schritt S570 die existierende mobile Be- nutzungsberechtigung entsprechend ergänzt wird. Anschließend kehrt das Verfahren zum Schritt S420 zurück.Otherwise, the process goes to step S560, where a new mobile usage privilege is generated by the license server 106, which in step S570 is transmitted to the server 120 in the remote environment 104 and which replaces the existing mobile usage privilege in step S580. Alternatively, a supplementary mobile user authorization can be generated, which includes the additional elements to the existing user authorization, so that in step S570 the existing mobile user authorization is supplemented accordingly. Thereafter, the process returns to step S420.
Gegenüber herkömmlichen Ansätzen ist das anhand der Fig. 5 beschrieben Ausführungsbeispiel vorteilhaft, da die heutige Technologie - soweit die Reservierung von Benutzungsberechtigungen überhaupt unterstützt wird - eine Beendigung der Anwendung erzwingen würde, bei der üblicherweise bis zu diesem Zeitpunkt berechnete Simulationsergebnisse verloren gehen. Wenn dagegen eine Nachverhandlung erlaubt ist, kann ein neues Service Level Agreement bei Verfügbarkeit der erforderlichen Ressourcen entsprechend der Anforderung erzeugt werden und an die entfernten Ressourcen transportiert werden. Dort wird das alte Service Level Agreement durch das neue Service Level Agreement ersetzt und die Anwendung kann zu den im neuen Service Level Agreement vereinbarten Bedingungen weiterlaufen. Das oben erläuterte Verfahren stellt sicher, dass von Lizenzen geschützte Anwendungen an jedem beliebigen Ort auf das Vorhandensein der erforderlichen Lizenz überprüft werden können, auch unabhängig von einer Internetverbindung zur Heimateinrichtung, wie beispielsweise dem lokalen Lizenzserver 106 in der lokalen Umgebung 102. Das Service Level Agreement (mobile Benutzungsberechtigung) wird vorzugsweise digital durch ein entsprechendes digitales X.509 Zertifikat der Heimateinrichtung signiert und ist so gegen Veränderungen auf dem Transportweg oder am Zielort geschützt. Zusätzlich kann das Service Level Agreement auch mit einem digitalen X.509 Zertifikat eines Servers der Einrichtung verschlüsselt werden, auf deren Ressource die Anwendung ablaufen soll, beispielsweise des Servers 120 oder der Anlage 124 in Fig. 2. Auf diese Weise ist das Service Level Agreement während des Transports für Dritte unlesbar.Compared to conventional approaches, the embodiment described with reference to FIG. 5 is advantageous, since today's technology - insofar as the reservation of user authorizations is even supported - would force a termination of the application, in which simulation results usually calculated up to this point are lost. If, on the other hand, a renegotiation is permitted, a new service level agreement can be generated upon availability of the required resources according to the request and transported to the remote resources. There, the old service level agreement is replaced by the new service level agreement and the application can continue to run under the terms agreed in the new service level agreement. The above-discussed method ensures that applications protected by licenses can be checked for the existence of the required license at any location, even independently of an Internet connection to the home device, such as the local license server 106 in the local environment 102. The service level agreement (Mobile user authorization) is preferably digitally signed by a corresponding digital X.509 certificate of the home office and is protected against changes on the transport or at the destination. In addition, the service level agreement can also be encrypted with a digital X.509 certificate of a server of the device on whose resource the application is to run, for example server 120 or attachment 124 in FIG. 2. This is the service level agreement unreadable during transport for third parties.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass der erfindungsgemäße Ansatz auf inter-operable Standards aufsetzen kann und auch zur Sicherung des Inhalts gegen Verfälschung oder Zugriff von Dritten keine proprietären Protokolle verwendet werden müssen.A further advantage of the present invention is that the approach according to the invention can be based on inter-operable standards and that no proprietary protocols have to be used to secure the content against adulteration or access by third parties.
Abhängig von den Gegebenheiten können die Ausführungsbei- spiele der erfindungsgemäßen Verfahren in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette, CD oder DVD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken, das eines der Ausführungsbeispiele der erfindungsgemäßen Verfahren ausgeführt wird. Allgemein bestehen die Ausführungsbeispiele der vorliegenden Erfindung somit auch in Software-Programm-Produkten, bzw. Computer- Programm-Produkten bzw. Programm-Produkten mit einem auf einem Maschinen-lesbaren Träger gespeicherten Programmcode zur Durchführung eines der Ausführungsbeispiele der erfindungsgemäßen Verfahren, wenn eines der Software-Programm- Produkte auf einem Rechner oder auf einem Prozessor ab- läuft. In anderen Worten ausgedrückt, kann ein Ausführungsbeispiel der vorliegenden Erfindung somit als ein Computer- Programm bzw. Software-Programm bzw. Programm mit einem Programmcode zur Durchführung eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens realisiert werden, wenn das Programm auf einem Prozessor abläuft.Depending on the circumstances, the exemplary embodiments of the methods according to the invention can be implemented in hardware or in software. The implementation can be done on a digital storage medium, in particular a floppy disk, CD or DVD with electronically readable control signals, which cooperate with a programmable computer system, which is carried out one of the embodiments of the inventive method. In general, the embodiments of the present invention thus also in software program products, or computer program products or program products with a program code stored on a machine-readable carrier for performing one of the embodiments of the inventive method, if one of Software program products on a computer or on a processor. running. In other words, an embodiment of the present invention can thus be realized as a computer program or software program or program with a program code for carrying out an embodiment of a method according to the invention, when the program runs on a processor.
Der Prozessor kann von einem Computer, einer Chipkarte, einem digitalen Signalprozessor oder einem anderen integrier- ten Schaltkreis gebildet sein. The processor may be formed by a computer, smart card, digital signal processor or other integrated circuit.

Claims

Patentansprüche claims
1. Verfahren zur Erzeugung einer mobilen Benutzungsberechtigung (T) für eine Nutzung einer außerhalb einer lokalen Umgebung (102) befindlichen Softwareanwendung (A'),A method for generating a mobile usage privilege (T) for using a software application (A ') located outside a local environment (102),
wobei die lokale Umgebung (102) zumindest eine Benutzungsberechtigung für eine Nutzung der innerhalb der lokalen Umgebung (102) befindlichen Softwareanwendung (A) aufweist, wobei die lokale Umgebung (102) die zumindest eine Benutzungsberechtigung von einem Anbieter (114) der Softwareanwendung erworben hat,the local environment (102) having at least one usage privilege for use of the software application (A) within the local environment (102), the local environment (102) having acquired the at least one usage privilege from a vendor (114) of the software application,
wobei ansprechend auf eine Anforderung (S300) , die außerhalb der lokalen Umgebung (102) befindlichen Softwareanwendung (A' ) zu nutzen, in der lokalen Umgebung (102) eine mobile Benutzungsberechtigung (T) basierend auf der Benutzungsberechtigung der lokalen Umgebung (102) erzeugt und für eine Übertragung an die außerhalb der lokalen Umgebung (102) befindliche Softwareanwendung (A' ) bereitgestellt wird, undwherein in response to a request (S300) to use the software application (A ') located outside the local environment (102), in the local environment (102) generates a mobile usage privilege (T) based on the usage privilege of the local environment (102) and for transmission to the software application (A ') located outside the local environment (102), and
wobei die mobile Benutzungsberechtigung (T) durch die lokale Umgebung (102) derart erzeugt wird, dass die außerhalb der lokalen Umgebung (102) befindliche Softwareanwendung (A' ) erkennt, dass die mobile Benutzungsberechtigung (T) von der lokalen Umgebung (102) stammt .wherein the mobile usage privilege (T) is generated by the local environment (102) such that the software application (A ') located outside the local environment (102) recognizes that the mobile usage privilege (T) originates from the local environment (102) ,
2. Verfahren nach Anspruch 1, bei dem das Erzeugen der mobilen Benutzungsberechtigung (T) ein Überprüfen der Verfügbarkeit der Benutzungsberechtigung der lokalen Umgebung (102) umfasst, wobei die Benutzungsberechti- gung der lokalen Umgebung (102) verfügbar ist, falls keine Softwareanwendung (A) in der lokalen Umgebung (102) auf die Benutzungsberechtigung zugreift, oder falls keine mobile Benutzungsberechtigung für den gleichen Zeitraum erzeugt worden ist.2. The method of claim 1, wherein generating the mobile usage privilege (T) comprises verifying availability of the local environment usage privilege (102), wherein the usage privilege of the local environment (102) is available if no software application (A ) accesses the user authorization in the local environment (102), or if no mobile usage authorization has been generated for the same period.
wobei die mobile Benutzungsberechtigung (T) erzeugt wird, falls die Benutzungsberechtigung der lokalen Umgebung verfügbar ist.wherein the mobile usage privilege (T) is generated if the usage privilege of the local environment is available.
3. Verfahren nach Anspruch 1, bei dem die lokale Umgebung3. The method of claim 1, wherein the local environment
(102) eine Mehrzahl von Benutzungsberechtigungen für eine Nutzung der Softwareanwendung (A) innerhalb der lokalen Umgebung (102) aufweist, und bei dem das Erzeugen der mobilen Benutzungsberechtigung (T) ein Ü- berprüfen der Verfügbarkeit einer der Mehrzahl von Benutzungsberechtigungen der lokalen Umgebung (102) um- fasst,(102) has a plurality of usage authorizations for use of the software application (A) within the local environment (102), and wherein generating the mobile usage privilege (T) comprises verifying the availability of one of the plurality of usage privileges of the local environment ( 102),
wobei die mobile Benutzungsberechtigung erzeugt wird, falls eine Benutzungsberechtigung der lokalen Umgebung (102) verfügbar ist, während gleichzeitig die Verfüg- barkeit der Benutzungsberechtigung der lokalen Umgebung entsprechend des Verbrauchs durch die mobile Benutzungsberechtigung angepasst wird.wherein the mobile usage privilege is generated if a usage privilege of the local environment (102) is available while at the same time adapting the availability of the user privilege to the local environment according to the consumption by the mobile usage privilege.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die mobile Benutzungsberechtigung (T) derart verschlüsselt wird, dass die mobile Benutzungsberechtigung (T) nur durch die erwünschte Softwareanwendung (A') außerhalb der lokalen Umgebung (102) entschlüsselt werden kann.The method of any one of claims 1 to 3, wherein the mobile usage privilege (T) is encrypted such that the mobile usage privilege (T) can only be decrypted by the desired software application (A ') outside the local environment (102).
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Nutzung der Softwareanwendung (A' ) außerhalb der lokalen Umgebung eine Nutzung unter Zugrundelegung vorbestimmter Eingabewerte für die Softwareanwendung (A' ) ist, wobei die mobile Benutzungsberechtigung (T) ferner basierend auf den vorbestimmten Eingabewerten erzeugt wird. 5. The method of claim 1, wherein using the software application (A ') outside the local environment is a usage based on predetermined input values for the software application (A'), wherein the mobile usage authority (T) is further based on the predetermined input values is generated.
6. Verfahren nach Anspruch 5, bei dem die mobile Benutzungsberechtigung (T) aus den vorbestimmten Eingabewerte einen eindeutigen Schlüssel berechnet, wobei der Schlüssel aus den vorbestimmten Eingabewerte beim Er- zeugen derart berechnet wird, dass die externe Softwareanwendung (A' ) bei Zugriff auf die mobile Benutzungsberechtigung (T) nach dem gleichen Rechenverfahren den Schlüssel aus den vorbestimmten Eingabewerte berechnet, die beiden Schlüssel vergleicht und bei Ü- bereinstimmung die externe Softwareanwendung (A' ) basierend auf den vorbestimmten Eingabewerten ausgeführt wird.6. The method of claim 5, wherein the mobile usage privilege calculates a unique key from the predetermined input values, wherein the key is computed from the predetermined input values at the time of creation such that the external software application accesses the mobile use right (T) calculates the key from the predetermined input values according to the same calculation method, compares the two keys, and if the external software application (A ') is executed based on the predetermined input values.
7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die lokale Umgebung einen Lizenzserver (106) und zumindest eine Datenverarbeitungsanlage (112) umfasst, die wirksam mit dem Lizenzserver (106) verbunden ist, wobei der Lizenzserver (106) die eine oder mehreren Benutzungsberechtigungen speichert, und wobei die Da- tenverarbeitungsanlage (112) ausgebildet ist, um die Softwareanwendung (A) nach Abfrage der Benutzungsberechtigung auf dem Lizenzserver (106) auszuführen.The method of any one of claims 1 to 6, wherein the local environment comprises a license server (106) and at least one data processing facility (112) operatively connected to the license server (106), the license server (106) having one or more of stores a plurality of use authorizations, and wherein the data processing system (112) is adapted to execute the software application (A) after requesting the usage authorization on the license server (106).
8. Verfahren zum Nutzen einer Softwareanwendung (A') au- ßerhalb einer lokalen Umgebung (102), die zumindest eine Benutzungsberechtigung für eine Nutzung der Softwareanwendung (A) innerhalb der lokalen Umgebung (102) aufweist, wobei die lokale Umgebung (102) die Benutzungsberechtigung von einem Anbieter (114) der Soft- wareanwendung (A) erworben hat, wobei das Verfahren folgende Schritte aufweist:A method of using a software application (A ') outside a local environment (102) having at least one usage privilege for use of the software application (A) within the local environment (102), wherein the local environment (102) comprises the Has acquired a user authorization from a provider (114) of the software application (A), the method comprising the following steps:
Erzeugen (S308) einer mobilen Benutzungsberechtigung (T) gemäß dem Verfahren nach einem der Ansprüche 1 bis 7; Übertragen (S310) der mobilen Benutzungsberechtigung (T) von der lokalen Umgebung (102) an die Softwareanwendung (A') außerhalb der lokalen Umgebung (102); undGenerating (S308) a mobile usage privilege (T) according to the method of any one of claims 1 to 7; Transmitting (S310) the mobile use privilege (T) from the local environment (102) to the software application (A ') outside the local environment (102); and
Nutzen (S312) der Softwareanwendung (A') außerhalb der lokalen Umgebung (102) basierend auf der mobilen Benutzungsberechtigung (T) .Using (S312) the software application (A ') outside the local environment (102) based on the mobile usage authority (T).
9. Verfahren nach Anspruch 8, bei dem die mobile Benut- Zungsberechtigung (T) an ein Computersystem (120, 124) übertragen wird, auf dem die Softwareanwendung (A' ) für eine Ausführung angeordnet ist, wobei die mobile Benutzungsberechtigung (T) auf dem Computersystem (120, 124) gespeichert wird und die Softwareanwendung (A' ) vor und/oder während der Ausführung auf die mobile Benutzungsberechtigung (T) zugreift (S414-S420) .9. The method of claim 8, wherein the mobile user authorization (T) is transmitted to a computer system (120, 124) on which the software application (A ') is arranged for execution, the mobile user authorization (T) the computer system (120, 124) is stored and the software application (A ') accesses the mobile usage authority (T) before and / or during execution (S414-S420).
10. Verfahren nach Anspruch 9, bei dem das externe Computersystem (120, 124) eine Umgebung (120) umfasst, der die externe Softwareanwendung (A' ) vertraut und die die mobile Benutzungsberechtigung (T) empfängt, wobei das Verfahren ferner folgende Schritte umfasst:The method of claim 9, wherein the external computer system (120, 124) includes an environment (120) that trusts the external software application (A ') and that receives the mobile usage privilege (T), the method further comprising the steps of: :
Bestimmen (S510) , ob ein Umfang der in der vertrauens- würdigen Umgebung (120) vorhandenen mobilen Benutzungsberechtigung ausreichend ist;Determining (S510) whether an extent of the mobile use permission existing in the trusted environment (120) is sufficient;
falls der Umfang der in der vertrauenswürdigen Umgebung (120) vorhandenen mobilen Benutzungsberechtigung nicht ausreichend ist, Kontaktieren (S520) der lokalen Umgebung (102) über die vertrauenswürdige Umgebung (120) und Ergänzen (S530-S580) der vorhandenen mobilen Benutzungsberechtigung .if the scope of the mobile usage privilege in the trusted environment (120) is insufficient, contacting (S520) the local environment (102) via the trusted environment (120) and completing (S530-S580) the existing mobile usage privilege.
11. Verfahren nach Anspruch 10, bei dem das Ergänzen (S530-S580) der vorhandenen mobilen Benutzungsberechtigung das Erzeugen (S560) einer neuen mobilen Benutzungsberechtigung durch die lokale Umgebung (102) und das Übertragen (S570) der neuen mobilen Benutzungsberechtigung an die vertrauenswürdige Umgebung (120) um- fasst .The method of claim 10, wherein the supplementing (S530-S580) of the existing mobile usage privilege comprises generating (S560) a new mobile usage privilege by the local environment (102) and transferring (S570) the new mobile usage privilege to the trusted environment (120).
12. Verfahren nach Anspruch 10, bei dem das Ergänzen (S530-S580) der vorhandenen mobilen Benutzungsberechtigung das Erzeugen (S560) einer ergänzenden mobilen Benutzungsberechtigung durch die lokale Umgebung (102), das Übertragen (S570) der ergänzenden mobilen Benutzungsberechtigung an die vertrauenswürdige Umgebung (120) und das Ergänzen der vorhandenen mobilen Benutzungsberechtigung umfasst.The method of claim 10, wherein supplementing (S530-S580) the existing mobile usage privilege with generating (S560) a supplemental mobile usage privilege by the local area (102), transmitting (S570) the supplemental mobile usage privilege to the trusted environment (120) and supplementing the existing mobile usage privilege.
13. Lizenzserver (106) für eine lokale Umgebung (102), wo- bei der Lizenzserver (106) zumindest eine Benutzungsberechtigung für eine Nutzung einer Softwareanwendung13. License server (106) for a local environment (102), wherein the license server (106) has at least one usage right for use of a software application
(A) in der lokalen Umgebung (102) speichert, die von einem Anbieter (114) der Softwareanwendung (A) erworben wurde,(A) stores in the local environment (102) purchased from a vendor (114) of the software application (A),
wobei der Lizenzserver (106) konfiguriert ist, um eine mobile Benutzungsberechtigung (T) für eine Nutzung der außerhalb der lokalen Umgebung (102) befindlichen Softwareanwendung (A' ) zu erzeugen, undwherein the license server (106) is configured to generate a mobile usage privilege (T) for use of the software application (A ') external to the local environment (102), and
wobei der Lizenzserver (106) konfiguriert ist, um ansprechend auf eine Anforderung (S300), die außerhalb der lokalen Umgebung (102) befindliche Softwareanwendung (A' ) zu nutzen, die mobile Benutzungsberechtigung (T) basierend auf der Benutzungsberechtigung der lokalen Umgebung (102) derart zu erzeugen, dass die Softwareanwendung (A' ) außerhalb der lokalen Umgebung (102) erkennt, dass die mobile Benutzungsberechtigung (T) von der lokalen Umgebung (102) stammt.wherein the license server (106) is configured, in response to a request (S300), to use the software application (A ') located outside the local environment (102), the mobile usage privilege (T) based on the usage privilege of the local environment (102 ) such that the software application (A ') outside the local environment (102) recognizes that the mobile usage privilege (T) originates from the local environment (102).
14. Lizenzserver (106) nach Anspruch 13, der eine Mehrzahl von Benutzungsberechtigungen für eine Benutzung der Softwareanwendung (A) innerhalb der lokalen Softwareanwendung (102) speichert,14. License server (106) according to claim 13, which has a plurality of usage authorizations for using the Stores software application (A) within the local software application (102),
wobei der Lizenzserver (106) konfiguriert ist, um beim Erzeugen der mobilen Benutzungsberechtigung (T) eine Überprüfung der Verfügbarkeit einer der Mehrzahl von Benutzungsberechtigungen durchzuführen, wobei eine mobile Benutzungsberechtigung erzeugt wird, wenn eine Benutzungsberechtigung verfügbar ist, während gleich- zeitig die Verfügbarkeit der Benutzungsberechtigungen entsprechend des Verbrauchs durch die mobile Benutzungsberechtigung angepasst wird.wherein the license server (106) is configured to perform a verification of the availability of one of the plurality of usage privileges when generating the mobile use privilege (T), wherein a mobile usage privilege is generated when a usage privilege is available while at the same time the availability of the usage privileges adjusted according to consumption by the mobile user authorization.
15. Lokale Umgebung (102), in der eine Softwareanwendung (A) genutzt werden kann, mit:15. Local environment (102) in which a software application (A) can be used, with:
einem Lizenzserver (106) nach Anspruch 13 oder 15, unda license server (106) according to claim 13 or 15, and
einer Datenverarbeitungsanlage (112) für eine Ausfüh- rung der Softwareanwendung (A) , wobei die Datenverarbeitungsanlage (112) ausgebildet ist, um die Softwareanwendung (A) nach Abfrage der Benutzungsberechtigung auf dem Lizenzserver (1406) auszuführen.a data processing system (112) for executing the software application (A), wherein the data processing system (112) is adapted to execute the software application (A) after requesting the usage authorization on the license server (1406).
16. Computersystem, mit:16. Computer system, with:
einer lokalen Umgebung (102) gemäß Anspruch 13; unda local environment (102) according to claim 13; and
einem Computer (120, 124), auf dem die externe Soft- wareanwendung (A' ) für eine Ausführung angeordnet wird, wobei die mobile Benutzungsberechtigung (T) auf dem Computersystem (120, 124) gespeichert wird und die Softwareanwendung (A' ) vor und/oder während der Ausführung auf die mobile Benutzungsberechtigung (T) zu- greift (S414-S420) . a computer (120, 124) on which the external software application (A ') is arranged for execution, wherein the mobile usage authority (T) is stored on the computer system (120, 124) and the software application (A') is provided and / or during access to the mobile use authorization (T) (S414-S420).
17. Computerprogrammprodukt mit Instruktionen, die Ausführung durch einen Computer ein Verfahren gemäß einem der Ansprüche 1 bis 12 ausführen. A computer program product having instructions for execution by a computer to perform a method according to any one of claims 1 to 12.
PCT/EP2009/067957 2009-02-25 2009-12-28 Method and license server for generating a mobile user authorization for using an application outside of a local environment WO2010097139A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102009010605A DE102009010605A1 (en) 2009-02-25 2009-02-25 A method and license server for generating a mobile usage privilege to use an application outside a local environment
DE102009010605.7 2009-02-25

Publications (1)

Publication Number Publication Date
WO2010097139A1 true WO2010097139A1 (en) 2010-09-02

Family

ID=42028132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/067957 WO2010097139A1 (en) 2009-02-25 2009-12-28 Method and license server for generating a mobile user authorization for using an application outside of a local environment

Country Status (2)

Country Link
DE (1) DE102009010605A1 (en)
WO (1) WO2010097139A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745879A (en) * 1991-05-08 1998-04-28 Digital Equipment Corporation Method and system for managing execution of licensed programs
US20040039916A1 (en) * 2002-05-10 2004-02-26 David Aldis System and method for multi-tiered license management and distribution using networked clearinghouses
US20080091613A1 (en) * 2006-09-28 2008-04-17 Microsoft Corporation Rights management in a cloud
US20080276321A1 (en) * 2007-05-02 2008-11-06 Microsoft Corporation Secure Transfer Of Product-Activated Software To A New Machine Using A Genuine Server

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080103977A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Digital rights management for distributed devices
DE102006057197B4 (en) * 2006-12-05 2008-11-20 Dräger Medical AG & Co. KG Licensing system and method for transferring license information
EP1936526A1 (en) * 2006-12-21 2008-06-25 Sysopen Digia Oyj Software license management in a mobile device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745879A (en) * 1991-05-08 1998-04-28 Digital Equipment Corporation Method and system for managing execution of licensed programs
US20040039916A1 (en) * 2002-05-10 2004-02-26 David Aldis System and method for multi-tiered license management and distribution using networked clearinghouses
US20080091613A1 (en) * 2006-09-28 2008-04-17 Microsoft Corporation Rights management in a cloud
US20080276321A1 (en) * 2007-05-02 2008-11-06 Microsoft Corporation Secure Transfer Of Product-Activated Software To A New Machine Using A Genuine Server

Also Published As

Publication number Publication date
DE102009010605A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
DE602004011282T2 (en) Sending a publisher-use license off-line in a digital rights system
DE602004009354T2 (en) Registering or sub-registering a digital rights management server in a digital rights management architecture
DE60307736T2 (en) Server architecture for secure plug-ins in digital rights management systems
DE112011101729B4 (en) Management of resource access
US8051491B1 (en) Controlling use of computing-related resources by multiple independent parties
DE112004002470B4 (en) Certificate-based Digital Rights Management
DE112007002566B4 (en) Method for transmitting a data object between devices, and device for enforcing a protocol
DE60214632T2 (en) Multidomain authorization and authentication
DE60218393T2 (en) Connectionless license transfer and distribution system
DE60207812T2 (en) METHOD AND DEVICE FOR DYNAMICALLY ASSIGNING USER RIGHTS TO DIGITAL WORKS
DE69837303T2 (en) An information processing apparatus and method and recording medium for executing public key encrypted programs
DE102011089580B3 (en) Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service
US20150193603A1 (en) Method and system to support dynamic rights and resources sharing
DE112012002741T5 (en) Identity and authentication procedures for the security of a cloud computing platform
CN107026847A (en) One kind trusts login method, server and system
US20020184517A1 (en) Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
DE112018005203T5 (en) Authentication using delegated identities
DE112013007160T5 (en) Development environment system, development environment device, development environment deployment process, and program
JP2006254464A (en) Delegating right to access resources or the like in access management system
DE102009017221A1 (en) Information Rights Management
DE60212969T3 (en) METHOD AND DEVICE FOR FOLLOWING THE STATUS OF AN OPERATING MEANS IN A SYSTEM FOR MANAGING THE USE OF THE OPERATING MEANS
DE112020000538T5 (en) FINE-GRAINED TOKEN-BASED ACCESS CONTROL
WO2008037581A1 (en) Method for single sign-on when using a set-top box
EP4016338A1 (en) Access control for data stored on the cloud
US20180293392A1 (en) Method and system for selecting a communication interface

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09801984

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09801984

Country of ref document: EP

Kind code of ref document: A1