Programmable keyboard mechanism.
Abstract
In a computer system, a keyboard (1) which is used by a user is equipped with at least one socket (S1,..., Sn) to attach a ROM (R1, ..., Rn) in which a predetermined secret data relative to a software to be executed by this system was stored. This ROM is supplied from a software maker to the user together with the recording medium on which the software relative to the ROM was recorded. Only when this ROM is attached to the relevant socket in the keyboard, the keyboard can perform the data communication with the computer main body (2) in the computer system which is executing the software regarding this ROM. The sockets number as many as the number of softwares which are executed by the computer system may be provided in the keyboard.

Term
Term ended
Projected expiry passed 9 October 2005, 21 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
9 claims: 2 independent, 7 dependent
- 1A key data input apparatus for use in a computer system, comprising:key input means (12, 13) for generating an output code corresponding to a position of a key pressed by an operator;attaching means (S 1 , ..., S n ) for attaching at least one memory device in which predetermined data is stored;communicating means (14, 15) for performing a communication with a computer of the computer system;and control means (10, 11), connected to said key input means, said attaching means and said communicating means, for making it possible to transfer the output code from said key input means to said computer through said communicating means, wherein said communicating means is adapted such that it can communicate with said computer only when the memory device corresponding to a software which is executed by the computer in said computer system is properly attached to said attaching means.
Independent claims2
22 paragraphs, as filed
The present invention relates to a key data input apparatus and, more particularly, to a key data input apparatus for use in a computer system.
In recent years, the illegal copy of computer programs has become a serious problem and it is necessary to prevent such an illegal copy and to protect software by taking some countermeasures. As methods for preventing the copy of computer programs, in general, there are a method whereby by using a special recording method when a program is recorded on a recording medium (for example, a floppy disk), it is made impossible to read out the program stored on the recording medium by an ordinary reading method, and a method whereby by giving a special design to the software program, although the program can be read out from the recording medium copied, the operation is locked when a user tries to execute the program read out. However, when a new copy preventing method is adopted, a method to release this preventing means is considered in correspondence to this new copy preventing method; consequently, it is the actual circumstances that such a problem cannot be solved by a copy preventing method which is merely considered for only the recording medium.
The present invention is made to solve the foregoing problem and it is an object of the invention to provide a key data input apparatus having a copy preventing function of a program which is executed in a computer system.
In the invention, an attention is paid to the point such that the user executes a computer program through a key data input apparatus (for example, a keyboard) as one of peripheral apparatuses of a computer system. Conventional copy preventing methods are considered mainly for the recording medium. On the other hand, the invention has a feature such that a computer software is protected by a combination of a computer program and a key data input apparatus.
Practically speaking by use of a proper example, a software maker supplies a software program to a user and a read only memory (hereinafter, simply referred to as a "ROM") in which the particular information (f<sub>C</sub>Jr example, codes) relative to this program were written or supplies, together with the program, the dedicated keyboard in which the foregoing ROM was installed. The user can execute the program through the keyboard only by inserting this ROM into a proper location in the keyboard which is designated by the program or by using the dedicated keyboard supplied. The computer main body checks to see if the ROM corresponding to the program is inserted into the keyboard or not by way of the program. If the computer main body determines that the suitable ROM is not inserted into the keyboard, the computer main body rejects the communication with the keyboard, that is, the number of keyboards which can be used for the program is limited to the number of ROMs (ordinarily, one ROM) which are added to the program and are supplied. Therefore, even if the user could illegally copy the program, this copied program cannot be executed by an ordinary keyboard. In addition, the present invention is constituted such that a plurality of copy preventing ROMs which differ depending on the kinds of the programs can be inserted into the keyboard. In this way, even in the case where the user having the keyboard according to the invention can execute a certain program, he cannot execute the other kinds of programs copied illegally.
As described above, software can be more certainly protected by use of the key data input apparatus according to the present invention.
The above and other objects, features and advantages of the present invention will be more clear from the following description with reference to the accompanying drawings, in which: <ul id="ul0001" list-style="none"><li>Fig. 1 is a schematic arrangement diagram of one embodiment of a keyboard of the present invention;</li><li>Fig. 2 is a schematic flowchart showing an example of the checking operation of a computer main body to which the keyboard shown in Fig. 1 is connected; and</li><li>Fig. 3 is a perspective view showing a schematic arrangement of a computer system to which the invention is applied.</li></ul>
One embodiment of a key data input apparatus according to the present invention will now be described hereinbelow with reference to the drawings.
Fig. 1 is a schematic arrangement diagram of a keyboard of one embodiment of the invention. In the diagram, in a keyboard 1, there are provided: a central processing unit (hereinafter, referred to as a "CPU") 10 to control the operation of the keyboard 1; a ROM 11 to store the keyboard operation program showing the procedure of the operation of the CPU 10; a key switch circuit 12 to generate an output indicative of the position of the key pressed by the program user who operates the keyboard; a keyboard control circuit 13 to decode the key scan control and key position output of the key switch circuit 12 into the key input data; a serial data transfer circuit 14 which converts the serail data from a computer main body 2 in the computer system into the parallel data and converts the parallel data from the keyboard 1 into the serial data and then transmits to the computer main body 2, thereby performing a communication between the computer main body 2 and the keyboard 1; a reception data buffer RAM 15 to temporarily store the data which is transmitted from the computer main body 2 through the transfer circuit 14 and to transmit the data to the CPU 10 in timed relation to the data read of the CPU 10; and a plurality of ROM inserting sockets S<sub>1</sub>, ..., S<sub>i'</sub> ..., S<sub>n</sub> into which a plurality of ROMs R<sub>1</sub>, ..., R can be installed. These ROMs are the characteristic components in the invention and predetermined codes which differ in dependence on the programs which are executed by the computer system are stored in the ROMs R<sub>1</sub> to R<sub>n</sub>, respectively. A reference numeral 16 denotes an address bus to transfer an address signal from the CPU 10. By properly decoding the address signal on this address bus, each component element in the keyboard is selected or an address in the memory is designated. Although not shown, various kinds of control lines are also supplied from the CPU 10 to respective component elements. A data bus 17 serves to transfer data which is outputted from the CPU 10 to each component element, and vice versa.
The operation of one embodiment of the present invention will then be explained with reference to Fig. 1.
In the diagram, the serial data transfer circuit 14 and the computer main body 2 are connected by a communication cable 21. In the case of this embodiment, the transmission and reception of data between the transfer circuit 14 and the computer main body 2 are performed by way of an asynchronous data communication system in which the data length is eight bits and no parity bit is used and the stop bit is 1 (hereinafter, this system is referred to as a "serial transfer system").
When the computer system is activated, accordingly, when a power supply of the keyboard 1 is turned on, the CPU 10 initializes the keyboard 1 in accordance with the program in the ROM 11. In this embodiment, the CPU 10 sets the transfer circuit 14 in such a manner that although the transfer circuit 14 can receive the data from the computer main body 2, it cannot transmit the data from the keyboard 1 to the computer main body 2.
Thereafter, in accordance with the state instruction data (for example, a predetermined ASCII code sequence) which is transmitted from the computer main body 2 to the keyboard 1, the CPU 10 of the keyboard 1 sets the transfer circuit 14 into either one of the following three states (a), (b) and (c) of the keyboard 1. <ul id="ul0002" list-style="none"><li>(a) The state in that the data from the computer main body 2 can be received and only the data in the copy preventing ROMs R<sub>1</sub> to R in the keyboard 1 can be transmitted to the computer main body 2, but the key codes typed by means of the keys on the keyboard 1 cannot be transmitted.</li><li>(b) The state in that the data from the computer main body 2 can be received and the key codes typed by the keys on the keyboard 1 can be transmitted to the computer main body, but the data in the copy preventing ROMs R<sub>1</sub> to R cannot be transmitted.</li><li>(c) The state in that the data from the computer main body 2 can be received similarly to the initial state, but the data from the keyboard 1 cannot be transmitted at all.</li></ul>
In the above-mentioned initial state, when a predetermined state instruction data (hereinafter, this data is referred to as a "first code") is transmitted from the computer main body 2 through a transmission data line 22 to the keyboard 1, the CPU 10 sets the transfer circuit 14 into the state (a). Thus, the computer main body 2 can read out the content of the copy preventing ROM in the keyboard 1 through a reception data line 23. However, in this state, the key input data from the keyboard 1 is not read out yet.
Next, when another state instructing data (hereinafter, this data is referred to as a "second code") is transmitted from the computer main body 2 to the keyboard 1, the CPU 10 transmits the contents of the ROMs inserted in the ROM inserting sockets S<sub>1</sub> to S to the computer main body 2. In this case, the contents of all of the ROMs inserted into the sockets S<sub>1</sub> to S<sub>n</sub> may be transmitted or the content of only the ROM (for example, only the ROM R ) corresponding to the program which is executed by the computer main body 2 may be transmitted. This selection in transmission of the content of the ROM can be changed in dependence on the specifications of the program.
In the computer main body 2, the content of the ROM transmitted from the keyboard 1 is checked. If the content coincides with the expected one, the computer main body 2 determines that the ROM corresponding to the program to be executed is inserted in the keyboard 1. Thus, the computer main body 2 further transmits another state instruction data. The keyboard 1 is set into the state (b) in response to this another state instruction data. Due to this, the key input data from the keyboard 1 is accurately transmitted to the computer main body 2. Subsequently, the program of the computer main body 2 is continued while performing the data transfer with the keyboard 1. In this embodiment, when the keyboard 1 is set into the state (b), only the key input data is sent to the computer main body 2 but the contents of the copy preventing ROMs R<sub>1</sub> to R cannot be read out from the computer main body 2. This is done to prevent the contents of the ROMs R<sub>1</sub> to R<sub>n</sub> from being interpreted by the user when the program operation is being normally executed.
If it is decided that the content of the copy preventing ROM from the keyboard 1 is incorrect, the computer main body 2 transmits still another state instruction data to the keyboard 1. In response to this data, the keyboard 1 is forcedly set into the state (c). Thereafter, the program in the computer main body 2 cannot be executed.
As described above, in the case where the keyboard 1 shown in Fig. 1 is not connected to the computer main body 2 but the quite different keyboard having no copy preventing ROM attaching means is connected, the computer main body 2 can reject the execution of the program. Even if the keyboard 1 shown in Fig. 1 is connected, the computer main body 2 can obviously reject the execution of the program so long as the ROM corresponding to the program to be executed is not inserted; therefore, the software can be more securely protected.
Fig. 2 shows a schematic flowchart showing an example of the above-mentioned checking operation which is executed by the side of the computer main body 2. In the flowchart, when the computer system is activated, the system is initialized in STEP 30. In next STEP 31, the computer main body 2 sends the first code to the keyboard 1 and sets the keyboard 1 into the state (a). In this case, a special code representing that the keyboard was set into the state (a) may be transmitted from the keyboard side. The transmission of this special code makes it possible to discriminate whether the keyboard is of the designated type or not at the state of STEP 31. Next, in STEP 32, the computer main body 2 sends the second code, thereby allowing the data from the keyboard 1 to be read in STEP 33. The data from the keyboard 1 is compared with the data preliminarily stored in the program in STEP 34. If they are coincident, STEP 35 follows and the state instruction data to set the keyboard 1 into the state (b) is transmitted to the keyboard 1. Thereafter, in STEP 36, the program is continued. Unless those data coincide in STEP 34, STEP 37 follows and the state instruction data to set the keyboard 1 into the state (c) is transmitted. If necessary, a message indicating that the program cannot be executed is outputted in STEP 38 and the subsequent execution of the program is stopped.
Fig. 3 shows an example of a computer system to which the keyboard of the present invention having such a software protecting function as described above is applied. In the diagram, a reference numeral 2 denotes the computer main body. By inserting a disk (not shown) on which a program was recorded into a disk drive 2a and turning on a power supply, the program is started. In the ordinary program, the process is performed in accordance with the key input from a keyboard 3 of the typewriter key type and the result of the process is outputted to a display 4 or a printer (not shown). The keyboard 1 according to the invention is connected to the computer main body 2. Although the keyboard 1 in Fig. 3 has a special shape in correspondence to the program to be executed, it may obviously have an ordinary shape such as the keyboard 3. The program is started by inserting the disk on which the program to designate the use of the keyboard 1 was stored into the disk drive 2a. The computer main body 2 performs the check in the step as shown in Fig. 2 and executes the program if the keyboard 1 is the correct one. Unless otherwise, the computer main body rejects the execution of the program.
Although the inhibition and permission of the communication with the computer main body 2 by the transfer circuit 14 as communicating means are controlled by way of the CPU 10 in the keyboard 1 in the foregoing embodiment, for instance, a control line 24 is supplied from the computer main body 2 through the communication cable 21 to the transfer circuit 14 and the inhibition and permission of the communicating operation of the transfer circuit 14 may be controlled by the computer main body 2.
As described above, according to the present invention, the copy of a program is prevented due to a combination of the computer program and the key data input apparatus which is operated by the user, so that,- there is an effect such that the software can not more certainly protected.
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both waysCites: the store holds 10 of 11
| Document | Relation | Office | Category | Cited during |
|---|---|---|---|---|
| FR2622319A1 | Cited by | France | – | Search report |
| US5500810A | Cited by | United States of America | – | Search report |
| EP0275734A1 | Cited by | European Patent Office (EPO) | – | Search report |
| FR2662280A1 | Cited by | France | – | Search report |
| EP0457677A1 | Cited by | European Patent Office (EPO) | – | Search report |
| US5983249A | Cited by | United States of America | – | Search report |
| FR2656440A1 | Cited by | France | – | Search report |
| FR2608290A1 | Cited by | France | – | Search report |
| EP0080244A2 | Cites | European Patent Office (EPO) | A | Search report |
| EP0080244A2 | Cites | European Patent Office (EPO) | A | Search report |
| EP0116327A1 | Cites | European Patent Office (EPO) | – | Examiner |
| EP0135422A1 | Cites | European Patent Office (EPO) | – | Examiner |
| US4462076A | Cites | United States of America | A | Search report |
| US4462076A | Cites | United States of America | A | Search report |
| US4486828A | Cites | United States of America | Y | Search report |
| US4486828A | Cites | United States of America | Y | Search report |
| WO8404830A1 | Cites | World Intellectual Property Organization (WIPO) | Y | Search report |
| WO8404830A1 | Cites | World Intellectual Property Organization (WIPO) | Y | Search report |
| IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 7, December 1973, pages 2312-2314, New York, US; G.F. NIELSEN: "Remote terminal - computer communication security system" | Non-patent | – | – | Search report |
| PATENTS ABSTRACTS OF JAPAN, vol. 8, no. 45 (P-257) [1482], 28th February 1984; & JP - A - 58 195 975 (CANON K.K.) 15-11-1983 | Non-patent | – | – | Search report |
16 members in 8 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 10058585 | Japan | – | |
| 10058585 | Japan | A | |
| 10058585 | Japan | A | |
| 10058585 | – | – | – |
| JP19850100585 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| GB8519944D0 | United Kingdom | D0 | |
| AU4835185A | Australia | A | |
| AU556098B1 | Australia | B1 | |
| JPS61259338A | Japan | A | |
| EP0201628A1This record | European Patent Office (EPO) | A1 | |
| GB2175422A | United Kingdom | A | |
| KR860009336A | Republic of Korea | A | |
| CN85105985A | China | A | |
| CN85105985B | China | B | |
| DE201628T1 | Germany | T1 | |
| GB2175422B | United Kingdom | B | |
| CA1246240A | Canada | A | |
| KR900002349B1 | Republic of Korea | B1 | |
| EP0201628B1 | European Patent Office (EPO) | B1 | |
| DE3583294D1 | Germany | D1 | |
| JP2553495B2 | Japan | B2 |
30 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Notification of lapseLapsedST | ST | FR | |
| Nl: lapsed or anulled due to non-payment of the annual feeLapsedNLV4 | NLV4 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Se: european patent has lapsedLapsedEUG | EUG | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Se: european patent in force in swedenEAL | EAL | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP3 | RAP3 | EP | |
| First examination report despatched17Q | 17Q | EP | |
| De: translation of patent claimsDET | DET | EP | |
| Nl: translation of patent claims filedTCNL | TCNL | EP | |
| Fr: translation of claims filedEL | EL | EP | |
| Request for examination filed17P | 17P | EP | |
| It: translation for ep claims filedITCL | ITCL | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0201628
- Publication, DOCDB
- 0201628
- Publication, EPODOC
- EP0201628
- Application
- 85112787
- Application, DOCDB
- 85112787
- Application, EPODOC
- EP19850112787
Titles3
- German
- Programmierbares Tastaturgerät
- English
- Programmable keyboard mechanism
- French
- Mécanisme de clavier programmable
Classification
- CPC, 2
- G06F21/123
- G06F3/02
- IPC, 9
- G06F3 02
- G06F1 00
- G06F9 06
- G06F12 14
- G06F21 10
- G06F21 12
- G06F21 60
- G06F21 62
- G06F21 79
Designated states1
- Contracting states, 1
- Sweden