IP Library Granted Patent US 6,968,384
Granted Patent B1
US 6,968,384 · App. 09/648,502 · Granted Nov 22, 2005

License management system and method for commuter licensing

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,968,384
App. No.
09/648,502
Granted
Nov 22, 2005
Kind
B1
Abstract

A system for managing licenses for protected software on a communication network is disclosed. The system includes at least one client computer that is capable of being coupled to or decoupled from the communication network. While coupled to the communication network, a user of the client computer may request a commuter authorization to use the protected software. At least one license server is also coupled to the communication network. Each license server is programmed for managing a distribution of allocations to use the protected software. In addition, at least one of the license servers is programmed for granting a commuter authorization in response to a request for a commuter authorization from a client computer if there is an available authorization. After a commuter authorization is received by a client computer, the client computer stores a commuter authorization lifetime representing a time period for which the commuter authorization is valid. The client computer may then use the protected software while coupled to or decoupled from the communication network until the commuter authorization lifetime expires.

Claims (40)

1. A system for managing licenses for protected software on a communication network, the system comprising:

at least one client computer capable of being coupled to the communication network for requesting a commuter authorization to use the protected software and for storing a commuter authorization lifetime representing a time period for which the commuter authorization is valid; and

at least one license server coupled to the communication network, each license server programmed for managing a distribution of allocations to use the protected software and at least one license server programmed for granting a commuter authorization in response to a request for a commuter authorization,

wherein the at least one client computer is configured with the protected software, the protected software being independent of the at least one license server,

wherein after a commuter authorization is communicated from a granting license server to a requesting client computer, the requesting client computer may use the protected software while coupled to or decoupled from the communication network until the commuter authorization lifetime expires, the requesting client computer utilizing the commuter authorization independently of the at least one license server, and

wherein the requesting client computer is further programmed for detecting attempts to tamper with its internal clock and invalidating the commuter authorization if tampering is detected.

2. A system as recited in claim 1 , wherein while the requesting client computer maintains a valid commuter authorization, the requesting client computer may open the protected software multiple times, including simultaneous instantiations of the protected software.

3. A system as recited in claim 1 , the at least one license server is further programmed for granting a commuter authorization to the requesting client computer and decrementing a count of available allocations only if there is an available allocation in the at least one license server.

4. A system as recited in claim 3 , the requesting client computer further including memory for storing commuter authorization information including the commuter authorization lifetime and a check-in value received from the granting license server when the granting license server grants the commuter authorization to the requesting client computer; and

the granting license server further including memory for storing commuter authorization information including the commuter authorization lifetime and a check-in value when the granting license server grants the commuter authorization to the requesting client computer.

5. A system as recited in claim 4 , the requesting client computer being programmed for returning the commuter authorization by setting its check-in value to a returned state and communicating a check-in message to the granting license server; and

the granting license server being further programmed for setting its check-in value to the returned state and incrementing its count of available allocations upon receipt of the check-in message.

6. A system as recited in claim 5 , wherein if the commuter authorization is not returned prior to an expiration of the commuter authorization lifetime, at the expiration of the commuter authorization lifetime:

the requesting client computer is further programmed for setting its check-in value to a returned state; and

the granting license server is further programmed for setting its check-in value to the returned state and incrementing its count of available allocations.

7. A system as recited in claim 4 , the at least one license server comprising a pool of license servers, and

wherein the granting license server is further programmed for communicating the commuter authorization lifetime and the check-in value stored in the granting license server to other license servers in the pool when the granting license server grants the commuter authorization to the requesting client computer, so that even if the granting license server should go down, another license server in the pool can act as the granting license server.

8. A system as recited in claim 1 , the requesting client computer being programmed for enabling a user to select the commuter authorization lifetime.

9. A system as recited in claim 1 , the requesting client computer being programmed for enabling a user to select the license server from which to request a commuter authorization.

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

coupling at least one client computer and at least one license server to the communication network;

configuring the at least one client computer with the protected software, the protected software being independent of the at least one license server;

communicating a request for a commuter authorization to use the protected software from the at least one client computer to the at least one license server over the communication network;

granting a commuter authorization to the at least one client computer from the at least one license server and decrementing a count of available allocations within the at least one license server only if there is an available allocation in the at least one license server;

storing a commuter authorization lifetime representing a time period for which the commuter authorization is valid within the at least one client computer, wherein after a commuter authorization is communicated from a granting license server to a requesting client computer, the requesting client computer may use the protected software while coupled to or decoupled from the communication network until the commuter authorization lifetime expires, the requesting client computer utilizing the commuter authorization independently of the at least one license server; and

detecting attempts to tamper with an internal clock of the requesting client computer and invalidating the commuter authorization if tampering is detected.

11. A method as recited in claim 10 , wherein while the requesting client computer maintains a valid commuter authorization, the requesting client computer is capable of opening the protected software multiple times, including simultaneous instantiations of the protected software.

12. A method as recited in claim 10 , the step of granting a commuter authorization to the at least one client computer from the at least one license server further including the steps of:

communicating the commuter authorization lifetime and a check-in value from the granting license server to the requesting client computer; and

storing the commuter authorization lifetime and the check-in value in the requesting client computer and the granting license server.

13. A method as recited in claim 12 , wherein the protected software is no longer needed, the method further includes the steps of:

returning the commuter authorization by setting the check-in value stored in the requesting client computer to a returned state and communicating a check-in message to the granting license server; and

setting the check-in value stored in the granting license server to the returned state and incrementing the count of available allocations stored in the granting license server when the granting license server received the check-in message.

14. A method as recited in claim 12 , wherein if the commuter authorization is not returned prior to an expiration of the commuter authorization lifetime, at the expiration of the commuter authorization lifetime the method further includes the steps of:

setting the check-in value stored in the requesting client computer to a returned state; and

setting the check-in value stored in the granting license server to the returned state and incrementing the count of available allocations stored in the granting license server.

15. A method as recited in claim 12 , the at least once license server comprising a pool of license servers, the method further including the steps of:

communicating the commuter authorization lifetime and the check-in value stored in the granting license server to other license servers in the pool when the granting license server grants the commuter authorization to the requesting client computer, so that even if the granting license server goes down, another license server in the pool acts as the granting license server.

16. A method as recited in claim 10 , the step of communicating a request for a commuter authorization to use the protected software further including the step of selecting the commuter authorization lifetime.

17. A method as recited in claim 10 , the step of communicating a request for a commuter authorization to use the protected software further including the step of selecting the license server from which to request a commuter authorization.

Assignments (10)
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 →
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 →
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 Recorded Apr 19, 2007
From: SAFENET, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 019181/0012 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Apr 16, 2007
From: SAFENET, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 019161/0506 →
MERGER Recorded Jun 1, 2005
From: RAINBOW TECHNOLOGIES, INC.
To: RAVENS ACQUISTION CORP.
Reel/Frame 016634/0338 →
ACQUISITION Recorded Jun 1, 2005
From: RAVENS ACQUISITION CORP.
To: SAFENET, INC.
Reel/Frame 016647/0349 →