Method and system for managing software licenses and reducing unauthorized use of software
First Claim
1. A method implemented on a server for managing licenses for a piece of software, comprising:
- (a) maintaining a user account database for the software, the database including, for each user account, account authentication information, information regarding a license policy, identifiers of computers licensed to run the software, and identifiers of computers no longer licensed to run the software;
(b) initializing the software on a first computer, including;
(b1) receiving account authentication information and computer identification information from the first computer;
(b2) executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(b3) if an enable decision is made, sending an enable command to the first computer to enable the first computer to run the software, and designating the first computer in the database as licensed to run the software; and
(b4) if a disable decision is made, sending a disable command to the first computer to disable the first computer from running the software; and
(c) re-enabling the software on a second computer, the second computer being the same as or different from the first computer, including;
(c1) receiving account authentication information and computer identification information from the second computer;
(c2) executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(c3) if an enable decision is made, sending an enable command to the second computer to enable the second computer to run the software;
(c4) if a disable decision is made, sending a disable command to the second computer to disable the second computer from running the software; and
(c5) if an instruction to move a license from another computer is received from the second computer in response to the disable command, sending an enable command to the second computer to enable the second computer to run the software, designating the second computer in the database as licensed to run the software, and designating the other computer in the database as no longer licensed to run the software.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for software license management that allows a user to easily move a software license from one computer to another and the software vendor to control unlicensed use. A server maintains user account information including computers licensed to run the software and computers no longer licensed to run the software. A computer is enabled to run the software in an initialization process, and re-enabled by the server from time to time in an automatic re-enable process. If a non-enabled computer attempts to run the software, the user is given a choice to acquire a new license for the computer, move the license from an existing licensed computer to the current computer, or exit. If a new license is bought or an existing license moved, the server updates the information of enabled and no-longer-enabled computers accordingly.
38 Citations
28 Claims
-
1. A method implemented on a server for managing licenses for a piece of software, comprising:
-
(a) maintaining a user account database for the software, the database including, for each user account, account authentication information, information regarding a license policy, identifiers of computers licensed to run the software, and identifiers of computers no longer licensed to run the software;
(b) initializing the software on a first computer, including;
(b1) receiving account authentication information and computer identification information from the first computer;
(b2) executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(b3) if an enable decision is made, sending an enable command to the first computer to enable the first computer to run the software, and designating the first computer in the database as licensed to run the software; and
(b4) if a disable decision is made, sending a disable command to the first computer to disable the first computer from running the software; and
(c) re-enabling the software on a second computer, the second computer being the same as or different from the first computer, including;
(c1) receiving account authentication information and computer identification information from the second computer;
(c2) executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(c3) if an enable decision is made, sending an enable command to the second computer to enable the second computer to run the software;
(c4) if a disable decision is made, sending a disable command to the second computer to disable the second computer from running the software; and
(c5) if an instruction to move a license from another computer is received from the second computer in response to the disable command, sending an enable command to the second computer to enable the second computer to run the software, designating the second computer in the database as licensed to run the software, and designating the other computer in the database as no longer licensed to run the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method implemented on a user computer for managing licenses for a piece of software, comprising:
-
(a) initializing the software on the user computer, including;
(a1) sending account authentication information and computer identification information to a server;
(a2) receiving an enable or disable command from the server;
(a3) if an enable command is received, enabling the computer to run the software; and
(a4) if a disable command is received, disabling the computer from running the software; and
(b) re-enabling the software on the computer, including;
(b1) sending account authentication information and computer identification information to a server;
(b2) receiving an enable or disable command from the server;
(b3) if an enable command is received, enabling the computer to run the software;
(b4) if a disable command is received, disabling the computer from running the software, and presenting an option to a user to move an existing license from another computer to the computer; and
(b5) if an instruction to move a license from another computer is received from the user, sending an instruction to move a license to the server. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for managing licenses for a piece of software, comprising:
-
(a) maintaining a user account database for the software on a server, the database including, for each user account, account authentication information, information regarding a license policy, identifiers of computers licensed to run the software, and identifiers of computers no longer licensed to run the software;
(b) initializing the software on a first computer, including;
(b1) the first computer sending account authentication information and computer identification information to the server;
(b2) the server executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(b3) if an enable decision is made, the server sending an enable command to the first computer, and designating the first computer in the database as licensed to run the software;
(b4) the first computer enabling itself to run the software upon receiving the enable command;
(b5) if a disable decision is made, the server sending a disable command to the first computer; and
(b6) the first computer disabling itself from running the software upon receiving the disable command; and
(c) re-enabling the software to run on a second computer, the second computer being the same as or different from the first computer, including;
(c1) the second computer sending account authentication information and computer identification information to the server;
(c2) the server executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account corresponding to the account authentication information to make an enable or disable decision;
(c3) if an enable decision is made, the server sending an enable command to the second computer;
(c4) the second computer enabling itself to run the software upon receiving the enable command;
(c5) if a disable decision is made, the server sending a disable command to the second computer;
(c6) the second computer disabling itself from running the software upon receiving the disable command, and presenting an option to a user to move an existing license from another computer to the computer;
(c7) if an instruction to move a license from another computer is received from the user, the second computer sending an instruction to move a license to the server; and
(c8) the server sending an enable command to the second computer upon receiving an instruction to move a license from another computer, designating the second computer as licensed to run the software, and designating the other computer as no longer licensed to run the software. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for initializing a piece of software, comprising:
-
a client computer executing a trial version of the software and sending computer identification information for the client computer to a server;
the client computer acquiring a license to a full version of the software and sending the computer identification information to the server;
the server associating the computer identification information with a previously created user account;
the client computer executing the software and sending the computer identification information to the server;
the server executing a policy decision algorithm based on the computer identification information and the license policy associated with the user account to make an enable or disable decision;
if an enable decision is made, sending an enable command to the first computer to enable the first computer to run the software, and designating the first computer in the database as licensed to run the software; and
if a disable decision is made, sending a disable command to the first computer to disable the first computer from running the software.
-
Specification