|
|
|
| United States Patent | 5103476 |
| Link to this page | http://www.wikipatents.com/5103476.html |
| Inventor(s) | Waite; David P. (Fairfax, VA);
Riddell; Horace G. (Chantilly, VA) |
| Abstract | A 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  |
|
|
|
|
|
Drawing from US Patent 5103476 |
|
|
Secure system for activating personal computer software at remote
locations |
|
|
|
|
|
| Publication Date |
April 7, 1992 |
|
|
|
|
|
| Filing Date |
November 7, 1990 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 4999806 Chernow 717/177 Mar,1991 |      Your vote accepted [0 after 0 votes] | | 4953209 Ryder, Sr. 705/59 Aug,1990 |      Your vote accepted [0 after 0 votes] | | 4941175 Enescu 705/59 Jul,1990 |      Your vote accepted [0 after 0 votes] | | 4937863 Robert 710/200 Jun,1990 |      Your vote accepted [0 after 0 votes] | | 4924378 Hershey 726/29 May,1990 |      Your vote accepted [0 after 0 votes] | | 4796220 Wolfe 705/56 Jan,1989 |      Your vote accepted [0 after 0 votes] | | 4740890 William 726/31 Apr,1988 |      Your vote accepted [0 after 0 votes] | | 4719565 Moller 710/260 Jan,1988 |      Your vote accepted [0 after 0 votes] | | 4685055 Thomas 705/56 Aug,1987 |      Your vote accepted [0 after 0 votes] | | 4658093 Hellman 705/52 Apr,1987 |      Your vote accepted [0 after 0 votes] | | 4652990 Pailen 705/56 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4649510 Schmidt 726/26 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4597058 Izumi 711/115 Jun,1986 |      Your vote accepted [0 after 0 votes] | | 4593353 Pickholtz
Jun,1986 |      Your vote accepted [0 after 0 votes] | | 4458315 Uchenick 726/30 Jul,1984 |      Your vote accepted [0 after 0 votes] | | 4446519 Thomas 711/164 May,1984 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |