IP Library Granted Patent US 6,842,896
Granted Patent B1
US 6,842,896 · App. 09/648,853 · Granted Jan 11, 2005

System and method for selecting a server in a multiple server license management system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,842,896
App. No.
09/648,853
Granted
Jan 11, 2005
Kind
B1
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 authorization to use the protected software, and the license servers manage a distribution of allocations to use the protected software. The pool of license servers includes a selected current leader server for managing the distribution of allocations for all license servers in the pool. The first license server to be started is selected as the current leader server. However, if no license server is started first, the license server with the highest priority according to a leader priority list is selected as the current leader server. In addition, client computers seeking authorization to use the protected software may receive information from the server pool and select a particular license server from which to request authorization to use the protected software based on the received information.

Claims (36)

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 authorization to use the protected software; and

a pool of license servers coupled to the communication network, each license server in the pool is programmed for communication with at least one client computer for managing a distribution of allocations for the at least one client computer to use the protected software, the license servers in the pool include a selected current leader server that is also programmed for managing the distribution of allocations for all license servers in the pool.

2. A system as recited in claim 1 , the pool of license servers programmed for selecting the current leader server as the first license server to be started, and if no license server is started first, for selecting the license server with a highest priority as the current leader server according to a leader priority list.

3. A system as recited in claim 1 , the pool of license servers programmed for communicating with each other and determining if the current leader server can no longer manage a distribution of allocations to use the protected software, and selecting the license server with the highest priority according to a leader priority list as a new leader server if it is determined that the current leader server can no longer manage a distribution of allocations to use the protected software.

4. A system as recited in claim 1 , the at least one client computer programmed for selecting a license server from which to request authorization to use the protected software.

5. A system as recited in claim 4 , the at least one client computer programmed for locating all functioning license servers in the pool, receiving information from those located functioning license servers, and selecting a license server from which to request authorization to use the protected software based on the received information.

6. A system as recited in claim 4 , each client computer and each license server programmed for communicating a heartbeat between client computers that have received authorization to use the protected software from a particular license server and that particular license server; and

each client computer that has received authorization to use the protected software from a particular license server programmed for determining whether that particular license server is still capable of managing a distribution of allocations to use the protected software;

wherein each client computer that has received authorization to use the protected software from a particular license server also receives a leader priority list from that particular license server.

7. A system as recited in claim 6 , wherein each client computer that has received authorization to use the protected software 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 selecting a new license server from which to request authorization to use the protected software.

8. A system as recited in claim 7 , wherein each client computer that has received authorization to use the protected software 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 communicating with functioning license servers in the pool in an order determined from the leader priority list until a new license server from which to request authorization to use the protected software is selected.

9. A method for managing licenses for protected software on a communication network, the method comprising the steps of:

coupling at least one client computer to the communication network for enabling the at least one client computer to issue a request for authorization to use the protected software;

coupling a pool of license servers to the communication network, each license server in the pool is configured for communication with at least one client computer for managing a distribution of allocations for the at least one client computer to use the protected software; and

selecting one of the license servers in the pool as a current leader server, the current leader server also configured for managing the distribution of allocations for all license servers in the pool.

10. A method as recited in claim 9 , the step of selecting one of the license servers in the pool as the current leader server further including the steps of:

selecting the current leader server as the first license server to be started; and

if no license server is started first, selecting the license server with a highest priority as the current leader server according to a leader priority list.

11. A method as recited in claim 9 , further including the steps of:

determining, by communications within the pool of license servers, if the current leader server can no longer manage a distribution of allocations to use the protected software; and

selecting the license server with the highest priority according to a leader priority list as a new leader server if it is determined that the current leader server can no longer manage a distribution of allocations to use the protected software.

12. A method as recited in claim 9 , further including the step of selecting, by the at least one client computer, a license server from which to request authorization to use the protected software.

13. A method as recited in claim 12 , the step of selecting a license server from which to request authorization to use the protected software further including the steps of:

locating all functioning license servers in the pool;

receiving information from those located functioning license servers; and

selecting a license server from which to request authorization to use the protected software based on the received information.

14. A method as recited in claim 12 , further including the steps of:

communicating a heartbeat between client computers that have received authorization to use the protected software from a particular license server and that particular license server; and

determining, for each client computer that has received authorization to use the protected software from a particular license server, whether that particular license server is still capable of managing a distribution of allocations to use the protected software; and

communicating a leader priority list from that particular license server to each client computer that has received authorization to use the protected software from that particular license server.

15. A method as recited in claim 14 , wherein for each client computer that has received authorization to use the protected software 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 step of selecting a new license server from which to request authorization to use the protected software.

16. A method as recited in claim 15 , wherein for each client computer that has received authorization to use the protected software 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 include the step of:

locating all functioning license servers in the pool;

receiving information from those located functioning license servers; and

communicating with functioning license servers in the pool in an order determined from the leader priority list until a new license server from which to request authorization to use the protected software is selected.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS (FIRST LIEN) Recorded Jan 30, 2015
From: BANK OF AMERICA, N.A.
To: SAFENET, INC.
Reel/Frame 034862/0366 →
RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Jan 30, 2015
From: BANK OF AMERICA, N.A.
To: SAFENET, INC.
Reel/Frame 034862/0394 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 14, 2014
From: SAFENET, INC.
To: BANK OF AMERICA, N.A. AS COLLATERAL AGENT
Reel/Frame 032448/0677 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2014
From: SAFENET, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032441/0015 →
FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: SAFENET, INC.
Reel/Frame 032436/0871 →
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: SAFENET, INC.
Reel/Frame 032469/0359 →