License management system and method with multiple license servers
First Claim
1. 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.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for managing licenses for protected software on a communication network is disclosed. The system comprises at least one client computer and a pool of license servers coupled to the communication network. The client computers request authorizations to use the protected software. The pool of license servers are programmed for managing a distribution of allocations to use the protected software. Within the pool of license servers is a current leader server programmed for managing the distribution of allocations for the license servers in the pool, and at least one follower server programmed for managing the distribution of allocations for that particular follower server. Each license server stores a status of the allocations for that particular license server, and each follower server communicates the status of the allocations for that particular follower server to the current leader server. Each follower server 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.
127 Citations
9 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for managing licenses for protected software on a communication network, the method comprising:
-
coupling at least one client computer to the communication network for enabling the at least one client computer to issue a request for an authorization to use the protected software over the communication network; coupling a pool of license servers to the communication network, each license server managing a distribution of allocations to at least one client computer to use the protected software and managing a record of allocations; selecting one of the license servers in the pool as a current leader server and maintaining a record of allocations for license servers in the pool with the current leader server; designating other license servers that are not the current leader server as follower servers; selecting one of the follower servers as a new leader server whenever the current leader server can no longer manage the distribution of allocations for the license servers, transmitting the record of allocations for each license server to the new leader server; determining, by communications between the pool of license servers, when a particular license server can no longer manage a distribution of allocations to use the protected software; communicating heartbeats between client computers that have received an authorization from a particular license server and that particular license server, determining, for each client computer that has received an authorization from a particular license server, if that particular license server is still capable of managing a distribution of allocations to use the protected software; wherein for 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, the method further includes the steps of; locating the 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. - View Dependent Claims (8)
-
-
9. 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, 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; wherein the pool of license servers is 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 also receives a leader priority list from that particular license server; wherein each client computer that has received an authorization from a particular license server is programmed for determining 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 another license server by using the leader priority list; and communicating an additional heartbeat to the located license server; where the communication of the additional heartbeat conveys the number of allocations of the protected software required by the client computer.
-
Specification