US7890430B2ExpiredUtilityA1

Technique for license management and online software license enforcement

Assignee: YAHOO INCPriority: Mar 21, 2001Filed: Jan 6, 2009Granted: Feb 15, 2011
Est. expiryMar 21, 2021(expired)· nominal 20-yr term from priority
Inventors:Thomas Lopatic
G06F 21/125
80
PatentIndex Score
20
Cited by
18
References
30
Claims

Abstract

A software protection is presented comprising software license management and online software license enforcement, wherein individual licenses are provided for regulating the use of a software product, and the software product is individualized while being downloaded from a license server, and the execution of each individualized software product is monitored in agreement with the individual license terms corresponding to the individual software download.

Claims

exact text as granted — not AI-modified
1. A method for online software license enforcement comprising:
 a license server device performing steps of:
 storing:
 a master copy of a software product; 
 at least one download copy of the master copy; and 
 a software license for the software product, said software license comprising identification of a subject and a license policy defining a role for distribution of the software product to said subject; 
 wherein the role defines distribution privileges granted to the subject in a separately obtained verification of the subject's authorization to perform operations associated with distribution of the software product; 
 
 receiving a request from the subject for confirmation of the license in order to run the at least one download copy, wherein said request is made upon an attempt by the subject to run said at least one download copy; 
 individualizing the download copy by fingerprinting said download copy of the software product with a watermark to link said download copy to the subject downloading it; 
 linking the individualized download copy of the software product to its respective software license; 
 evaluating the software license linked to the individualized download copy to determine its associated role; 
 requesting from a third party trust center a verification that the role associated with the license matches a current status of the subject for restricting operations available to said subject to only those operations that are defined by its role; and 
 transmitting approval to the individualized download copy only upon receipt of the verification from the third party trust center, wherein said approval constitutes a runtime ticket necessary to obtain a fully usable runtime version of the individualized download copy. 
 
 
     
     
       2. The method of  claim 1  wherein evaluating the software license comprises evaluating multiple software licenses matching the individualized download copy. 
     
     
       3. The method of  claim 2  wherein evaluating the multiple software licenses comprises evaluating the multiple software licenses on a “best match first” basis wherein, if there are two or more licenses available, the license is chosen which least restricts use of further individual download copies by the subject. 
     
     
       4. The method of  claim 1  wherein the approval is embodied as program code transmitted from the license server device to the individual download copy of the software product necessary to obtain a fully usable runtime version of said individual download copy. 
     
     
       5. The method of  claim 1  wherein receiving the request from the individualized download copy comprises receiving a request ticket. 
     
     
       6. The method of  claim 5  wherein transmitting the approval comprises transmitting a runtime ticket to the individual download copy. 
     
     
       7. The method of  claim 6  further comprising receiving a log-off ticket from the individual download copy indicating termination of an execution of said individual download copy. 
     
     
       8. The method of  claim 7  further comprising accepting the log-off ticket only after the individual download copy has proven that its runtime version is unusable. 
     
     
       9. The method of  claim 1  wherein individualizing the download copy comprises embedding verification code in one or more subroutines of the download copy. 
     
     
       10. The method of  claim 1  wherein individualizing the download copy comprises embedding data in the download copy. 
     
     
       11. The method of  claim 1  wherein individualizing the download copy comprises using fingerprinting which is identical for different downloads; and wherein said fingerprinting may be supplied and stored separately from the download to be shared by more than one download copy. 
     
     
       12. The method of  claim 9  wherein at least a part of a piece of the verification code is embedded in one or more subroutines to verify validity of at least one type of ticket. 
     
     
       13. The method of  claim 12  wherein the verification code embedded in the one or more subroutines increments a counter particular to said subroutine each time said subroutine of said individual download copy of a software product is invoked. 
     
     
       14. The method of  claim 13  further comprising:
 reading each of said counters; and 
 submitting the counter reading to the license service device upon terminating execution of the individual download copy. 
 
     
     
       15. The method of  claim 1  wherein individualizing the download copy further comprises linking information about the watermark to the software license. 
     
     
       16. A license server device comprising:
 storage storing:
 a master copy of a software product; 
 at least one download copy of the master copy; and 
 a software license for the software product, said software license comprising identification of a subject and a license policy defining a role for distribution of the software product to said subject; 
 wherein the role defines distribution privileges granted to the subject in a separately obtained verification of the subject's authorization to perform operations associated with distribution of the software product; 
 
 a non-transitory computer-readable medium having executable instructions that when executed by the license server device perform the steps of:
 receiving a request from the subject for confirmation of the license in order to run the at least one download copy, wherein said request is made upon an attempt by the subject to run said at least one download copy; and 
 individualizing the download copy by fingerprinting said download copy of the software product with a watermark to link said download copy to the subject downloading it; 
 linking the individualized download copy of the software product to its respective software license; 
 evaluating the software license linked to the individualized download copy to determine its associated role; 
 requesting from a third party trust center a verification that the role associated with the license matches a current status of the subject for restricting operations available to said subject to only those operations that are defined by its role; and 
 transmitting approval to the individualized download copy upon receipt of the verification from the third party trust center, wherein said approval constitutes a runtime ticket necessary to obtain a fully usable runtime version of the individualized download copy. 
 
 
     
     
       17. The license server device of  claim 16  wherein the approval is embodied as program code transmitted from the license server device to the individual download copy of the software product necessary to obtain a fully usable runtime version of said individual download copy. 
     
     
       18. The license server device of  claim 16  further comprising license management logic for registering the license. 
     
     
       19. The license server device of  claim 16  wherein the role comprises at least one selected from a group consisting of: a software supplier, a distributor, a dealer, a dealer specializing in educational licenses, a commercial end user, a government end user, an educational end user, and an anonymous end user. 
     
     
       20. The license server device of  claim 16  wherein the individualized download copy comprises embedded verification code in one or more subroutines of the download copy. 
     
     
       21. The license server device of  claim 16  wherein the individualized download copy comprises embedded data in the download copy. 
     
     
       22. The license server device of  claim 16  wherein the individualized download copy comprises embedded data in the download copy and embedded verification code in one or more subroutines of the download copy. 
     
     
       23. The license server device of  claim 20  further comprising a counter associated with the one or more subroutines, said counter being incremented by the verification code each time the one or more subroutines associated with the counter is invoked for monitoring a number of executions of the subroutines. 
     
     
       24. The license server device of  claim 23  further comprising logic for:
 reading the counter; and 
 submitting the counter reading when the individual download copy terminates execution. 
 
     
     
       25. The license server device of  claim 24  further comprising logic for:
 preparing statistical surveys of counter values to determine which subroutines are unnecessary. 
 
     
     
       26. The license server device of  claim 16  further comprising license management logic for
 registering the license; and 
 assigning the role to the subject upon registration of the license. 
 
     
     
       27. A method for online software license enforcement comprising:
 a license server device performing steps of:
 accessing from data storage:
 a download copy of a software product; and 
 a software license for the software product, said software license comprising identification of a licensee and a license policy defining a role for distribution of the software product to a subject; 
 wherein the role defines distribution privileges granted to the subject in a separately obtained verification of the subject's authorization to perform operations associated with distribution of the software product; 
 
 receiving a request from the subject for confirmation of the license in order to run the at least one download copy, wherein said request is made upon an attempt by the subject to run said at least one download copy; 
 individualizing the download copy by fingerprinting said download copy of the software product with a watermark to link said download copy to the subject downloading it; 
 linking the individualized download copy of the software product to its respective software license; 
 evaluating the software license linked to the individualized download copy to determine its associated role; 
 requesting from a third party trust center a verification that the role associated with the license matches a current status of the subject for restricting operations available to said subject to only those operations that are defined by its role; and 
 transmitting approval to the individualized download copy only upon receipt of the verification from the third party trust center, wherein said approval constitutes a runtime ticket necessary to obtain a fully usable runtime version of the individualized download copy. 
 
 
     
     
       28. The method of  claim 27  wherein individualizing the download copy comprises embedding verification code in one or more subroutines of the download copy. 
     
     
       29. The method of  claim 28  further comprising:
 monitoring a number of executions of the one or more subroutines by associating a counter with said one or more subroutines: and 
 incrementing the counter each time the one or more subroutines associated with said counter is invoked. 
 
     
     
       30. The method of  claim 29  further comprising:
 reading the counter; and 
 submitting the counter reading when the individual download copy terminates execution.

Join the waitlist — get patent alerts

Track US7890430B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.