System for controlling use of digitally encoded products
First Claim
1. A data processing system for controlling use of digitally encoded products, the data processing system comprising:
- a processor;
a computer readable medium storing instructions which, when executed by the processor, causes the processor to perform the method 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 authorized 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 authorization to run the product by the metering server according to a comparison between licensing information indicative of the authorized conditions of use for all the associated computers and a metering memory structure indicative of the authorizations 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 authorization to run has been granted; and
enabling or preventing staffing 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.
2 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 authorization 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 authorized conditions of use, and answers (382) the agent granting or denying the authorization 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
2 Claims
-
1. A data processing system for controlling use of digitally encoded products, the data processing system comprising:
-
a processor; a computer readable medium storing instructions which, when executed by the processor, causes the processor to perform the method 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 authorized 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 authorization to run the product by the metering server according to a comparison between licensing information indicative of the authorized conditions of use for all the associated computers and a metering memory structure indicative of the authorizations 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 authorization to run has been granted; and enabling or preventing staffing 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.
-
-
2. A computer program product stored on a computer readable medium for controlling use of digitally encoded products, the computer program product comprising instructions for performing the method 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 authorized 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 authorization to run the product by the metering server according to a comparison between licensing information indicative of the authorized conditions of use for all the associated computers and a metering memory structure indicative of the authorizations 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 authorization to run has been granted; and enabling or preventing staffing 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 control memory structure and the licensing information according to the log.
-
Specification