IP Library Granted Patent US 8,494,966
Granted Patent B2
US 8,494,966 · App. 11/144,516 · Granted Jul 23, 2013

Method and apparatus for facilitating the transfer of a software license between computer systems

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 8,494,966
App. No.
11/144,516
Granted
Jul 23, 2013
Kind
B2
Abstract

One embodiment of the present invention provides a system that facilitates the transfer of a software license from a first client to a second client. The system operates by receiving a request at the first client to deactivate the software license for an associated application installed on the first client. The system then receives a deactivation request that includes an identifier for the license at a license activation server from the first client. Next, the system validates the identifier on the license activation server to determine if the identifier is a valid identifier. If so, the system sends a deactivation message to the first client, receives a deactivation response from the first client, and increments a count of license instances available for the identifier on the license activation server.

Claims (65)

1. A method for facilitating the transfer of a software license from a first client to a second client, wherein upon receiving a request at the first client to deactivate the software license for an associated application installed on the first client, the method comprises:

using a computer to perform:

receiving a deactivation request from the first client at a license activation server, wherein the deactivation request includes an identifier for the software license installed on the first client;

validating the identifier for the software license installed on the first client, wherein the license activation server determines whether the identifier for the software license installed on the first client is a valid identifier; and

in response to determining that the identifier for the software license installed on the first client is a valid identifier:

sending a deactivation message to the first client,

receiving a deactivation response from the first client, and

incrementing a count of license instances available for the associated application on the license activation server.

2. The method of claim 1 , wherein upon receiving the deactivation message at the first client, the first client deactivates the software license, thereby rendering the associated application unusable.

3. The method of claim 1 , further comprising:

sending a request from the license activation server to the second client to activate the software license for the associated application installed on the second client;

receiving an activation request from the second client at the license activation server, wherein the activation request includes an identifier for the software license;

validating the identifier on the license activation server to determine whether the identifier is a valid identifier, and whether the count of license instances available for the identifier is greater than zero; and

in response to determining that the identifier for the software license is a valid identifier, and that the count of license instances available for the identifier is greater than zero:

sending an activation message to the second client; and

decrementing the count of license instances available for the associated application on the license activation server.

4. The method of claim 3 , wherein upon receiving the activation message at the second client, the second client activates the software license to make the associated application usable on the second client.

5. The method of claim 1 , further comprising:

receiving another deactivation request from the first client at a license activation server, wherein the deactivation request includes an identifier for the software license installed on the first client; and

in response to validating the identifier for the software license installed on the first client on the license activation server and determining that the identifier for the software license installed on the first client is not a valid identifier:

sending the deactivation message to the first client; and

not incrementing the count of license instances available for the associated application on the license activation server.

6. The method of claim 1 , wherein the identifier includes a license serial number and a machine identifier that uniquely identifies a machine on which the first client is operating.

7. The method of claim 1 , wherein said receiving a deactivation request, validating the identifier, sending a deactivation message, receiving a deactivation response, and incrementing a count of license instances are performed by the second client.

8. The method of claim 1 , wherein the deactivation message includes a machine type for the client, wherein the transfer of the software license occurs in response to determining that the machine type of either the first client or the second client matches a specified machine type.

9. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating the transfer of a software license from a first client to a second client, wherein upon receiving a request at the first client to deactivate the software license for an associated application installed on the first client, the method comprises:

receiving a deactivation request from the first client at a license activation server, wherein the deactivation request includes an identifier for the software license installed on the first client;

validating the identifier for the software license installed on the first client, wherein the license activation server determines whether the identifier for the software license installed on the first client is a valid identifier; and

in response to determining that the identifier for the software license installed on the first client is a valid identifier:

sending a deactivation message to the first client,

receiving a deactivation response from the first client, and

incrementing a count of license instances available for the associated application on the license activation server.

10. The non-transitory computer-readable storage medium of claim 9 , wherein upon receiving the deactivation message at the first client, the first client deactivates the software license, thereby rendering the associated application unusable.

11. The non-transitory computer-readable storage medium of claim 9 , further comprising:

sending a request from the license activation server to the second client to activate the software license for the associated application installed on the second client;

receiving an activation request from the second client at the license activation server, wherein the activation request includes an identifier for the software license;

validating the identifier on the license activation server to determine whether the identifier is a valid identifier, and whether the count of license instances available for the identifier is greater than zero; and

in response to determining that the identifier for the software license is a valid identifier, and that the count of license instances available for the identifier is greater than zero:

sending an activation message to the second client, and decrementing the count of license instances available for the associated application on the license activation server.

12. The non-transitory computer-readable storage medium of claim 11 , wherein upon receiving the activation message at the second client, the second client activates the software license to make the associated application usable on the second client.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the program instructions are further executable to receive another deactivation request from the first client at a license activation server, wherein the deactivation request includes an identifier for the software license installed on the first client; and

in response to validating the identifier for the software license installed on the first client on the license activation server and determining that the identifier for the software license installed on the first client is not a valid identifier:

send the deactivation message to the first client; and

not increment the count of license instances on the license activation server.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the identifier includes a license serial number and a machine identifier that uniquely identifies a machine on which the first client is operating.

15. The non-transitory computer-readable storage medium of claim 9 , wherein said receiving a deactivation request, validating the identifier, sending a deactivation message, receiving a deactivation response, and incrementing a count of license instances are performed by the second client.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the deactivation message includes a machine type for the client, wherein the transfer of the software license occurs in response to determining that the machine type of either the first client or the second client matches a specified machine type.

17. A system, comprising:

one or more processors;

memory coupled to the one or more processors and storing program instructions executable by the one or more processors to transfer a software license from a first client to a second client upon receiving a request at the first client to deactivate the software license for an associated application installed on the first client, wherein the program instructions are further executable by the one or more processors to:

receive a deactivation request from the first client at a license activation server, wherein the deactivation request includes an identifier for the software license installed on the first client;

validate the identifier for the software license installed on the first client, wherein the license activation server determines whether the identifier for the software license installed on the first client is a valid identifier; and

in response to determining that the identifier for the software license installed on the first client is a valid identifier:

send a deactivation message to the first client;

receive a deactivation response from the first client; and

increment a count of license instances available for the associated application on the license activation server.

18. The system of claim 17 , wherein the program instructions are further executable to deactivate the software license upon receiving the deactivation message at the first client, thereby rendering the associated application unusable on the first client.

19. The system of claim 17 , wherein the program instructions are further executable to:

send a request from the license activation server to the second client to activate the software license for the associated application installed on the second client;

receive an activation request from the second client at the license activation server, wherein the activation request includes an identifier for the software license;

validate the identifier on the license activation server to determine whether the identifier is a valid identifier, and whether the count of license instances available for the identifier is greater than zero; and

in response to determining that the identifier for the software license is a valid identifier, and that the count of license instances available for the identifier is greater than zero:

send an activation message to the second client; and

decrement the count of license instances available for the associated application on the license activation server.

20. The system of claim 17 , wherein the program instructions are further executable to activate the software license upon receiving the activation message at the second client, thereby rendering the associated application usable on the first client.

Assignments (3)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
CHANGE OF NAME Recorded Jan 18, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048097/0414 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 016656 FRAME: 0404. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 18, 2016
From: XU, XUEJUN; NADELL, KATHERINE K.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 038173/0268 →