IP Library Patent Application 11177217
Patent Application
App. No. 11/177,217

Methods and apparatus for secure distribution of software

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 None
App. No.
11/177,217
Abstract

Software is securely distributed with limited usage rights. The software may be an executable program and/or one or more data files such as image or multimedia data files. The software includes an access control object which prevents at least some usage of the software without use of a first access control code. The first access control code is produced based on selected information characteristic of the user's computer system. The access control code is produced in a server computer to which the user directs a request for the access control code. The user makers a payment to receive the access control code, which is then downloaded to the user's computer system.

Claims (26)

1 . A method of securely distributing software with limited usage rights, comprising:

supplying software for distribution to a user, the software including an access control object for preventing at least some usage thereof on a computer system without the use of a first access control code;

producing the first access control code based on selected information characteristic of a predetermined computer system; and

supplying the first access control code to the predetermined computer system to enable the at least some usage of the software.

2 . The method of claim 1 , wherein the step of supplying software comprises supplying the software to the predetermined computer system, the software having a first object and a second object, the access control object comprising an access control executable controlling access to the first and second objects by referencing the first access control code and the selected information in the computer system.

3 . The method of claim 2 , wherein the step of supplying the first access control code comprises:

supplying a usage authorization package including the first access control code and information identifying authorized usages of the software, the access control executable being operative to reference the usage authorization package in controlling access to the first and second objects, the software being operative to store the usage authorization package apart from the first and second objects.

4 . The method of claim 2 , wherein the first object provides a first set of a plurality of features, the second object provides a second set of a plurality of features including some, but less than all, of the features included in the first set and the access control executable is operative to prevent access to the first object in the absence of the first access control code and the selected information but to enable access to the second object without reference to the first access control code or the selected information.

5 . The method of claim 4 , wherein the software includes a third object providing the first set of a plurality of features together with a third set including at least one feature not included in the first set, the executable being operative to prevent access to the third object in the absence of a second access control code different from the first access control code and further selected information characteristic of the predetermined computer system, the second access control code being produced based on the further selected information, the method further comprising: supplying the second access control code to the predetermined computer system.

6 . The method of claim 2 , wherein the access control executable comprises a wrapper for the first and second objects.

7 . The method of claim 1 , wherein the first access control code is a decryption key produced from the selected information.

8 . The method of claim 1 , wherein the first access control code is an executable required for decrypting at least a portion of the software.

9 . The method of claim 1 , wherein the first access control code is a watermark in an object supplied to the predetermined computer system.

10 . The method of claim 1 , wherein the software includes transaction information relating to a transaction by which the software is supplied to the user, and the access control object is operative to prevent the at least some usage of the software in the absence of the transaction information in the software.

11 . The method of claim 1 , wherein the transaction information is supplied as a watermark in the software.

12 . The method of claim 1 , further comprising the steps of storing the first access control code at a location in the computer system apart from a location at which the software is stored therein.

13 . The method of claim 1 , further comprising receiving at a server a request from the user to purchase rights to predetermined usage of the software, receiving at the server the selected information characteristic of the predetermined computer system, obtaining payment information from the user assuring payment for the rights and supplying the first access control code from the server to the predetermined computer system in response to receipt of the payment information.

14 . The method of claim 13 , further comprising supplying a system information collection code from the server to the predetermined computer system, the system information collection code being operative to obtain the selected information characteristic of the predetermined computer system.

15 . The method of claim 13 , wherein the software includes data defining a notifier which the software causes to be displayed by means of the predetermined computer system, the notifier conveying information required by the user for ordering rights to predetermined usage of the software and enabling entry of first transaction information required for the purchase of the rights, the software being operative to obtain the selected information from the predetermined computer system in response to entry of the payment information and to cause the predetermined computer system to transmit the selected information and the first transaction information to the server.

16 . The method of claim 15 , wherein the software is operative to reference information in an operating system of the predetermined computer system identifying a language selected for providing outputs to a user and to cause the software to provide such outputs in the selected language.

17 . The method of claim 15 , wherein the software is supplied as a software copy on a storage medium for distribution to the user, the software including an identification code identifying the software copy, the software is operative to transmit the identification code to the server, the server being operative to produce the first access control code based on the identification code.

18 . The method of claim 15 , wherein the software is supplied by data communication from a server to the predetermined computer system in response to a request, the request including second transaction information, the server being operative to insert transaction identification information in the software based on the second transaction information.

19 . The method of claim 18 , wherein the server is operative to insert the transaction identification information in the software as a watermark.

20 . The method of claim 18 , wherein the server is operative to produce the first access control code based on the second transaction information.

21 . The method of claim 20 , wherein the server is operative to supply the first access control code with an identifying watermark.

22 . The method of claim 1 , wherein the software comprises a first executable object.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jan 20, 2011
From: BANK OF MONTREAL, AS AGENT
To: FLEXERA SOFTWARE, INC. (F/K/A ACRESSO SOFTWARE INC.)
Reel/Frame 025668/0070 →
CHANGE OF NAME Recorded Nov 25, 2009
From: ACRESSO SOFTWARE INC.
To: FLEXERA SOFTWARE, INC.
Reel/Frame 023565/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2008
From: MACROVISION CORPORATION
To: ACRESSO SOFTWARE INC.
Reel/Frame 020817/0960 →
SECURITY AGREEMENT Recorded Apr 2, 2008
From: ACRESSO SOFTWARE INC.
To: BANK OF MONTREAL, AS AGENT
Reel/Frame 020741/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2006
From: TRYMEDIA SYSTEMS, INC.
To: MACROVISION CORPORATION
Reel/Frame 017606/0135 →