Distributed run-time licensing
First Claim
1. A machine-implemented method for managing software licenses in a distributed computer network having a maximum number of said licenses for use with a licensed software program, comprising the steps of:
- counting users of said software program at a plurality of nodes of said network to obtain counts of software licenses in use by each node;
transmitting said counts to a master node of said network;
calculating a total number of software users on said network, said calculating step uses said counts;
evaluating a license allocation condition using said total number of users to obtain a license allocation result; and
responding to said license allocation result if said license allocation condition is met.
2 Assignments
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.
78 Citations
39 Claims
-
1. A machine-implemented method for managing software licenses in a distributed computer network having a maximum number of said licenses for use with a licensed software program, comprising the steps of:
-
counting users of said software program at a plurality of nodes of said network to obtain counts of software licenses in use by each node;
transmitting said counts to a master node of said network;
calculating a total number of software users on said network, said calculating step uses said counts;
evaluating a license allocation condition using said total number of users to obtain a license allocation result; and
responding to said license allocation result if said license allocation condition is met. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32)
-
-
19. An apparatus comprising:
-
a memory, said memory adapted to store program code;
a processor in communication with said memory, said program code capable of programming said processor to perform a method for managing software licenses in a distributed computer network having a maximum number of said licenses for use with a licensed software program, the method comprising the steps of;
counting users of said software program at a plurality of nodes of said network to obtain counts of software licenses in use by each node;
transmitting said counts to a master node of said network;
calculating a total number of software users on said network, said calculating step uses said counts;
evaluating a license allocation condition using said total number of users to obtain a license allocation result; and
responding to said license allocation result if said license allocation condition is met.
-
-
26. An apparatus for managing software licenses in a distributed computer network having a maximum number of said licenses for use with a licensed software program, comprising:
-
means for counting users of said software program at a plurality of nodes of said network to obtain counts of software licenses in use by each node;
means for transmitting said counts to a master node of said network;
means for calculating a total number of software users on said network, said calculating step uses said counts;
means for evaluating a license allocation condition using said total number of users to obtain a license allocation result; and
means for responding to said license allocation result if said license allocation condition is met.
-
-
33. A processor readable storage medium, comprising:
processor readable program code embodied on said processor readable storage medium, said processor readable program code for programming a processor to perform a method for managing software licenses in a distributed computer network having a maximum number of said licenses for use with a licensed software program, the method comprising the steps of;
counting users of said software program at a plurality of nodes of said network to obtain counts of software licenses in use by each node;
transmitting said counts to a master node of said network;
calculating a total number of software users on said network, said calculating step uses said counts;
evaluating a license allocation condition using said total number of users to obtain a license allocation result; and
responding to said license allocation result if said license allocation condition is met. - View Dependent Claims (34, 35, 36, 37, 38, 39)
Specification