WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for remotely controlling and monitoring the use of computer software    
United States Patent5649187   
Link to this pagehttp://www.wikipatents.com/5649187.html
Inventor(s)Hornbuckle; Gary D. (Pebble Beach, CA)
AbstractRemote 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 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 5649187
Method and apparatus for remotely controlling and monitoring the use of

     computer software - US Patent 5649187 Drawing
Method and apparatus for remotely controlling and monitoring the use of computer software
Inventor     Hornbuckle; Gary D. (Pebble Beach, CA)
Owner/Assignee     SofTel, Inc. (San Francisco, CA)
Patent assignment
All assignments
Publication Date     July 15, 1997
Application Number     08/537,030
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 29, 1995
US Classification     707/10 709/224 709/229 713/2 713/100 714/18 717/127 717/178
Int'l Classification     G06F 013/00 G06F 015/177
Examiner     Black; Thomas G.
Assistant Examiner     Loomis; John C.
Attorney/Law Firm     LaRiviere, Grubman & Payne
Address
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.
Priority Data    
USPTO Field of Search     380/4 395/200.09 395/490 395/491 395/182.16 395/600 395/700 395/610 395/652 395/653 395/712
Patent Tags     remotely controlling monitoring of computer software
   
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
5388211
Hornbuckle
717/178
Feb,1995

[0 after 0 votes]
5051822
Rhoades
463/25
Sep,1991

[0 after 0 votes]
4999806
Chernow
717/177
Mar,1991

[0 after 0 votes]
4975865
Carrette
700/10
Dec,1990

[0 after 0 votes]
4972470
Farago
713/192
Nov,1990

[0 after 0 votes]
4957058
Boguslavsky
118/323
Sep,1990

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

[0 after 0 votes]
4949257
Orbach
705/21
Aug,1990

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

[0 after 0 votes]
4933971
Bestock
380/44
Jun,1990

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

[0 after 0 votes]
4916738
Chandra
713/159
Apr,1990

[0 after 0 votes]
4827508
Shear
705/53
May,1989

[0 after 0 votes]
4748638
Friedman
375/222
May,1988

[0 after 0 votes]
4747139
Taaffe

May,1988

[0 after 0 votes]
4731840
Mniszewski
380/284
Mar,1988

[0 after 0 votes]
4700296
Palmer, Jr.
705/32
Oct,1987

[0 after 0 votes]
4691355
Wirstrom
713/159
Sep,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]
4649233
Bass
713/171
Mar,1987

[0 after 0 votes]
4635055
Fernandes
340/870.17
Jan,1987

[0 after 0 votes]
4593376
Volk

Jun,1986

[0 after 0 votes]
4503287
Morris
380/45
Mar,1985

[0 after 0 votes]
4471163
Donald
705/55
Sep,1984

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

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

[0 after 0 votes]
4439830
Chueh
711/164
Mar,1984

[0 after 0 votes]
4361851
Asip
725/14
Nov,1982

[0 after 0 votes]
4168396
Best
713/190
Sep,1979

[0 after 0 votes]
4120030
Johnstone
713/190
Oct,1978

[0 after 0 votes]
3996449
Attanasio
235/431
Dec,1976

[0 after 0 votes]
3806882
Clarke
711/164
Apr,1974

[0 after 0 votes]
4977594
Shear
705/53
Dec,1969

[0 after 0 votes]
5047928
Wiedemer
705/52
Dec,1969

[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 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.
 Description Submit all comments and votes
 


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