Computer implemented method and system for controlling use of digitally encoded products
First Claim
1. A computer-implemented method of controlling use of digitally encoded products including the steps of:
- requesting execution of a digitally encoded product on a computer;
intercepting the execution request before starting of execution of the product;
determining whether the product is included in a control memory structure of the computer indicative of products to be controlled;
responsive to determining that the product is included in the control memory structure;
verifying compliance of the execution request with authorised conditions of use of the product, wherein verifying compliance of the execution request includes;
sending a request message indicative of the execution request from the computer to a metering server associated with a plurality of computers;
granting or denying an authorisation to run the product by the metering server according to a comparison between licensing information indicative of the authorised conditions of use for all the associated computers and a metering memory structure indicative of authorisations to run currently granted by the metering server,sending a corresponding response message from the metering server to the computer, andadding the product to the metering memory structure when the authorisation to run has been granted; and
enabling or preventing starting of execution of the product according to the result of the verification; and
responsive to determining that the product is not included in the control memory structure;
enabling starting of the product;
adding an indication of the product to a log stored on the computer;
periodically transmitting the log to the associated metering server; and
updating the control memory structure and the licensing information according to the log.
3 Assignments
0 Petitions
Accused Products
Abstract
A method (300) and system for controlling use of software programs on multiple workstations of a network. An agent running on each workstation detects (306) any new process (using a kernel hooking technique), which is started in response to the request of execution of a program (397). The process is suspended (308) and an authorisation to run the program is requested (334) to an associated metering server. The metering server compares (380) the current usage of the product with the respective authorised conditions of use, and answers (382) the agent granting or denying the authorisation to run. The process is accordingly resumed (312), in order to enable the program to start, or aborted (315), so as to prevent execution of the program. In any case, the program is not stopped (but it is prevented from starting); this avoids killing the program while it is performing potentially risky operations.
-
Citations
10 Claims
-
1. A computer-implemented method of controlling use of digitally encoded products including the steps of:
-
requesting execution of a digitally encoded product on a computer; intercepting the execution request before starting of execution of the product; determining whether the product is included in a control memory structure of the computer indicative of products to be controlled; responsive to determining that the product is included in the control memory structure; verifying compliance of the execution request with authorised conditions of use of the product, wherein verifying compliance of the execution request includes; sending a request message indicative of the execution request from the computer to a metering server associated with a plurality of computers; granting or denying an authorisation to run the product by the metering server according to a comparison between licensing information indicative of the authorised conditions of use for all the associated computers and a metering memory structure indicative of authorisations to run currently granted by the metering server, sending a corresponding response message from the metering server to the computer, and adding the product to the metering memory structure when the authorisation to run has been granted; and enabling or preventing starting of execution of the product according to the result of the verification; and responsive to determining that the product is not included in the control memory structure; enabling starting of the product; adding an indication of the product to a log stored on the computer; periodically transmitting the log to the associated metering server; and updating the control memory structure and the licensing information according to the log. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification