Distributed run-time licensing
First Claim
1. A machine-implemented method for managing software licenses in a computer network having a maximum number of said licenses for use with a licensed software program, comprising the steps of:
- counting numbers of said licensed software program in use at a plurality of nodes of said computer network to obtain counts of software licenses in use by each node;
performing a sanity scan on at least one subset of said plurality of nodes;
generating a scan result message;
transmitting said counts to a master node of said computer network;
said transmitting step transmits said scan result message with at least one of said counts;
calculating a total number of software users on said computer network, said calculating step uses said counts;
evaluating license allocation conditions using said total number of users;
wherein the license allocation conditions include an error threshold that results in a lockout initiation and a warning threshold that results in a warning message;
wherein the error threshold and warning threshold are values related to the maximum number of licenses;
wherein the error threshold is greater than the warning threshold; and
sending the warning message, using at least one processor, when the warning threshold is exceeded, and thereafterinitiating a lockout when the error threshold is exceeded;
checking whether one of said scan result messages has been received from all of said nodes; and
deallocating any licenses allocated to users of any of said nodes from which a scan result message has not been received.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are disclosed for managing software licenses in a distributed computer network. The number of software licenses allocated to software users can be determined on a node-by-node basis in realtime with little or no additional processing overhead incurred by the network. Upon of the occurrence of a node failure, software licenses are efficiently reallocated to new users. In one implementation, users are periodically counted at each network node and transmitted to a master node with a sanity scan result message. A license allocation condition is periodically evaluated using the sum of the counts. If the condition is met, a license lockout can be performed upon the expiration of a grace period.
-
Citations
26 Claims
-
1. A machine-implemented method for managing software licenses in a computer network having a maximum number of said licenses for use with a licensed software program, comprising the steps of:
-
counting numbers of said licensed software program in use at a plurality of nodes of said computer network to obtain counts of software licenses in use by each node; performing a sanity scan on at least one subset of said plurality of nodes; generating a scan result message; transmitting said counts to a master node of said computer network; said transmitting step transmits said scan result message with at least one of said counts; calculating a total number of software users on said computer network, said calculating step uses said counts; evaluating license allocation conditions using said total number of users; wherein the license allocation conditions include an error threshold that results in a lockout initiation and a warning threshold that results in a warning message; wherein the error threshold and warning threshold are values related to the maximum number of licenses; wherein the error threshold is greater than the warning threshold; and sending the warning message, using at least one processor, when the warning threshold is exceeded, and thereafter initiating a lockout when the error threshold is exceeded; checking whether one of said scan result messages has been received from all of said nodes; and deallocating any licenses allocated to users of any of said nodes from which a scan result message has not been received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 24)
-
-
14. An apparatus comprising:
-
a memory that stores program code; a processor in communication with said memory;
wherein said program code, when executed by said processor, performs a method for managing software licenses in a computer network having a maximum number of said licenses for use with a licensed software program, the method comprising the steps of;counting numbers of said licensed software program in use at a plurality of nodes of said computer network to obtain counts of software licenses in use by each node; performing a sanity scan on at least one subset of said plurality of nodes; generating a scan result message; transmitting said counts to a master node of said computer network; wherein said transmitting step transmits said scan result message with at least one of said counts; calculating a total number of software users on said computer network, said calculating step uses said counts; evaluating license allocation conditions using said total number of users; wherein the license allocation conditions include an error threshold that results in a lockout initiation and a warning threshold that results in a warning message; wherein the error threshold and warning threshold are values related to the maximum number of licenses; wherein the error threshold is greater than the warning threshold; and sending the warning message, using at least one processor, when the warning threshold is exceeded, and thereafter initiating a lockout when the error threshold is exceeded; checking whether one of said scan result messages has been received from all of said nodes; and deallocating any licenses allocated to users of any of said nodes from which a scan result message has not been received. - View Dependent Claims (15, 16, 17, 25)
-
-
18. A processor readable storage medium, comprising:
processor readable program code embodied on said processor readable storage medium;
wherein said processor readable program code, when executed by a processor, performs a method for managing software licenses in a computer network having a maximum number of said licenses for use with a licensed software program, the method comprising the steps of;counting numbers of said licensed software program in use at a plurality of nodes of said computer network to obtain counts of software licenses in use by each node; performing a sanity scan on at least one subset of said plurality of nodes; generating a scan result message; transmitting said counts to a master node of said computer network; wherein said transmitting step transmits said scan result message with at least one of said counts; calculating a total number of software users on said computer network, said calculating step uses said counts; evaluating license allocation conditions using said total number of users; wherein the license allocation conditions include an error threshold that results in a lockout initiation and a warning threshold that results in a warning message; wherein the error threshold and warning threshold are values related to the maximum number of licenses; wherein the error threshold is greater than the warning threshold; and sending the warning message, using at least one processor, when the warning threshold is exceeded, and thereafter initiating a lockout when the error threshold is exceeded; checking whether one of said scan result messages has been received from all of said nodes; and deallocating any licenses allocated to users of any of said nodes from which a scan result message has not been received. - View Dependent Claims (19, 20, 21, 26)
Specification