Distributed run-time licensing
First Claim
1. A computer network including a multi-tier licensing system comprising:
- a user tier including user computers;
a remote node tier including remote nodes enabling users to run a licensed software program, at least some remote nodes allowing multiple users at multiple user computers to run the licensed software program concurrently, the remote nodes periodically producing indications of the software usage of the licensed software program by users associated with the remote nodes; and
a master node tier including a master node periodically receiving the indications from the remote nodes and calculating a total number of licensed software users, the master node evaluating a license allocation condition using the total number of licensed software users, wherein a sanity scan checking processes running on the remote nodes is done on at least one subset of the remote nodes, where a scan result message is sent from the remote nodes to the master node with at least some of the indications if the sanity scan was successful, the master node checks whether the scan result messages has been received from all of the remote nodes and deallocates any licenses allocated to users of any of the remote nodes from which a scan result message has not been received.
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.
37 Citations
34 Claims
-
1. A computer network including a multi-tier licensing system comprising:
-
a user tier including user computers; a remote node tier including remote nodes enabling users to run a licensed software program, at least some remote nodes allowing multiple users at multiple user computers to run the licensed software program concurrently, the remote nodes periodically producing indications of the software usage of the licensed software program by users associated with the remote nodes; and a master node tier including a master node periodically receiving the indications from the remote nodes and calculating a total number of licensed software users, the master node evaluating a license allocation condition using the total number of licensed software users, wherein a sanity scan checking processes running on the remote nodes is done on at least one subset of the remote nodes, where a scan result message is sent from the remote nodes to the master node with at least some of the indications if the sanity scan was successful, the master node checks whether the scan result messages has been received from all of the remote nodes and deallocates any licenses allocated to users of any of the remote 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. A multi-tier licensing method comprising:
-
at remote nodes of a remote node tier, enabling users to run a licensed software program, at least some remote nodes allowing multiple users at multiple user computers in a user tier to run the licensed software program concurrently; at the remote nodes, periodically producing indications of the software usage of the licensed software program by users associated with the remote nodes; and at a master node, periodically receiving the indications from the remote nodes and calculating a total number of licensed software users, the master node evaluating a license allocation condition using the total number of licensed software users, wherein a sanity scan checking processes running on the remote nodes is done on at least one subset of the remote nodes, where a scan result message is sent from the remote nodes to the master node with at least some of the indications if the sanity scan was successful, the master node checks whether the scan result messages has been received from all of the remote nodes and deallocates any licenses allocated to users of any of the remote nodes from which a scan result message has not been received. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer readable storage medium comprising code for a master node, the master node interacting with a remote node tier including remote nodes enabling users to run a licensed software program, at least some remote nodes allowing multiple users at multiple user computers to run the licensed software program concurrently, the remote nodes periodically producing indications of the software usage of the licensed software program by users associated with the remote nodes, the code for the master node comprising:
-
code to periodically receive indications of the software usage of a licensed software program by users associated with remote nodes from the remote nodes, wherein scan result messages are received by the master node from the remote nodes with at least some of the indications if a sanity scan checking process running on the remote node was successful; code to calculate a total number of licensed software users; code to evaluate a license allocation condition using the total number of licensed software users, and code to check whether the scan result messages has been received from all of the remote nodes and deallocate any licenses allocated to users of any of the remote nodes from which a scan result message has not been received. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification