Patent ID: 7035918

Claim:
A system for managing licenses for protected software on a communication network, the system comprising: at least one client computer coupled to the communication network for requesting authorizations to use the protected software; and a pool of license servers coupled to the communication network, each license server programmed for managing a distribution of one or more allocations to at least one client computer to use the protected software and for maintaining a record of distribution, the pool of license servers including a current leader server programmed for maintaining a record of allocations for license servers in the pool; wherein the pool of license servers includes at least one follower server; wherein each follower server is programmed such that it is capable of becoming a new leader server if the current leader server can no longer manage the distribution of allocations for the license servers, and wherein upon selecting a new leader server from the pool, the new leader server is further programmed for receiving from each license server the record of distribution for that license server, wherein the license servers within the pool are programmed for communicating with each other and determining when a particular license server can no longer manage a distribution of allocations to use the protected software, wherein each client computer that has received an authorization from a particular license server, and the particular license server that sent the authorization to the client computer, are programmed for communicating heartbeats between each other, wherein each client computer that has received an authorization from a particular license server is programmed for determining based on communication of the heartbeats whether that particular license server is still capable of managing a distribution of allocations to use the protected software; and wherein each client computer that has received an authorization from a particular license server but has determined that particular license server is no longer capable of managing a distribution of allocations to use the protected software is programmed for: locating a new leader server; and communicating an additional heartbeat from the client computer to the new leader server; where the communication of the additional heartbeat conveys the number of allocations of the protected software required by the client computer.