`
`US005l03392A
`
`[11] Patent Number:
`
`5,103,392
`
`[45] Date of Patent:
`
`Apr. 7, 1992
`
`4.590.557 5/I986 Lillie ................................. .. 364/200
`4.593.376 6/1986 Volk ....... ..
`364/900
`4.658.093
`4/1937 Hellman
`...... "330/4
`4.683.553
`7/1937 Mollier
`364/900
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`0116327
`
`.
`I/1984 European Pat. Off.
`OTHER PUBLICATIONS
`
`Lexis Handbook, Mead Data Corp.. copyrighted 1980.
`Lexis/Nexis-Quick Reference, copyrighted I984.
`"Computer Assisted Prior Art Searching", by Becker &
`Bolton, Jml of Patent Office Society. Oct. 1983. vol. 65.
`No. 10 pp. 536-585.
`“Phone Home Video. The Game Connection". by Ja-
`cobs. Video Review, Sep. 1983, pp. 33, 34. 120.
`
`Primary Exam1’ner—Lawrence E. Anderson
`Attorney. Agent. or Firm—Staas & Halsey
`
`[57]
`
`ABSTRACT
`
`A system for storing data on the history of use of pro-
`grams consisting of a data processing apparatus and a
`program storage unit, such as a magnetic tape. which
`stores program-specific data. The data processing appa-
`ratus includes a user-specific credit data storage por-
`tion. a use decision portion. and a program use history
`storage portion which can store use history data de-
`rived from the program-specific data from the program
`storage unit or the user-specific credit data from the
`user-specific credit data storage portion. The program
`use history is accessible to proprietors of the programs
`so that charges can be based on actual use of the pro-
`grams.
`
`3 Claims, 10 Drawing Sheets
`
`United States Patent
`Mori
`
`[19]
`
`[54] SYSTEM FOR STORING HISTORY OF USE
`OF PROGRAMS INCLUDING USER CREDIT
`DATA AND HAVING ACCESS BY THE
`PROPRIETOR
`
`[75]
`
`Inventor:
`
`Ryoiehi Mari, Tokyo, Japan
`
`[73] Assignee:
`
`Fujitsu Limited, Kawasaki. Japan
`
`[21] Appl. No.: 622,196
`
`[22] Filed:
`
`Dec. 5. 1990
`
`[63]
`
`Related U.S. Application Data
`Continuation of Ser. No. 281,882. Dec. 8, I988. aban-
`doned. which is a continuation of Ser. No. 129.867.
`Dec. 4. I987. abandoned. and a continuation of Ser.
`No. 657.794. Oct. 4, 1984, abandoned.
`
`‘
`Foreign Application Priority Data
`[30]
`Oct. 5. 1933 [JP]
`Japan .............................. .. 58-186100
`
`Mar. 12. I984 [JP]
`Japan . . .. .
`. . . . .. 59-46923
`Mar. 12. 1984 [JP]
`Japan ................................ .. 5945924
`
`Int. Cl.-‘ .............................................. .. G061-‘ 9/06
`[51]
`[52] U.S. Cl. ............................... .. 395/725; 364/284.4;
`364/286.5; 364/016.
`l
`364/200 MS File, 900 MS File
`
`[58] Field of Search
`
`[56]
`
`References Cited
`. U.S. PATENT DOCUMENTS
`
`364/406
`3/1973 Michels et al.
`3.719.927
`..... .. 235/38]
`3.956.615 5/I976 Anderson
`..... .. 235/380
`4.358.672 ll/1982 Hyatt el al
`I78/22.09
`4.433.207
`2/1984 Best
`............. ..
`235/380
`4.453.074 6/1984 Weinstein .
`. . . .. 358/84
`4.484.217 ll/l984 Block . . . , . . . .
`4.553.252 ll/1985 Egendorf .......................... .. 364/300
`
`
`
` PROGRAM
`
`
`
`
`
`DATA PROCESSING
`APPARATUS l
`L
`
`REGISTRATIG4 8:
`[' "" "’ MANAGEMENT
`
`.
`4 unit
`I
`._é___1._.
`
`USE
`
`if -SPECIFI C C REDIT
` DATA STORAGE
`HISTORY
`
`
`STORAGE
`
`
`
`
`
`2n 1
`PROGRAM-
`SPECIFIC
`DATA
`PORTION
`
`
`
`Apple Exhibit 1011
`
`Page 00001
`
`Apple Exhibit 1011
`Page 00001
`
`
`
`U.
`
`
`
` oEomam-mum:_m._..m:2:vH_m3<m<&<aFzmsmoqzqz:....:LozfimmmoomaSS\GwmPmzofiqfimamm.S.zqmooma
`
`mm:CB5
`
`-_2<mooEm:mAmo<mo.6
`zoE..mon_»m_«:51.omsmam7.
`
`2C2:zoaamomm:
`
`
`_mm
`
`
`
`
`
`ozca-s_<moomn.
`
`
`
`.1.zofimon.uzofimoasm:m>mozfiqmmaoE8%.Eur=umn.m
`
`
`mm_t99.
`
`cm....
`
`.1~...sxmuo_S3
`
`
`2m903,m.mzofimoaP
`
`
`
`
`
`
`><._n.mBE395EEHEo:.mzo<_2orzummm'.s_<mooEWEm
`
`m.
`
`Page 00002
`
`
`
`
`S”U
`
`LlH6cl3P.
`
`Apr. 7, 1992
`
`Sheet 2 of 10
`
`5,103,392
`
`
`
`
`
`
`
` >Sn_maom<om>.uv_mm.._.Z_m&ofimzoqsT9y.2&%_m_
`
`xma
`
`
`
`ZOFEOQExuoo
`
`.oz_mm_ooEmm._m___OHmm.
`.mm.,.0
`
`
`
`
`
`E2:or__w_m_mm
`
`
`
`mm.moéom
`
`-mmm:
`
`
`
`:2:zoaamoH,..:.l
`
`
`
`
`
`Z0:.mOn_sm.»m>mozEEm_n_o
`
`pzpouoqbsmoqzqs
`
`z.Em_Bml
`
`m.m.E
`
`zoimoa
`
`
`.&OOn_zéooma
`
`.1-cl
`
`
`
`ozfiwmmoomm<._.<DnzOC.<._.m
`
`_mE<m<mn_<
`
`Page 00003
`
`Page 00003
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 3 of 10
`
`5,103,392
`
`F79. 3A
`
`Fig. 3
`
`Fig.3C Fig.3D
`
`2lOa
`
`210b
`
`2IOc
`
`2lOd 2'0
`
`DISCOUNT
`PROPRIETOR PROGRAM USE
`DE
`’
`RC3
`NTIFNCHA E RATE
`IDENTIF’N
`
`.
`'
`
`DISCOUNT
`
`PROCESSING
`
`1
`
`Page 00004
`
`Page 00004
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 4 of 10
`
`5,103,392
`
`Fig. 3B
`
`I
`
`KEYBOARD
`
`17
`
`PROGRAM POOL
`STATION
`
`I32
`
`1
`/0
`PROCESSING
`
`
`
`DISPLAY
`
`BALANCE
`INCREASE
`FETCHING
`
`,
`
`llOa
`
`320
`
`BALANCE
`STORAGE
`~
`
`A
`
` E3330
`
`(ADDER)
`
`'
`
`POI NTE R
`
`STORAGE
`
`Page 00005
`
`Page 00005
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 5 of 10
`
`Fig. 3C
`
`H —_ “
`250 USE
`POSSIBILITY
`CH ECKI N G
`
`DISPLAY
`
`OK
`BALANCE
`STORAGE
`26° UPDATING
`
`27
`0
`
`POINTER
`
`UPDATING
`
`280
`
`U SE DETAI. LS
`
`STORAGE WRITING
`
`
`OPERATING
`SYSTEM
`
`RE S PONSE
`
`PROCESSING
`
`
`
`
` I
`
`Page‘ 00006
`
`Page 00006
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 5 of 10
`
`5,103,392
`
`UID'-USER IDENTIFICATION
`PIDI PROGRAM IDENTIFICATI
`PNOI PROGRAM NUMBER
`CHG :USE CHARGE
`
`0 an
`
`H .... Igg
`0 .... (DETAILS
`I
`R .... sromcs
`
`W
`
`_-. __ _.
`300 _0
`T
`LERCESS CON ROL)
`
`A
`
`.
`I
`
`Page 00007
`
`Page 00007
`
`
`
`4..HetaP.&U
`
`Apr. 7, 1992
`
`Sheet 7 of 10
`
`5,103,392
`
`vat
`
`at...“25
`
`Page 00008
`
`Page 00008
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 8 of 10
`
`Fig. 5A
`
`4 210
`
`42 1 b
`
`421 C
`
`421d
`
`PROPRIETOR PROGRAM U SE
`IDENTIF ’ N
`IDENTI F 'N CHARGE
`
`RETURN-SALE
`RATE
`
`4 2'
`
`437 1/0 PROCESSING
`
`1 .
`NCE R
`STORAGE
`
`‘
`
`'
`
`4m:
`
`9
`
`
`
`COMPARISON
`
`' ' OCESS] NG
`
`
`
`-
`
`SUBSEQUENT
`PROCES S
`DECISIO N
`
`
`
`NO
`
`UPDATE PROCESS!
`I STORAGE
`ADDITION I
`PROCESSING
`.[
`I
`429
`430 OPERATING SYSTEM
`3'3?
`PONSE PROCESSING DETAILS
`
`PROGRAM TABLE
`IJIIIIEEESIEIIEI
`
`
`
`PURCHASEABILITY
`CHECK PROCESSING
`
`
`TO ODER’-‘.TING
`SYSTEM
`BALANCE STORAGE
`
`
`
`PROCESSING —l
`
`1
`
`STORAG E
`
`PROCESSING
`
`438
`
`
`
`Page00009
`
`.
`
`‘
`
`Page 00009
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 9 of 10
`
`Fig. 5B
`
`4'6
`
`423
`_/
`
`PROGRAM CHARACT'C
`
`DATA READ
`
`N
`
`.
`
`PROCESSING
`
`RETURN-SALE
`PRICE
`
`CALCULATION
`
`NEGATIV E
`
`
`
`
`ADDITION
`
`PROCESSING
`
`REGISTRATION
`CANCEL
`
`~
`
`434
`
`435
`
`
`
`PROCESSING I
`
`PROCESSIN G E
`
`STORAGE
`
`
`
`OPERATING QSTEM
`RESPONSE PRCXSESSING
`
`436
`
`Page 00010
`
`Page 00010
`
`
`
`U.S. Patent
`
`Apr. 7, 1992
`
`Sheet 10 of 10
`
`5,103,392
`
`
`
`sm»m>mZHS20...
`
`om<om>mxvoh
`
`mozfinmo.
`
`
`
`ZOE.<uBz_
`
`zofiomumm
`
`ZOH.2UEZH
`
`mo...
`
`NON
`
`um:&02.
`
`oo\.\ZO:<oHQZH
`
`omqu
`
`
`
`mn._o<n._m01
`
`NON_O\.
`
`
`
`ZOEHUCCzme
`
`9.5
`
`Page 00011
`
`Page 00011
`
`
`
`
`
`
`1
`
`5,103,392
`
`SYSTEM FOR STORING HISTORY OF USE OF
`PROGRAMS INCLUDING USER CREDIT DATA
`AND HAVING ACCESS BY THE PROPRIETOR
`
`This application is a continuation of application Ser.
`No. 07/281.882. filed Dec. 8. I988. now abandoned. is a
`continuation of co-pending application Ser. No. 129,867
`filed on Dec. 4, 1987 and Ser. No. 657,794 filed on Oct.
`4, 1984. both now abandoned.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to a system for storing
`the history of use of marketable programs (software)
`such as marketable computer programs. By storage of
`the history of use, proprietors of marketable programs
`can charge for the exact amount of use of the software.
`Specifically.
`the system allows proprietors to obtain
`information on the exact state of use of software by a
`specific user and charge appropriately for that use, thus
`making the use of such software more attractive to
`users.
`
`2. Description ofthe Prior Art
`In general, it is difficult for a proprietor of software
`such as a computer program to protect and to extract
`the full benefits of his software rights. Once software is
`passed into the hands of a customer, the proprietor has
`no way of knowing how the software is used. He there-
`fore cannot stop unauthorized use or copying, and can-
`not utilize a system of charges based on the amount of
`actual use. This has not only resulted in relatively high
`charges for the use of software, but has also discouraged
`software suppliers from the production of good soft-
`ware and promotes a general decline in the quality of
`software on the market. Obviously,
`this situation is
`detrimental to progress and the wider use of software in
`the future.
`A method has been proposed for preventing unautho-
`rized copying of computer programs. in which the pro-
`gram is coded for the particular computer unit on
`which use is authorized. This method is disclosed, for
`example.
`in Japanese Examined Patent Publication
`(Kokoku) No. 53-17849. The program can be used only
`when this code corresponds to that of the computer on
`which use is attempted. This prevents use of unautho-
`rized copies of the program on other computer units.
`The control and management of such computer codes,
`however. is not easy or practical in the case where the
`computer program is mass-marketed.
`SUMMARY OF THE INVENTION
`
`It is an object of the invention to provide a system in
`which the use of a program is recorded every time the
`program is used.
`It
`is another object of the invention to provide a
`system in which the proprietor of a program can charge
`for the exact amount of use of his program and can
`‘ claim damages upon unauthorized use thereof.
`It is a still further object of the invention to provide a
`system in which the users of a program are actually
`encouraged to copy the program, whereby extensive
`utilization of well-designed programs is promoted.
`In accordance with a fundamental aspect of the pres-
`ent invention. there is provided a system for storing
`data on the history of use of programs. including a data
`processing apparatus used by a user and program stor-
`age means for storing a program acquired from a pro-
`
`5
`
`IO
`
`l5
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`2
`prietor and program-specific data. The data processing
`apparatus includes user-specific credit data storage
`means for storing data identifying the user of the data
`processing apparatus and indicating credit for payment
`capacity, use time length. or the like of the user of the
`data processing apparatus. Also included is use decision
`means for determining permission to use the program
`on the data processing apparatus on the basis of pro-
`gram-specific data supplied from the program storage
`means or user-specific credit data supplied from the
`user-specific credit data storage means, the use decision
`means delivering either an afiinnative or negative signal
`corresponding to results of the decision. Also included
`is program use history storage means connected to the
`use decision means for storing program use history data
`derived from the program-specific data or the user-
`specific credit data. In this system, the program use
`history data is rendered accessible to the proprietors of
`the programs used in the data processing apparatus.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In the drawings.
`FIG. 1 is a block diagram of a system for storing data
`on the history of use of computer programs according
`to the present invention;
`FIG. 2 is a block diagram of more detailed structure
`of the embodiment of the system shown in FIG. 1;
`FIG. 3 an even more detailed block diagram of the
`structure and operation of the system shown in FIG. 1;
`FIG. 4 is a block diagram of another example of the
`structure and operation of the system shown in FIG. 1;
`FIG. 5 is a block diagram of a further example of the
`structure and operation of the system shown in FIG. 1;
`and
`FIG. 6 is a block diagram of a password inspection
`device which can be used in association with the system
`shown in FIG. 1.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`A system for storing data on the history of use of
`programs according to an embodiment of the present
`invention is shown in FIG. 1. The system shown in
`FIG. 1 includes a data processing apparatus 1 such as a
`computer used by a previously approved user, market-
`able program storages 21, 22,
`.
`.
`. 2n such as magnetic
`tapes or magnetic disks, and a program registration and
`management unit 4.
`The data processing apparatus 1 is operated when one
`of the program storages 21, 22 .
`.
`. Zn is entered into the
`data processing apparatus 1.
`The data processing apparatus 1 includes a use deci-
`sion unit 11, a user-specific credit data storage 12, a use
`history storage 13, and an operating system portion 14.
`One of the program storages 21, 22, .
`.
`. 2n is entered
`into the .use decision unit 11. The user-specific credit
`data storage 12 is connected to the use decision unit 1].
`The use decision unit 11 supplies an OK./NG (no good)
`signal to the operating system portion 14 and an output
`signal to the use history storage 13 and receives a signal
`from the use history storage 13.
`An output signal of the use history storage 13 can be
`supplied to the program registration and management
`unit 4, which can send a signal to the user-specific credit
`data storage 12. In addition to the program for operat-
`ing the user's computer. the program storages 21, 22, .
`.
`.
`, 2n store the program-specific data of portions 211,
`212, .
`.
`. 2n.
`
`Page 00012
`
`Page 00012
`
`
`
`5,103,392
`
`3
`The user-specific credit data storage 12 stores data
`indicating the user's authorization to use the program to
`be entered into the computer I. the user's ability to pay
`for the use ofthe program, the period oftime the user is
`allowed to use the program. and the like. When, for
`example. the program-specific data from the program
`storage 21 is supplied to the use decision unit 11, the use
`decision unit 1] compares the program-specific data
`from the program-specific data portion 211 with the
`user-specific credit data from the user-specific credit
`data storage 12 and decides whether the user may use
`the program.
`If the decision is affirmative, an OK signal is supplied
`to the operating system portion 14 to allow the subse-
`quent operation of the computer to proceed. A data
`signal is supplied to the use history storage 13 to cause
`the program-specific data from the program-specific
`data portion 211 and/or the user-specific credit data
`from the user-specific credit storage 12 to be stored in
`the use history storage 13.
`If the decision is negative, an NG (no good) signal is
`supplied to the operating system portion 14 to prevent
`subsequent operation of the computer from taking
`place.
`Once the program-specific data or the user-specific
`credit data is stored in the use history storage 13, the
`program use history data is accessible to the proprietor
`of the programs executed on the data processing appa-
`ratus the Therefore, the proprietor can obtain the infor-
`mation necessary for charging the user for the exact
`amount of use of his program.
`It is also possible to transmit the data stored in the use
`history storage 13 to the program registration and man-
`agement unit 4, which is outside of the data processing
`apparatus 1. After predetermined data processing oper-
`ations in the program registration and management unit
`4, output data can be transmitted to the user-specific
`credit data storage 12 to update or change the data
`stored therein.
`The detailed structure of the system shown in FIG. 1
`is shown in FIG. 2. The user-specific credit data storage
`12 is divided into two portions. One is a storage portion
`121 for storing the user-specific code, the other is a
`storage ponion 122 for storing data of the charge pay-
`able by the user as well as a currency unit, such as yen,
`dollars, or pounds. The use history storage 13 includes
`a main portion 13] of the use history storage 13, an
`input/output processing portion 132, and a timer por-
`tion 133. The data processing apparatus 1 also includes
`a magnetic disk device 15, a printer 16, a keyboard 17,
`and a display device 18.
`The program registration and management unit 4 in
`the system shown in FIG. 1 is a program pool station 5
`in the embodiment shown in FIG. 2. The program pool
`station 5 includes a registration portion 51, a manage-
`ment docket 52, and an account portion 53.
`A proprietor of a program enters a bank account
`number at the registration portion 51 and receives a
`program-specific code (program proprietor identifica-
`tion code). The data prooessed in the registration por-
`tion 51 is written in and read from the management
`docket 52.
`The account portion 53 is connected with the input-
`/output processing portion 132 of the use history stor-
`age 13 in the data processing apparatus 1. The informa-
`tion of the charge payable by the user stored in the use
`history storage 131 may be a predetermined limit on the
`amount of cumulative charges of a user. The content of
`
`l0
`
`l5
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`4
`the use history storage 131 can be emptied when the
`data to be stored into the use history storage 13] ex-
`ceeds the predetermined limit of the capacity of storage
`of data. When the charge to the user for use of the
`program in the data processing apparatus 1 is very high,
`information concerning such expensive use can be
`transmitted through the input/output processing por-
`tion 132 to the account portion 53 in the program pool
`station 5. Also, information on the balance of the charge
`payable by the user stored in the use history storage 131
`can be revised to raise the limit of the cumulative
`charges stored in the use history storage 131 by instruc-
`tions supplied through the input/output processing
`portion 132 from the account portion 53 in the program
`pool station 5.
`The data transmission through the input/output pro-
`cessing portion 132 may be realized through various
`means, such as on-line data transmission, a magnetic
`card, or an IC card including a microprocessor therein.
`The program storages 21, 22. .
`.
`. are mass-marketed
`by the proprietors of the programs 31, 32, 33,
`.
`.
`.
`.
`Before this. the proprietors register their programs at
`the program pool station 5. Later, they obtain accounts
`of the use of their programs by the users from the sta-
`tion 5. For example, the program-specific data is stored
`in the program-specific portion 211 of the program
`storage 21. The program-specific data includes the pro-
`gram-specific code supplied from the program pool
`station 5, the version number of the program, and the
`charge for use of the program.
`It is possible to include information on a special con-
`tract concerning the use of the program in the program-
`specific data. In this case, the use decision unit 11 deliv-
`ers an affirmative decision only when the data stored in
`the user-specific credit data storage 12 includes infor-
`mation indicating a special use contract code corre-
`sponding to the special contract information.
`The information concerning such a special contract is
`usually supplied to the program pool station 5. Hence, it
`is possible for the proprietor of the program to obtain
`information concerning the use of his program, for
`which the special contract is designated, from the pro-
`gram pool station 5.
`The system shown in FIG. 2 operates as follows. The
`entry of the marketable program storage 21 in the data
`processing apparatus 1 is detected by the operating
`system portion 14 by interpreting the job control lan-
`guage in the storage. Upon detection, the use decision
`unit 11 commences a comparison operation. The data
`from the user-specific code storage 121 and the payable
`charge storage 122 are compared with the program-
`specific data from the program storage 21.
`A user balance in the data from the payable charge
`storage 122 has subtracted from it the charge for use of
`the program in the program-specific data. When the
`result of the subtraction is a negative number, this infor-
`mation is supplied to the operating system portion 14 to
`cause the display device to indicate that use of the pro-
`gram is impossible because the charge of use exceeds
`the balance. When the result of the subtraction is either
`zero or a positive number, information including the
`result of the subtraction, the program-specific code, the
`charge for use of the program, the user-specific code.
`and a new user balance is stored in the use history stor-
`age I3. Also, information of the continuation of the
`operation of the computer is supplied to the operating
`system to allow the operation of the computer to pro-
`ceed.
`
`Page 00013
`
`Page 00013
`
`
`
`5,103,392
`
`5
`Thus. in the use history storage 13. data of the user
`balance, i.e.. the result of the subtractions of charges for
`uses of programs, the data of the program-specific code,
`and the data of the user-specific code stored. It is also
`possible to and determine, from the stored data,
`the
`total amount which should be paid by the user to the
`proprietors of the used programs.
`The program pool station 5 can be controlled by an
`organization such as an association of the proprietors of
`computer programs. When the program pool station 5 is
`controlled by a proprietor association, the association
`obtains the information on the use of the programs
`stored in the use history storage 131.
`It is possible to establish a contract between a pro-
`gram proprietor and a user to refund 10% of the charge
`for use of a program if the user gives the information on
`the program use to the proprietor. With such a contract,
`assuming, for example, prepayment by the user, it is in
`user's interest to give information on the program use to
`the proprietor. Therefore, collection of charges for use
`of the proprietor’s program is ensured with a high prob-
`ability.
`Upon receipt of the information on use of the pro-
`gram from the user's data processing apparatus 1, the
`proprietor association collects the charge for use of the
`program from the user and transfers it to the bank ac-
`count registered in the management docket 52 in the
`program pool station 5.
`A similar procedure can be followed using an inte-
`grated circuit (IC) card. In such a case, the IC card is
`adopted as the means for data transmission through the
`input/output processing portion 132. It is possible for
`the program proprietor to contract with a user having
`an IC card so that the user brings back the card to the
`proprietor association in return for a cash refund. The
`amount of the cash refund payment may be l0% of the
`total of the charges for use of the program and the
`remainder of the user balance if a payable charge was
`prepaid by the user.
`With such a contract, it is in the interest of the holder
`of the IC card to bring back his 1C card to the propri-
`etor association to obtain at least the 10% refund on the
`total of the charges for the use of the program, even if
`the remainder of the payable charge, i.e., user balance.
`is zero. Upon receipt of the IC card from the user. the
`proprietor association arranges for transfer of funds to
`the bank account of the proprietor.
`With the proprietor association, the proprietor of a
`program can receive the charge for use of his program
`at his bank account through the proprietor association.
`Even if unauthorized copying of the program is carried
`out and the copied program is used, under a properly
`organized system, the charges for use of the copied
`program will be transferred to the bank account of the
`program proprietor through the proprietor association,
`since the program-specific data including the program
`proprietor identification code is stored in the program
`storage. Accordingly, use of the unauthorized copy
`does not detract from, but adds to the profit of the
`program proprietor.
`Also, even if unauthorized copying of the program is
`carried out and an incorrect program proprietor identi-
`fication code is unlawfully attached, the use history of
`the copy can be detected from the data stored in the use
`history storage 13], and hence damages can be claimed
`against the program proprietor identified by the incor-
`rect program proprietor code.
`
`5
`
`‘.0
`
`I5
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`6
`An example’ of detailed structure and functions of the
`system shown in FIG. 2 is illustrated in FIG. 3. The use
`history and payable charge data storage 110 includes a
`balance storage 1100, a pointer storage 110b, a use de-
`tails storage llllc, and an access control portion 300 for
`the use details storage 110c. There is provided a pro-
`gram data memory 210 which includes a program pro-
`prietor identification code storage 2100, a program
`identification data storage 210b, a use charge storage
`210c, and discount rate storage 210d.
`There are provided a discount process 220, a balance
`checking portion 230, a use details storage range check-
`ing portion 240. a use possibility checking ponion 250,
`and a balance storage updating portion 260. There are
`also provided a pointer updating portion 270, a use
`details storage writing portion 280, and an operating
`system response processing portion 290. There are also
`provided a user checking ponion 310, a balance in-
`crease fetching portion 320. an adder portion 330. a
`pointer checking portion 340, a use history storage
`reading portion 350, a transfer ponion 360, and a
`pointer decrement ponion 370.
`The operation of the system shown in FIG. 3 will
`now be described. First, the routine of the use of the
`program will be described. Upon receipt of an instruc-
`tion from the keyboard 17, the information of the bal-
`ance stored in the balance storage 110a is checked in the
`balance checking portion 230. When the result of the
`checking is either negative or zero, BALANCE ZERO
`is indicated on the display device 18. When the result of
`the checking is neither negative not zero, the infonna-
`tion stored in the pointer storage 110b is checked for
`whether or not the predetermined elements of the infor-
`mation exceed the maximum limit values. The maxi-
`mum limit values may be detennined by the number of
`items in the use details storage 110: or the sum for the
`charge of use of the program not reported to the propri-
`etor association.
`’
`When the predetermined elements of the information
`exceed the maximum limit values. REMAINING CA-
`PACITY OF USE DETAILS STORAGE INSUFFI-
`CIENT. PLEASE SEND USE DETAILS TO PRO-
`PRIETOR ASSOCIATION. (or PLEASE CHANGE
`IC CARD AT PROPRIETOR ASSOCIATION) is
`indicated on the display device 18.
`~
`When the predetermined elements of the information
`do not exceed the maximum limit values, the discount
`processing portion 220 calculates the charge for use of
`the program, by using the use charge from the use
`charge storage 210c, the discount rate from the discount
`rate storage 2104', and the user-specific code from the
`user-specific code storage 121. It is possible to set the
`charge for use of the program to provide a special dis-
`count for a special user, or a special discount. including
`no charge, for a user for a predetermined number of
`uses. Of course, when no information of a con-
`tract is detected in the user-specific credit data, THIS
`PROGRAM NOT AVAILABLE, BECAUSE OF
`ABSENCE OF CONTRACT may be indicated on the
`display device 18.
`The use possibility checking portion 250 subtracts
`from the balance output by the balance storage 110a a
`calculated charge output by the the discount processing
`ponion 220 and checks whether or not the result of the
`subtraction is a negative number. When the result is a
`negative number, BALANCE SI-IORTAGE is indi-
`cated on the display device 18. When the result is not a
`negative number, the balance storage-updating portion
`
`Page 00014
`
`Page 00014
`
`
`
`5,103,392
`
`7
`260 updates the value of the balance storage 1100, and
`the pointer updating portion 270 updates the value of
`the pointer storage 11% to increment the value by I.
`Then. the use details storage writing ponion 280 stores
`the user identification code.
`the program proprietor
`identification data from the portion 210a, the program
`identification data from the portion 210b, and the
`amount of the calculated charge, including the currency
`unit, into the use details storage llllc. This storage into
`the use details storage 1l0c is carried out at the storage
`location designated by the pointer for the access control
`portion 300 stored in the pointer storage 11%. After
`that. the operating system response processing portion
`290 delivers a signal indicating approval of use of the
`program to the operating system portion 14.
`Instead of the above-described subtraction of the
`payable charge each time a program is used, it is possi-
`ble to maintain the initial payable charge, i.e., not sub-
`tract the charges for use of the program, and to deliver
`the information of the result of subtraction from the
`initial payable charge of the sum of the charges for use
`of a program only when the delivery of the result is
`required.
`Next, the routine for increasing of the value of the
`balance storage 110a will be described. Upon receipt of
`an instruction from the keyboard 17, the user checking
`portion 310 checks whether or not the user is entitled to
`use the program. For example, coincidence between the
`password code from the keyboard 17 and a code from
`the user-specific code storage 121 is checked. When no
`coincidence is found. PLEASE INPUT PASSWORD
`AGAIN is indicated on the display device 18. When
`coincidence is found, the amount of the balance which
`is to be increased is fetched in the balance increase
`fetching ponion 320 using the signal from the input-
`/output processing ponion 132, This can be done by
`obtaining information concerning the amount of the
`balance to be increased from the keyboard 17 after
`exchanging on-line information concerning the pass-
`word with the program pool station or by using an IC
`card connected to the input/output processing portion
`132 for obtaining information concerning the amount by
`which the balance is to be increased.
`The amount of by which the balance to be increased
`is added to the balance in the balance storage 110a by
`the adder portion 330, and the result of the addition in
`the adder portion 330 is stored in the balance storage
`uoa.
`Next, the routine of the transfer of data from the use
`history storage 110 to the program pool station 5 will be
`described. Upon receipt of an instruction from the key-
`board H, the pointer value checking portion 340 checks
`the data in the pointer storage llflb for whether or not
`the pointer value is greater than zero. When the result
`of the check is that the pointer value is not greater than
`zero. TRANSFER OF USE DETAILS STORAGE
`DATA COMPLETED is indicated on the display de-
`vice l8. When the result of the check is that the pointer
`value is greater than zero. the reading ponion 350 reads
`the data of the use details storage llflc in the range
`designated by the pointer in the pointer storage 110b,
`and the transfer portion 360 transfers the read data
`directly to the program pool station 5 via the input/out-
`put processing portion 132. In the case where an IC
`card is used, the data is recorded on the IC card.
`Then, the pointer value decreasing portion 370 de-
`creases the pointer value by 1, and the process returns
`to the pointer checking portion 34-0. Thus, the process is
`
`the value of the pointer storage llflb
`repeated until
`reaches zero. Accordingly. all of the data in the use
`details storage INC is transmitted to the program pool
`station 5.
`
`It is possible to change the maximum limit value in
`the use details storage range checking portion 240 in
`accordance with the degree of credit of the user. Hence,
`it is possible to designate a relatively long interval for
`reports of the data in the use details storage 110: for a
`user with an excellent credit standing and to designate a
`relatively short interval for reports of the data in the use
`details storage 110:‘ for a user with a poor credit stand-
`mg.
`An embodiment of the system in which an IC card is
`used is shown in FIG. 4. The system shown in FIG. 4
`includes a central processing system 530 having a main
`memory 537. a central processor unit 538, a channel
`device 539. an input/output control device 536, and a
`keyboard 510; an IC card reader 550; and an IC card
`570 having a microprocessor unit 573, a use history
`storage 571, an EPROM 574, an input/output port 575,
`and a bus 576. The use history storage 571 includes a
`balance storage 571a, a pointer storage 571b, and a use
`details storage 571:.
`In the system shown in FIG. 4. whether or not the
`program can be used is checked by using the balance
`storage 571a. When the result of the check is affirma-
`tive, the data in the balance storage 5710 is updated, by
`subtraction, and the details of the use of the program are
`stored in the use details storage 57lc.
`The purchase price of the IC card 570 paid by the
`user to the proprietor association is stored in the balance
`storage 571a in the IC card 570. After using the IC card
`to close to the extent allowed by the payable charge, the
`user returns the IC card 570 to the proprietor associa-
`tion. Assuming. for example, prepayment of the pur-
`chase price. upon receipt of the IC card 570. the propri-
`etor association returns the balance stored in the bal-
`ance storage 571a and l0% of the total of the charges
`for use of the program. It is possible accordingly for the
`proprietor association to pay the charge of use for a
`program to the proprietor.
`It is possible to store in the EPROM 574 a program
`which forbids processing in the direction of increase of
`the balance in the balance storage 571a. I