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.