|
|
|
| United States Patent | 5649187 |
| Link to this page | http://www.wikipatents.com/5649187.html |
| Inventor(s) | Hornbuckle; Gary D. (Pebble Beach, CA) |
| Abstract | Remote control of the use of computer data is described in a system for
renting computer software which derives use and billing information,
prevents unauthorized use, maintains integrity of the software and
controls related intercomputer communications. A user at a target computer
"downloads" programs or data, via a telephone line and remote control
modules, from a host computer. Usage of the programs or data by the target
computer or other accounting data are recorded and stored and, at
predetermined times, the host computer "uploads" the usage data for
processing. Other features include: (1) software and usage security for
rental programs; (2) a polynomial generator/checker for generating block
check characters for assuring integrity of data transmitted and received;
(3) a voice-data switch for switching between data communication and
normal telephone communication; and (4) an audio amplifier and speaker for
monitoring of activity on the communication line during data transfers. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5649187 |
|
|
Method and apparatus for remotely controlling and monitoring the use of
computer software |
|
|
|
|
|
| Publication Date |
July 15, 1997 |
|
|
|
|
|
| Filing Date |
September 29, 1995 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
CROSS REFERENCE TO RELATED APPLICATION
This is a continuation of application Ser. No. 08/344,173, filed Nov. 23,
1994, now abandoned, which is a continuation of application Ser. No.
08/050,749, filed Apr. 20, 1993, now U.S. Pat. No. 5,388,211, which was a
continuation of application Ser. No. 07/883,818, filed May 14, 1992, now
abandoned, which was a continuation of application Ser. No. 07/345,083,
filed Apr. 28, 1989, now abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
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 | 5388211 Hornbuckle 717/178 Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5051822 Rhoades 463/25 Sep,1991 |      Your vote accepted [0 after 0 votes] | | 4999806 Chernow 717/177 Mar,1991 |      Your vote accepted [0 after 0 votes] | | 4975865 Carrette 700/10 Dec,1990 |      Your vote accepted [0 after 0 votes] | | 4972470 Farago 713/192 Nov,1990 |      Your vote accepted [0 after 0 votes] | | 4957058 Boguslavsky 118/323 Sep,1990 |      Your vote accepted [0 after 0 votes] | | 4953209 Ryder, Sr. 705/59 Aug,1990 |      Your vote accepted [0 after 0 votes] | | 4949257 Orbach 705/21 Aug,1990 |      Your vote accepted [0 after 0 votes] | | 4941175 Enescu 705/59 Jul,1990 |      Your vote accepted [0 after 0 votes] | | 4933971 Bestock 380/44 Jun,1990 |      Your vote accepted [0 after 0 votes] | | 4924378 Hershey 726/29 May,1990 |      Your vote accepted [0 after 0 votes] | | 4916738 Chandra 713/159 Apr,1990 |      Your vote accepted [0 after 0 votes] | | 4827508 Shear 705/53 May,1989 |      Your vote accepted [0 after 0 votes] | | 4748638 Friedman 375/222 May,1988 |      Your vote accepted [0 after 0 votes] | | 4747139 Taaffe
May,1988 |      Your vote accepted [0 after 0 votes] | | 4731840 Mniszewski 380/284 Mar,1988 |      Your vote accepted [0 after 0 votes] | | 4700296 Palmer, Jr. 705/32 Oct,1987 |      Your vote accepted [0 after 0 votes] | | 4691355 Wirstrom 713/159 Sep,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] | | 4649233 Bass 713/171 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4635055 Fernandes 340/870.17 Jan,1987 |      Your vote accepted [0 after 0 votes] | | 4593376 Volk
Jun,1986 |      Your vote accepted [0 after 0 votes] | | 4503287 Morris 380/45 Mar,1985 |      Your vote accepted [0 after 0 votes] | | 4471163 Donald 705/55 Sep,1984 |      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] | | 4439830 Chueh 711/164 Mar,1984 |      Your vote accepted [0 after 0 votes] | | 4361851 Asip 725/14 Nov,1982 |      Your vote accepted [0 after 0 votes] | | 4168396 Best 713/190 Sep,1979 |      Your vote accepted [0 after 0 votes] | | 4120030 Johnstone 713/190 Oct,1978 |      Your vote accepted [0 after 0 votes] | | 3996449 Attanasio 235/431 Dec,1976 |      Your vote accepted [0 after 0 votes] | | 3806882 Clarke 711/164 Apr,1974 |      Your vote accepted [0 after 0 votes] | | 4977594 Shear 705/53 Dec,1969 |      Your vote accepted [0 after 0 votes] | | 5047928 Wiedemer 705/52 Dec,1969 |      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 renting an application program for use on a customer
computer, comprising the steps of:
encrypting a key module of the program, the program being inoperable
without the key module;
storing the program in the customer computer;
retrieving the program when it is desired to run the program;
upon retrieval of the program, automatically decrypting the key module to
permit use of the program; and
during use of the program on the customer computer, recording accounting
data representative of the use to facilitate transactions based on the
use.
2. The method of claim 1, further comprising the step of transmitting the
accounting data to a central host computer at preprogrammed times.
3. The method of claim 2, further comprising the steps of:
monitoring the state of a time monitoring means connected to the customer
computer, the time monitoring means for monitoring the use of the program;
and
preventing the use of the program when the time monitoring means is
disconnected from the computer.
4. Apparatus for renting computer programs comprising:
a rental control unit coupled to a rental computer and including first
transmitting and receiving means for transmitting first type information
to a user computer and for receiving second type information from said
user computer, said first type information including at least one computer
application program, said rental control unit also including encryption
means for encrypting at least one preselected portion of said computer
program to form an encrypted module before transmission of said first type
information by said transmitting and receiving means, said encryption
means including a first encryption key for use in forming said encrypted
module, said encryption module being only a fraction less than one of said
computer program; and
a user control unit coupled to a user computer and including second
transmitting and receiving means coupled to said first transmitting and
receiving means for transmitting second type information to said rental
computer and for receiving said first type information from said rental
computer, said second transmitting and receiving means including
decryption means for decrypting said encrypted module to form a decrypted
module, said user control unit also including storage means coupled to
said decryption means for storing said decrypted module and transfer means
for causing said decrypted module to be transferred from said storage
means to said user computer for execution by said user computer and for
removing said decrypted module from said user computer when execution by
said user computer is completed.
5. Apparatus as in claim 4 wherein said encryption means includes a second
encryption key for use in encrypting said first encryption key to form an
encrypted first encryption key, and said decryption means includes a copy
of said second encryption key for use in decrypting said encrypted first
encryption key.
6. Apparatus as in claim 4 wherein said second type information includes
time accounting data for determining rental charges for use of said
computer program, said rental charges based at least in part on the length
of time said decrypted module is being executed by said user computer.
7. Apparatus for controlling the use by a second computer of information
stored in a first computer, said apparatus comprising:
first transmitting and receiving means coupled to said first computer for
transmitting information to said second computer;
a second transmitting and receiving means coupled to said first
transmitting and receiving means and to said second computer for receiving
information transmitted by said first computer;
said first and second transmitting and receiving means each including
encryption/decryption means for encrypting and decrypting, respectively,
preselected portions of the information, said preselected portions
including application program information, and a first encryption key for
encrypting and decrypting said preselected portions of the information
including, said application program information;
said first and second transmitting and receiving means each including a
second encryption key for encrypting and decrypting, respectively, said
first encryption key;
error detection means for detecting errors, on a block-by-block basis using
a polynomial checker, in data transmitted from said second computer to
said first computer and for producing an error signal representative
thereof; and
retransmission means coupled to said error detection means and responsive
to said error signal for producing a signal representing a request for
retransmission of said data, said second transmitting and receiving means
responsive to said request for retransmission for retransmitting said
data.
8. Apparatus as in claim 7 further including monitoring means for
monitoring usage by said second computer of the information transmitted to
said second computer for developing time accounting data relative to
rental charges for said usage, and for preventing usage of the information
if said second transmitting and receiving means is disconnected from said
second computer.
9. Apparatus as in claim 8 further including memory means coupled to said
monitoring means for storing said time accounting data, said second
transmitting and receiving means being responsive to a second command from
said first computer for transmitting said time accounting data to said
first computer.
10. Apparatus as in claim 7 wherein:
said encryption/decryption means in said second transmitting and receiving
means decrypts the encrypted portion of the application program
information only upon request of a user of said second computer to use the
information, said second transmitting and receiving means thereupon
transmits the decrypted information to said second computer.
11. Apparatus as in claim 7 further including:
error detection means for detecting the presence of an error in the
information transmitted by said first transmitting and receiving means and
for producing an error signal; and
retransmission means coupled to said error detection means and responsive
to said error signal for producing a signal representing a request for
retransmission of the information transmitted by said first computer, said
first transmission and receiving means being responsive to said request
for retransmission for retransmitting the information.
12. Apparatus as in claim 7 wherein said first and second transmitting and
receiving means are coupled to each other via a public communication
network.
13. Apparatus as in claim 12 wherein said first and second transmitting and
receiving means each include connection means for connecting said first
and second transmitting and receiving means, respectively, to said public
communications means.
14. Apparatus as in claim 13 further including a telephone coupled to said
connection means associated with said second transmitting and receiving
means, said connection means including means for connecting said telephone
to said public communications network when said second transmitting and
receiving means is not receiving the information and said transmitting
means is not transmitting said time accounting data. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND AND SUMMARY OF THE INVENTION
The present invention relates to remotely controlling and monitoring the
use of computer software. More particularly, this invention relates to a
system for renting computer software products while 1) deriving customer
use and billing information; 2) preventing unauthorized copying and use;
3) maintaining the integrity of the rented software product (hereafter
also "package"); and 4) controlling related voice, program and data
communications between the host and user's computers.
For purposes of the present invention, rental computer software refers to
the service of providing computer software to customers (hereafter also
users) on a pay-as-used basis, where the software is executed on the
customer's own personal computer. In the past, the only software offered
for "rent" was software installed on centrally located computers,
accessible via remotely located workstations or terminals. Such systems
are well-known as "time-sharing" systems.
In time-share systems, software is executed on the central computer system,
and not on the customer's own computer. Time-shared software is typically
accessed over telephone networks using a "dumb" terminal or equivalent
located at the customer's home or office. In such systems, all customers
share the central computer resource, and the quality and delivery of
services provided generally degrade, i.e., slow down, as more customers
attempt to use the resource simultaneously. In addition to charges for the
central computer to execute the users program (i.e. CPU time), charges for
time-share usage must also include the cost for continuous use of the
public telephone network for the duration of the connection to the central
computer (i.e. connect time), whether or not the central computer is
actually executing the user's program. Thus, as the number of users
increase, both CPU time and connect time increase; as CPU time and connect
time increase, charges escalate as service degrades.
In general, and particularly in the circumstances just described, charges
for use of software via time-share systems are likely to be much greater
and far less predictable than for the rental of software which is executed
on the customer's own computer. On the other hand, host-based, time-share
systems have successfully provided software that is too expensive or
complex to be made available on smaller systems such as personal
computers. Thus it is desirable to continue offering expensive and complex
software installed on host-based systems, while eliminating the
disadvantages of time-share systems.
The software rental system of the present invention has some features which
are not unlike pay-for-view television systems enjoyed by television
viewers today. In pay-for-view television systems, the customer generally
pays to watch a particular program. For that purpose, the customer is
provided with a control box supplied by a cable television company. The
control box, once activated from the cable company office, decrypts
encrypted television signals transmitted to the user by the cable company.
If the customer is not authorized to view a particular program, the image
remains scrambled, and is unintelligible to the viewer. Conversely, once
the customer has selected and paid for the program desired, the control
box decrypts the signal and the program is understandable by the viewer.
In the relevant prior art, U.S. Pat. No. 4,361,851 discloses a television
usage monitoring system comprising a modified program selector (installed
in the home of a subscriber) which is used to select television programs
for viewing while, at the same time, providing the selection information
to a remote monitoring unit (also installed in the subscriber's home). The
remote monitoring unit is connected to the subscriber's telephone line and
is programmed to periodically communicate, via telephone lines, with a
central computer for the purpose of transmitting the television usage data
thereto. The disclosed remote monitoring system can be utilized for
"[a]ccess to centralized public database networks" (see column 2, line 4).
The system is also described as having the capability of producing a
"disable" signal from the central computer to the remote unit if, for
example, the subscriber has not timely paid charges due on his account. It
should be noted that U.S. Pat. No. 4,361,851 does not disclose a system
for 1) secure and remotely controlled downloading and use of computer
programs and data; 2) remotely controllable monitoring of use and security
of the downloaded programs and data; and 3) accessing and retrieving
stored usage data. In addition, neither means for generating block check
characters for data transmitted and received, nor voice-data switching
capability is described.
U.S. Pat. No. 4,624,578 discloses a rental contract timer system for
operating a relay to connect power to the rental equipment such as a
television set, only during the time for which rental has been paid. A
magnetic card reader determines, from an inserted card, the rental period
and identifying information, and the timer contains a real-time clock and
a microprocessor to compare the current time with the time in the rental
period.
In addition, U.S. Pat. No. 4,700,296 discloses an electronic access control
system for controlling customer access to rental appliances located in the
customer's home or other location away from the direct physical control of
the renter. The system comprises a control module wired into the appliance
with a card reader for programming the module to permit access and usage
of the appliance by the customer.
In the software rental system of the present invention, a control module is
installed on or in cooperation with the customer's computer (hereafter
also target computer), and the customer pays for services, i.e., the use
of the software, received. While operation of the system is as convenient
to use, substantially different features, advantages and implementation
with respect to the corresponding television system are necessary and
desirable. Specifically, the customer in a software rental system may rent
any program of an entire library of computer programs at any time, rather
than waiting for a particular time slot during which a particular program
would be available. Moreover, it is not necessary to install a separate
tr | | |