WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Secure system for activating personal computer software at remote locations    
United States Patent5103476   
Link to this pagehttp://www.wikipatents.com/5103476.html
Inventor(s)Waite; David P. (Fairfax, VA); Riddell; Horace G. (Chantilly, VA)
AbstractA process and system for activating various programs are provided in a personal computer. The computer is initially provided with a portion of a main program. A data link is established between the personal computer and a registration computer. By providing the registration computer with various information, a potential licensee can register to utilize the program. Once the registration process is complete, a tamperproof overlay program is constructed at the registration computer and transferred to the personal computer. The tamperproof overlay includes critical portions of the main program, without which the main program would not operate and also contains licensee identification and license control data.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5103476
Secure system for activating personal computer software at remote

     locations - US Patent 5103476 Drawing
Secure system for activating personal computer software at remote locations
Inventor     Waite; David P. (Fairfax, VA); Riddell; Horace G. (Chantilly, VA)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     April 7, 1992
Application Number     07/610,037
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 7, 1990
US Classification     705/59 713/155 713/164
Int'l Classification     H04L 009/32
Examiner     Gregory; Bernarr E.
Assistant Examiner    
Attorney/Law Firm     Hoffman, Wasson & Gitler
Address
Parent Case    
Priority Data    
USPTO Field of Search     350/53 350/4 350/23 350/25 350/49 350/50 371/37.7 364/246.9 364/286.4 364/5 364/6 364/7 364/8 364/9 364/10 364/11 364/12 364/13 364/14 364/15 364/16 364/17 364/18 364/19 364/20 364/21 364/22 364/23 364/24 364/25 364/26 364/27 364/28 364/29 364/30 364/31 364/32 364/33 364/34 364/35 364/36 364/37 364/38 364/39 364/40 364/41 364/42 364/43 364/44 364/45 364/46 364/47 364/48 364/49 364/50 364/51 364/52 364/53 364/54 364/55 364/56 364/57 364/58 364/59 364/60 364/61 364/62 364/63 364/64 364/65 364/66 364/67 364/68 364/69 364/70 364/71 364/72 364/73 364/74 364/75 364/76 364/77 364/78 364/79 364/80 364/81 364/82 364/83 364/84 364/85 364/86 364/87 364/88 364/89 364/90 364/91 364/92 364/93 364/94 364/95 364/96 364/97 364/98 364/99 364/100 364/101 364/102 364/103 364/104 364/105 364/106 364/107 364/108 364/109 364/110 364/111 364/112 364/113 364/114 364/115 364/116 364/117 364/118 364/119 364/120 364/121 364/122 364/123 364/124 364/125 364/126 364/127 364/128 364/129 364/130 364/131 364/132 364/133 364/134 364/135 364/136 364/137 364/138 364/139 364/140 364/141 364/142 364/143 364/144 364/145 364/146 364/147 364/148 364/149 364/150 364/151 364/152 364/153 364/154 364/155 364/156 364/157 364/158 364/159 364/160 364/161 364/162 364/163 364/164 364/165 364/166 364/167 364/168 364/169 364/170 364/171 364/172 364/173 364/174 364/175 364/176 364/177 364/178 364/179 364/180 364/181 364/182 364/183 364/184 364/185 364/186 364/187 364/188 364/189 364/190 364/191 364/192 364/193 364/194 364/195 364/196 364/197 364/198 364/199 364/200 364/201 364/202 364/203 364/204 364/205 364/206 364/207 364/208 364/209 364/210 364/211 364/212 364/213 364/214 364/215 364/216 364/217 364/218 364/219 364/220 364/221 364/222 364/223 364/224 364/225 364/226 364/227 364/228 364/229 364/230 364/231 364/232 364/233 364/234 364/235 364/236 364/237 364/238 364/239 364/240 364/241 364/242 364/243 364/244 364/245 364/246 364/247 364/248 364/249 364/250 364/251 364/252 364/253 364/254 364/255 364/256 364/257 364/258 364/259 364/260 364/261 364/262 364/263 364/264 364/265 364/266 364/267 364/268 364/269 364/270 364/271 364/272 364/273 364/274 364/275 364/276 364/277 364/278 364/279 364/280 364/281 364/282 364/283 364/284 364/285 364/286.6 364/949.81
Patent Tags     secure activating personal computer software remote locations
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4999806
Chernow
717/177
Mar,1991

[0 after 0 votes]
4953209
Ryder, Sr.
705/59
Aug,1990

[0 after 0 votes]
4941175
Enescu
705/59
Jul,1990

[0 after 0 votes]
4937863
Robert
710/200
Jun,1990

[0 after 0 votes]
4924378
Hershey
726/29
May,1990

[0 after 0 votes]
4796220
Wolfe
705/56
Jan,1989

[0 after 0 votes]
4740890
William
726/31
Apr,1988

[0 after 0 votes]
4719565
Moller
710/260
Jan,1988

[0 after 0 votes]
4685055
Thomas
705/56
Aug,1987

[0 after 0 votes]
4658093
Hellman
705/52
Apr,1987

[0 after 0 votes]
4652990
Pailen
705/56
Mar,1987

[0 after 0 votes]
4649510
Schmidt
726/26
Mar,1987

[0 after 0 votes]
4597058
Izumi
711/115
Jun,1986

[0 after 0 votes]
4593353
Pickholtz

Jun,1986

[0 after 0 votes]
4458315
Uchenick
726/30
Jul,1984

[0 after 0 votes]
4446519
Thomas
711/164
May,1984

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of activating a program file, comprising the steps of:

providing a program file including a loader segment and a registration shell portion to a remote computer having a display, said program file lacking a critical portion, preventing said program file from operating properly,

entering user identification information in said registration shell portion;

transmitting said user identification information from said registration shell to a separate registration program provided in a registration computer, said registration program merging user identification data with said critical portion to generate a unique overlay file;

transmitting said unique overlay file from said registration program to said registration shell, said overlay file containing the critical portion originally lacking from said program file; and

installing said overlay file in said program file, thereby allowing operation of said program file only when user identification contained in said overlay file is presently installed.

2. The method in accordance with claim 1 further comprising the step of validating said user identification information prior to transmitting said overlay file from said registration computer to said remote computer.

3. The method in accordance with claim 2, wherein said validating step insures that said user identification information is provided a legitimate registration shell.

4. The method in accordance with claim 1, further comprising the step of creating an overlay file which is tamperproof.

5. The method in accordance with claim 4, wherein said tamperproof overlay file is created by encrypting said overlay file, providing a cyclic redundancy check value within said encrypted overlay file and providing a decrypt key to said overlay file.

6. The method in accordance with claim 5, wherein the cyclic redundancy check value is computed each time said overlay is loaded for execution and compared to the cyclic redundancy check value transmitted within said tamperproof overlay file to determine whether said overlay file has been modified since generation.

7. The method in accordance with claim 1, wherein said user identification information and said overlay file are transmitted between said registration shell and said registration program through an electronic data link.

8. The method in accordance with claim 1, wherein said user identification and said overlay file are entered and installed on a single computer.

9. A system for activating a program file for a limited or unlimited period of time comprising;

at least one remote computer, initially provided with a program file containing an overlay loader segment but lacking at least one critical program segment, preventing operation of the program file, said overlay loader segment only enabling activation of the program file when an authentic overlay file is presently installed, said remote computer provided with a registration shell program, said registration shell program enabling a user to enter various user identification information;

a registration computer provided with a registration program, a means for receiving and processing said user identification information, a means for creating a unique overlay file containing the critical program segment lacking from the program file and all or portions of the user identification information, and a means for transmitting said overlay file to said remote computer,

wherein transmission of said overlay file to said remote computer would allow operation of said program file only when user identification contained in said overlay file is presently installed.

10. The system, for activating a program file in accordance with claim 9, further including an electronic data link between said remote computer and said registration computer and file transfer processes provided in both said registration computer and said remote computer.

11. The system for activating a program file in accordance with claim 9, wherein said registration computer is provided with a central data base including all registered users as well as a means for validating said user identification information.

12. The system for activating a program file in accordance with claim 9, wherein said means for creating an overlay file is provided with an encryption device for producing a tamperproof overlay file with a cyclic redundancy check value stored therein, and a decrypt key, and further wherein said decrypt key is transmitted to said remote computer along with said overlay file.

13. The system for activating a program file in accordance with claim 12, wherein said remote computer is provided with a means for decrypting said overlay file, calculating a cyclic redundancy check value each time said overlay file is loaded for execution, and comparing this check value to the redundancy check value transmitted by said registration computer within said overlay file.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

Generally speaking, most users of personal computers or similar devices obtain additional computer software to run on their devices by purchasing this software in various retail outlets or by obtaining this additional software through the mail. In both situations, a "shrink-wrap" material encases the software product and a license agreement is implied by the removal of the shrink wrap material in an endeavor to protect the licensor of the product from unauthorized copying and use of the product by the licensee/purchaser. This method of doing business has proved to be inadequate for both the licensee and the licensor. For example, the licensee is not given an opportunity to initially operate the software program to determine whether this program would suit the licensee's needs. Additionally, from the licensor's point of view, identification of the licensee and a means of controlling or monitoring the use of the program by the licensee are not provided by this technique.

Consequently, a method and system for allowing a potential purchaser/licensee to test a software program prior to purchasing the product is needed. Furthermore, a method and system in which the licensor is afforded protection as well as more precisely monitoring the licensees is warranted.

BRIEF DESCRIPTION OF THE INVENTION

The present invention is directed to a method and a system for permitting personal computer software programs or other types of programs to be distributed in an inactive condition. Subsequently, based upon various criteria, the program will be made active due to a particular transaction between the purchaser/licensee and the seller/licensor. Although the relationship between the seller and the purchaser need not be a licensor/licensee agreement, for the purposes of the present invention, we will refer to the seller as the licensor and the purchaser as the licensee or user. Once the licensee agrees to the terms of the particular transaction, licensee identification data is provided to a registration computer. The registration computer records the transaction and provides certain essential segments to the licensed program. These segments are both tamperproof and unique to the identified licensee. Based upon this exchange of information, the computer program that was inactive becomes operational.

Generally speaking, the inactive or unusable software programs are first distributed to potential licensees by physically conveying copies of a master on magnetic media, or by electronic transfer. Additionally, these programs may be broadcast as electromagnetic information, or they may have been included as firmware or hardware logic in the personal computer at the time of manufacture. These programs contain all of the segments of a particular program code except for a critical segment of an operational control loop without which the program process is incapable of sustained operation. Additionally, special program modules called a loader segment and a registration shell are distributed with the inactive software program. Once all of the appropriate information is relayed to the registration database computer, the essential segments of the particular program are transferred or transmitted as a tamperproof overlay file to the registration shell and installed on the personal computer. Subsequently, the loader segment will activate the main program by providing the essential segment each time the main program is loaded for execution.

Security features are included to prevent execution of the main program files with counterfeit, altered, or unauthorized essential segments. Security features are also included to ensure that all copies of the activated program will include unique licensee identification data, thereby allowing unauthorized copies to be traced to the original licensee.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. I is a flow diagram of the registration process according to the present invention;

FIG. II is a flow diagram of the program execution process according to the present invention; and

FIG. III is a block diagram of a typical personal computer and central computer according to the teachings of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The purpose of the present invention is to allow a licensor to maintain accountability of its programs in a manner much more efficient than presently being utilized. Additionally, a second purpose of the present invention is to allow a licensee or user to test a particular program before it is purchased or licensed. Therefore, it is contemplated that the teachings of the present invention are considered to be comprehensive and that any software program could be used.

Initially, a particular program which does not contain a critical or essential segment is provided in a personal computer or other device on a magnetic disc, firmware, hardware, or other means. However, in the case of small or extremely valuable programs, the essential segment may be the entire main program. Additionally, a registration shell program is also included with the particular program. However, due to the exclusion of the critical segment, the program would not operate without the implementation of the proper registration process. As shown in FIGS. I and III, this registration process is initiated utilizing a registration shell program 11 in the personal computer (PC) 10 as wel