US4796181A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Billing system for computer software
Assignee: Individual
•
Filing: 1986-10-24
•
Granted: 1989-01-03
•
Expires: 2006-10-24
Abstract
Abstract A computer software security and billing system is disclosed in which the application program is enciphered in accordance with an algorithm driven by a numeric key. The user's computer is provided with a hardware security module and a removable billing module, both of which carry unique codes. A security program accesses the application program and also writes information about billing into the billing module. The billing module is periodically replaced so the user can be charged based on amount of usage of the software.
Inventors
- 👤 John D. Wiedemer
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 19:56
CPC Classifications
G; G06; G06Q; G06Q30/00; G06Q30/04; G06F; G06F21/00; G06F21/10; G06Q40/00; G06Q40/12; G06Q40/125; G06F2211/00; G06F2211/007; G06F2221/00; G06F2221/21; G06F2221/2107; G06F2221/2135
Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
171 words
A billing system for billing users on a usage basis for an enciphered application software program for a computer comprising: a hardware security module attached to the computer, the security module carrying therein a fixed computer-readable numeric internal code and also carrying a billing module interface; a removable, portable billing module electrically connected to the security module and electrically connecting to the billing module interface therein, the billing module having fixed and alterable memory therein with a fixed computer-readable numeric external code in the fixed memory and billing information stored in the alterable memory, and a storage medium for the computer carrying an enciphered application program thereon and also carrying thereon security program means for (1) causing the computer to read the internal code and the external code, (2) using the internal and external codes to generate a decipher key which is used in a predetermined algorithm to decipher the application program for use by the user, and (3) writing usage billing information in the alterable memory in the billing module.
Claim 2
Dependent Claim
171 words
A billing system for billing users on a usage basis for an enciphered application software program for a computer comprising: a hardware security module attached to the computer, the security module carrying therein a fixed computer-readable numeric internal code and also carrying a billing module interface; a removable, portable billing module electrically connected to the security module and electrically connecting to the billing module interface therein, the billing module having fixed and alterable memory therein with a fixed computer-readable numeric external code in the fixed memory and billing information stored in the alterable memory, and a storage medium for the computer carrying an enciphered application program thereon and also carrying thereon security program means for (1) causing the computer to read the internal code and the external code, (2) using the internal and external codes to generate a decipher key which is used in a predetermined algorithm to decipher the application program for use by the user, and (3) writing usage billing information in the alterable memory in the billing module.
Claim 3
Dependent Claim
44 words
A billing system as claimed in claim 1 wherein the security program means reads billing authorization information from the billing module before deciphering the application program and wherein the security program means will not decipher the application program if the billing authorization is insufficient.
Claim 4
Dependent Claim
41 words
A billing system as claimed in claim 2 wherein a pre-established billing authorization amount is stored in the billing module and the security program means writes usage billing information in the billing module by decrementing the authorization amount based on usage.
Claim 5
Dependent Claim
47 words
A billing system as claimed in claim 2 wherein a pre-established authorization limit on the amount of memory of the billing memory set aside for billing information is established and wherein the security program means writes billing information in that memory until the authorization limit is reached.
Claim 6
Dependent Claim
15 words
A billing system as claimed in claim 2 wherein the billing module is an EEPROM.
Claim 7
Dependent Claim
49 words
A billing system as claimed in claim 5 wherein the EEPROM has a latch which prevents access to the EEPROM unless a latch code is presented to it and wherein the security program means generates the latch code from the internal code to gain access to the EEPROM contents.
Claim 8
Dependent Claim
35 words
A billing system as claimed in claim 1 wherein the security program means writes billing information frequently onto the storage medium and then periodically transfers a summary of the billing information into the billing module.
Claim 9
Dependent Claim
16 words
A billing system as claimed in claim 1 wherein the storage medium is a magnetic diskette.
Claim 10
Dependent Claim
39 words
A billing system as claimed in claim 8 wherein there is also a disk code oarried on the diskette whioh must be combined with the internal and external codes by the security program means to generate the decipher key.
Claim 11
Dependent Claim
50 words
A billing system as claimed in claim 8 wherein the magnetic disk has specific disk identifying information not apparent to the user imbelled in it unique to each disk so that unauthorized copies of the disk can be traced to the original disk from which the unauthorized copies were made.
Claim 12
Dependent Claim
37 words
A billing system as claimed in claim 1 wherein the enciphering of the application program includes encoding at least some characters of code in the program in a manner determined by the algorithm and the decipher key.
Claim 13
Dependent Claim
36 words
A billing system as claimed in claim 1 wherein the enciphering of the application program includes a relocating of instructions or data in the program in a manner determined by the algorithm and the decipher key.
Claim 14
Dependent Claim
43 words
A billing system as claimed in claim 1 wherein the security program means also reads a validation number from the billing module and tests the value of that number against a pre-determined expected value to determine if application program execution should be permitted.
Claim 15
Dependent Claim
37 words
A billing system as claimed in claim 1 wherein the security program means also reads update check information from the billing module to determine if the security program means and the application program have been properly updated.
Claim 16
Dependent Claim
27 words
A billing system as claimed in claim 1 wherein data transfer between the billing module and the computer is itself encoded to prevent unauthorized insertions or interception.
Claim 17
Dependent Claim
44 words
A billing system as claimed in claim 1 wherein the security module includes both resident read-only memory and a microprocessor, the security module connecting to the billing module and controlling interactions and communications between the computer and the storage medium and the billing module.
Claim 18
Dependent Claim
42 words
A billing system as claimed in claim 16 wherein the system is configured for plural computers connected in an inter-communicating network and there is a single billing module which communicates with the security modules in each of the computers in the network.
Claim 19
Independent Claim
167 words
A method of operating a billing and security system for distributing enciphered application programs on a pay-per-usage basis to users who have a personal computer with a hardware security module attached to it and a billing module removably received in the security module, the security module carrying an internal code therein and the billing module carrying an extenal code therein and having an alterable memory into which billing information may be entered, the method comprising the steps of (a) reading the internal code form the security module and the external code form the billing module; (b) generating a decipher key form the internal and external codes; (c) using the decipher key to decipher the enciphered application program; (d) executing the application program in the personal computer; and (e) during execution of the application program, periodically storing usage information into the alterable memory of the billing module so that the user can be charged for usage of the application program based on the information in the billing module.
Claim 20
Independent Claim
167 words
A method of operating a billing and security system for distributing enciphered application programs on a pay-per-usage basis to users who have a personal computer with a hardware security module attached to it and a billing module removably received in the security module, the security module carrying an internal code therein and the billing module carrying an extenal code therein and having an alterable memory into which billing information may be entered, the method comprising the steps of (a) reading the internal code form the security module and the external code form the billing module; (b) generating a decipher key form the internal and external codes; (c) using the decipher key to decipher the enciphered application program; (d) executing the application program in the personal computer; and (e) during execution of the application program, periodically storing usage information into the alterable memory of the billing module so that the user can be charged for usage of the application program based on the information in the billing module.
Claim 21
Dependent Claim
27 words
A method as claimed in claim 18 further comprising before step (c) reading the billing information in the billing module to determine if billing authorization is present.
Claim 22
Dependent Claim
50 words
A method as claimed in claim 18 wherein the enciphered application program is supplied to the user on a transportable magnetic media and wherein the deciphered application program generated in step (c) is not written on the magnetic media but is stored only in volatile memory in the personal computer.
Claim 23
Dependent Claim
34 words
A method as claimed in claim 18 wherein a pre-established billing authorization is stored in the billing module and the storage of usage information in step (e) is accomplished by decrementing the billing authorization.
Claim 24
Dependent Claim
51 words
A method as claimed in claim 18 wherein there is a disk code on the media carrying the enciphered application program, the method further comprising the step of reading the disk code and using the dish code in step (b) with the internal and external codes to generate the decipher key.
References Cited (Backward Citations)
US3806882A
Cited
US4168396A
Cited
US4278837A
Cited
US4310720A
Cited
US4246638A
Cited
US4447890A
Cited
US4450535A
Cited
US4511970A
Cited
US4446519A
Cited
US4433207A
Cited
US4471163A
Cited
US4513389A
Cited
US4458315A
Cited
US4683553A
Cited
US4504915A
Cited
US4462078A
Cited
US4658093A
Cited
US4562306A
Cited
US4494114A
Cited
US4494114B1
Cited
US4609777A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1992-01-03 | 1992-07-04 | 1993-01-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1996-01-03 | 1996-07-04 | 1997-01-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2000-01-03 | 2000-07-04 | 2001-01-03 | $7700.00 | Window Closed / Lapsed |