JP2001142720A - Computer system - Google Patents

Computer system

Info

Publication number
JP2001142720A
JP2001142720A JP32314399A JP32314399A JP2001142720A JP 2001142720 A JP2001142720 A JP 2001142720A JP 32314399 A JP32314399 A JP 32314399A JP 32314399 A JP32314399 A JP 32314399A JP 2001142720 A JP2001142720 A JP 2001142720A
Authority
JP
Japan
Prior art keywords
program
verification
interpretation
computer system
executing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32314399A
Other languages
Japanese (ja)
Inventor
Kiyotaka Inaba
清高 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP32314399A priority Critical patent/JP2001142720A/en
Publication of JP2001142720A publication Critical patent/JP2001142720A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a computer system which can decrease the scale of software of a computer-mounted device interpreting and executing a program described in an intermediate language and improve its throughput. SOLUTION: The computer system which interprets and executes the program in the intermediate language sent from a program storage means is equipped with a verifying device 2 which verifies the sent program, an interpreting and executing device 3 which interprets and executes the vertified program, and a LAN transmission line 4 which connects them together; and the interpreting and executing device 3 sends a request to acquire the program in the intermediate language to the verifying device 2, which sends a program transfer request to the program storage device 5, verifies the sent program, and passes the verification result and/or acquired program to the interpreting and executing device 3.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、Java言語の例のよ
うに、高級言語からコンピュータ用中間言語(以下、中
間言語と略す)に変換したプログラムをネットワークを
介して取得し、取得したプログラムを検証した後、解釈
・実行するコンピュータシステムに係わり、特に、中間
言語から成るプログラムを解釈実行するコンピュータ搭
載機器のソフトウェアの規模を小さくしたり、処理性能
を向上させることができるコンピュータシステムに関す
る。
The present invention relates to a program for converting a high-level language into an intermediate language for a computer (hereinafter abbreviated as an intermediate language) via a network, such as a Java language, and executing the obtained program. The present invention relates to a computer system that interprets and executes after verification, and more particularly to a computer system that can reduce the scale of software of a computer-mounted device that interprets and executes a program composed of an intermediate language and improves processing performance.

【0002】[0002]

【従来の技術】一般に、コンピュータにおいては、プロ
グラム作成者は例えばコボル言語やフォートラン言語と
言ったような高級言語を用いてアプリケーションプログ
ラムを作成し、予めそのプログラムをコンピュータが直
接解釈可能な機械語に変換してプログラムを実行させ
る。ところが、近年、Java言語のような高級言語では、
高級言語から中間言語(高級言語とアセンブラ言語の中
間に位置する言語,中間コードとも呼ぶ)に変換し、変
換された複数のプログラムをプログラム蓄積手段に蓄積
しておき、そのプログラムをネットワークを介して取得
することができるようにし、そのようにして取得したプ
ログラムを解釈しながら実行する方法が普及しつつあ
る。このような中間言語では、その中間言語から成るプ
ログラムを実行する前に検証することを規定しているも
のがある。それは、コンピュータでは、プログラム中の
サブルーチン(Java言語ではメソッドと呼ばれる)内な
どのみで使用される変数(局所変数と呼ばれる)をスタ
ックと呼ばれる記憶領域(必要に応じて領域が増減す
る)に蓄積することにより、あるサブルーチンから直接
的または間接的に同じサブルーチンが呼ばれても複数回
の呼び出しでそれぞれの局所変数の持つ値が混乱しない
ようにしているが、あるサブルーチンで大量の局所変数
を必要とすると、実行時点で許容記憶容量を越えてしま
い、本来破壊してはならない記憶領域を破壊する危険が
生じるからである。そのため、プログラムの取得の都
度、そのプログラムを実行する前にスタック用の記憶容
量が充分かどうかということなどを検証させるのであ
る。図5に、中間言語から成るプログラムを解釈・実行
するコンピュータシステムを含むシステムの一例を示
す。図示したように、中間言語(中間コード)からなる
プログラムを多数蓄積しているプログラム蓄積装置5と
そのプログラムを取得して解釈・実行するコンピュータ
11(1台しか図示していないが実際は複数台である)と
が例えばLAN伝送路4に接続されている。このコンピ
ュータ11内には取得したプログラムを検証する検証部13
およびそのプログラムを解釈・実行する解釈実行部12を
備えている。一つのCPUが検証も解釈・実行も行うの
である。なお、特開平10-11281号公報に示された従来技
術では、中間言語からなるプログラムを蓄積しているプ
ログラム蓄積装置において検証されたプログラムか、ま
たは中間言語からなるプログラムを解釈・実行するコン
ピュータにおいて検証可能なプログラムのみをそのコン
ピュータにおいて用いる。
2. Description of the Related Art In general, in a computer, a program creator creates an application program using a high-level language such as the Kobol language or the Fortran language, and converts the program into a machine language which can be directly interpreted by the computer in advance. Convert and run the program. However, in recent years, in high-level languages such as the Java language,
A high-level language is converted into an intermediate language (a language located between a high-level language and an assembler language, also called an intermediate code), a plurality of converted programs are stored in a program storage unit, and the programs are transferred via a network. A method of allowing the program to be obtained and executing the program while interpreting the program thus obtained is becoming widespread. Some such intermediate languages stipulate that verification be performed before executing a program composed of the intermediate language. In a computer, variables (called local variables) used only in a subroutine (called a method in the Java language) or the like in a program are stored in a storage area called a stack (the area increases or decreases as necessary). This prevents the value of each local variable from being confused by multiple calls even if the same subroutine is called directly or indirectly from a certain subroutine. Then, the allowable storage capacity is exceeded at the time of execution, and there is a risk of destroying a storage area that should not be destroyed. Therefore, each time a program is acquired, it is verified whether the storage capacity for the stack is sufficient before executing the program. FIG. 5 shows an example of a system including a computer system for interpreting and executing a program composed of an intermediate language. As shown in the figure, a program storage device 5 that stores a large number of programs composed of intermediate languages (intermediate codes) and a computer that acquires, interprets, and executes the programs
11 (only one is shown, but there are actually a plurality) are connected to the LAN transmission line 4, for example. In the computer 11, a verification unit 13 for verifying the acquired program
And an interpreter 12 for interpreting and executing the program. One CPU performs verification, interpretation, and execution. In the prior art disclosed in Japanese Patent Application Laid-Open No. H10-11281, a program verified in a program storage device storing a program in an intermediate language, or a computer that interprets and executes a program in an intermediate language Only verifiable programs are used on the computer.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、前記の
従来技術においては、いずれもプログラムを解釈・実行
するコンピュータあるいはCPUが検証も実行するの
で、プログラムを解釈実行するコンピュータ搭載機器の
処理速度が遅くなるという問題があり、そのプログラム
自体のソフトウェア規模が大きくなるという問題もあ
る。例えば、中間言語から成るプログラムを冒頭から順
に解析して必要とされるスタックの深さを調べる処理は
処理量が大きく、またプログラム自体のソフトウェア規
模も大きくなるのである。本発明の課題は、このような
従来技術の問題を解決し、中間言語から成るプログラム
を解釈実行するコンピュータ搭載機器のソフトウェアの
規模を小さくすると共に、処理性能を向上させることが
できるコンピュータシステムを提供することにある。
However, in the above-mentioned prior art, the computer or CPU that interprets and executes the program also performs the verification, so that the processing speed of the computer-mounted device that interprets and executes the program is reduced. There is also a problem that the software scale of the program itself becomes large. For example, a process of analyzing a program composed of an intermediate language in order from the beginning to check a required stack depth requires a large processing amount and a large software scale of the program itself. An object of the present invention is to provide a computer system capable of solving the problems of the related art and reducing the scale of software of a computer-mounted device that interprets and executes a program composed of an intermediate language and improving processing performance. Is to do.

【0004】[0004]

【課題を解決するための手段】前記の課題を解決するた
めに、請求項1記載の発明では、中間言語から成るプロ
グラムを蓄積しているプログラム蓄積手段から送られて
くる前記プログラムを解釈・実行するコンピュータシス
テムにおいて、プログラム蓄積手段から送られてくる中
間言語から成るプログラムを検証する検証手段と、前記
検証手段により検証された中間言語から成るプログラム
を解釈・実行する解釈実行手段と、前記検証手段と解釈
実行手段との間を接続する通信手段とを備えた。また、
請求項2記載の発明では、請求項1記載の発明におい
て、複数の解釈実行手段と一つの検証手段とが接続され
る共通の伝送手段を有するように通信手段を構成し、検
証結果を解釈実行手段に送る際、検証手段よりの通信で
あることを保証する電子署名を付加して送信するように
検証手段を構成し、電子署名をもとに検証手段よりの通
信であることを確認するように解釈実行手段を構成し
た。また、請求項3記載の発明では、請求項1または請
求項2記載の発明において、解釈実行手段が中間言語か
ら成るプログラムの取得要求を検証手段に対して出し、
その取得要求に応じて検証手段がプログラム転送要求を
プログラム蓄積手段に対して出し、その転送要求に応じ
て送られてきた中間言語から成るプログラムを検証手段
が検証し、検証結果および/または取得したプログラム
を前記解釈実行手段へ渡す構成にした。また、請求項4
記載の発明では、請求項1、請求項2、または請求項3
記載の発明において、一つまたは複数の解釈実行手段に
渡した検証結果に関する情報を記憶しておき、一つの解
釈実行手段からの要求に応じてプログラム蓄積手段から
取得したプログラムが検証済みであるとき、再度検証す
ることなく記憶しておいた検証結果または前記プログラ
ムを前記解釈実行手段へ送信するように検証手段を構成
した。
According to the first aspect of the present invention, there is provided an apparatus for interpreting and executing a program transmitted from a program storage means storing a program comprising an intermediate language. Verification means for verifying a program consisting of an intermediate language sent from a program storage means, interpretation executing means for interpreting and executing a program consisting of an intermediate language verified by the verification means, and the verification means And a communication means for connecting between the communication means and the interpretation executing means. Also,
According to a second aspect of the present invention, in the first aspect of the present invention, the communication unit is configured to have a common transmission unit to which a plurality of interpretation executing units and one verification unit are connected, and interpret and execute the verification result. When sending to the means, the verification means is configured to add and transmit an electronic signature which guarantees that the communication is from the verification means, and confirms that the communication is from the verification means based on the electronic signature. The interpretation execution means is configured. According to a third aspect of the present invention, in the first or second aspect of the invention, the interpreting / executing means issues a request for acquiring a program consisting of an intermediate language to the verification means,
In response to the acquisition request, the verification unit issues a program transfer request to the program storage unit, and the verification unit verifies the program composed of the intermediate language sent in response to the transfer request, and obtains the verification result and / or the obtained program. The program is passed to the interpretation executing means. Claim 4
According to the invention described in claim 1, claim 1, claim 2, or claim 3
In the described invention, information on a verification result passed to one or more interpretation executing means is stored, and a program obtained from a program storage means in response to a request from one interpretation executing means has been verified. The verification unit is configured to transmit the stored verification result or the program without verification again to the interpretation execution unit.

【0005】前記のような手段にしたので、請求項1記
載の発明では、検証手段においてプログラム蓄積手段か
ら送られてくる中間言語から成るプログラムが検証さ
れ、検証された中間言語から成るプログラムが通信手段
を介して解釈実行手段へ転送され、そのプログラムが前
記解釈実行手段において解釈・実行される。請求項2記
載の発明では、請求項1記載の発明において、複数の解
釈実行手段と一つの検証手段とが共通の伝送手段で接続
され、検証結果を解釈実行手段に送る際、検証手段より
の通信であることを保証する電子署名が付加されて送信
され、解釈実行手段では、電子署名をもとに検証手段よ
りの通信であることが確認される。請求項3記載の発明
では、請求項1または請求項2記載の発明において、中
間言語から成るプログラムの取得要求が解釈実行手段か
ら検証手段に対して出され、その取得要求に応じて、プ
ログラム転送要求が検証手段からプログラム蓄積手段に
対して出され、その転送要求に応じて送られてきた中間
言語から成るプログラムが検証手段において検証され、
検証結果および/または取得したプログラムが前記解釈
実行手段へ渡される。請求項4記載の発明では、請求項
1、請求項2、または請求項3記載の発明において、一
つまたは複数の解釈実行手段に渡した検証結果に関する
情報が検証手段内に記憶しておかれ、一つの解釈実行手
段からの要求に応じてプログラム蓄積手段から取得した
プログラムが検証済みであるとき、再度検証することな
く記憶しておいた検証結果または前記プログラムが前記
解釈実行手段へ送信される。
[0005] According to the first aspect of the present invention, the verification means verifies the program consisting of the intermediate language sent from the program storage means, and the verified program consisting of the intermediate language communicates. The program is transferred to the interpretation executing means via the means, and the program is interpreted and executed by the interpretation executing means. According to a second aspect of the present invention, in the first aspect of the present invention, a plurality of interpretation executing means and one verification means are connected by a common transmission means, and when transmitting the verification result to the interpretation executing means, the An electronic signature for guaranteeing communication is added and transmitted, and the interpretation executing means confirms that the communication is from the verification means based on the electronic signature. According to a third aspect of the present invention, in the first or second aspect of the present invention, a request for obtaining a program consisting of an intermediate language is issued from the interpretation executing means to the verification means, and the program is transferred in response to the request for obtaining. A request is issued from the verification means to the program storage means, and the program consisting of the intermediate language sent in response to the transfer request is verified by the verification means,
The verification result and / or the acquired program are passed to the interpretation executing means. According to a fourth aspect of the present invention, in the first, second, or third aspect of the present invention, information relating to a verification result passed to one or a plurality of interpretation executing means is stored in the verifying means. When the program acquired from the program storage unit in response to a request from one interpretation executing unit has been verified, the stored verification result or the program is transmitted to the interpretation executing unit without re-verification. .

【0006】[0006]

【発明の実施の形態】以下、図面により本発明の実施の
形態を詳細に説明する。図1は本発明の第1の実施形態
を示すコンピュータシステムを含むシステムのシステム
構成図である。図示したように、この実施形態のコンピ
ュータシステム1は、Java言語などで作成されたプログ
ラムを中間言語から成るプログラムに変換したプログラ
ムを蓄積しておくプログラム蓄積手段であるプログラム
蓄積装置5から送られてくる前記プログラムを検証する
検証手段である検証装置(検証用コンピュータ)2、前
記検証装置2により検証された中間言語から成るプログ
ラムを解釈・実行する解釈実行手段である解釈実行装置
(解釈実行用コンピュータ)3、前記検証装置2と解釈
実行装置3との間を接続する通信手段を構成しているL
AN伝送路4などを備えている。図2に、第1の実施形
態の動作フローを示す。以下、図2などに従って、この
実施形態の動作を説明する。まず、利用者の指示に応じ
て、解釈実行装置3が検証装置2に対してプログラム名
を伴ったプログラム取得要求を出す(ステップS1)。
そうすると、検証装置2は前記解釈実行装置3のLAN
制御部が付加したその解釈実行装置3のアドレス(端末
番号)と前記プログラム名を取得し、その二つを対応つ
けて記憶し、さらに、プログラム蓄積装置5に対してそ
のプログラム名を伴ったプログラム転送要求を出す(ス
テップS2)。これにより、プログラム蓄積装置5は中
間言語から成る要求されたプログラム名のプログラムを
検証装置2へ転送する。こうして、そのプログラムが検
証装置2において受信されると(ステップS3)、検証
装置2はそのプログラムの検証を行う(ステップS
4)。例えばプログラムを冒頭から順に解析して必要と
されるスタックの深さ(記憶容量)を調べたりするので
ある。そして、例えばスタックの深さがわかると、検証
装置2は調べたスタックの深さと前記プログラム中に宣
言された所要スタック深さを比較し、検証結果がOKか
否かを判定する(ステップS5)。そして、例えば調べ
たスタックの深さが宣言された所要スタック深さ以下で
検証結果がOKと判定されたならば(ステップS5でYe
s)、前記プログラム名に対応付けて記憶しておいた解
釈実行装置3のアドレスを取得し、そのアドレスの解釈
実行装置2へそのとき検証の終了したプログラムを転送
する(ステップS6)。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a system configuration diagram of a system including a computer system according to a first embodiment of the present invention. As shown in the figure, the computer system 1 of this embodiment is sent from a program storage device 5 which is a program storage means for storing a program obtained by converting a program created in a Java language or the like into a program consisting of an intermediate language. A verification device (verification computer) 2 as verification means for verifying the incoming program; and an interpretation execution device (interpretation computer) as interpretation execution means for interpreting and executing a program composed of an intermediate language verified by the verification device 2. 3.) L which constitutes communication means for connecting between the verification device 2 and the interpretation execution device 3
An AN transmission line 4 and the like are provided. FIG. 2 shows an operation flow of the first embodiment. Hereinafter, the operation of this embodiment will be described with reference to FIG. First, in response to a user instruction, the interpretation execution device 3 issues a program acquisition request with a program name to the verification device 2 (step S1).
Then, the verification device 2 transmits the LAN of the interpretation
The control unit acquires the address (terminal number) of the interpretation execution device 3 and the program name added thereto, stores the two in association with each other, and further stores the program in the program storage device 5 with the program name. A transfer request is issued (step S2). As a result, the program storage device 5 transfers the program having the requested program name composed of the intermediate language to the verification device 2. Thus, when the program is received by the verification device 2 (step S3), the verification device 2 verifies the program (step S3).
4). For example, the program is analyzed in order from the beginning to check the required stack depth (storage capacity). Then, for example, when the stack depth is known, the verification device 2 compares the checked stack depth with the required stack depth declared in the program, and determines whether the verification result is OK (step S5). . Then, for example, if the verification result is determined to be OK when the examined stack depth is equal to or less than the declared required stack depth (Ye in step S5)
s) Acquire the address of the interpretation execution device 3 stored in association with the program name, and transfer the verified program to the interpretation execution device 2 at that address (step S6).

【0007】こうして、解釈実行装置3は依頼したプロ
グラムを受け取ると、検証を行うことなく宣言されてい
る所要スタック深さを正しいものとし、その解釈実行装
置3の持っているスタック用の記憶領域が所要スタック
深さを満たしていれば、直ちにそのプログラムの解釈・
実行を開始し、スタックのあふれなどを生じることなく
正常にプログラムを実行することができる(ステップS
7)。それに対して、ステップS5において、検証結果
がOKでないと判定されたならば(ステップS5でN
o)、検証装置2は前記解釈実行装置3へプログラムを
送らずに検証結果がOKでなかった旨を通知する(ステ
ップS8)。こうして、この実施形態によれば、解釈実
行装置3に検証手段を備えなくても中間言語から成るプ
ログラムを正常に実行することができる。したがって、
中間言語から成るプログラムを解釈実行するコンピュー
タ搭載機器のソフトウェアの規模を小さくしたり、処理
性能を向上させることができる。また、検証装置2は解
釈実行装置3毎に備える必要がないので利用者の負担も
軽くなる。なお、この実施形態において、検証結果がO
Kであったとき、単に検証済のプログラムを送るだけで
なく、検証結果がOKであることを示す情報も送るよう
にしてもよい。また、検証結果として、検証したプログ
ラムのスタックの深さを送るようにしてもよい。また、
各解釈実行装置3がプログラム転送要求を直接プログラ
ム蓄積装置5へ出すようにしてもよい。しかし、このよ
うな構成では、プログラムが解釈実行装置3へ送られて
くるので、この後、解釈実行装置3はそのプログラムを
検証装置2へ転送して検証をしてもらうことになる。し
たがって、図2に示した方法の方が処理時間を短くでき
るし、LAN伝送路のトラフィックも減少させることが
できる。
When the interpreter 3 receives the requested program, the interpreter 3 corrects the declared required stack depth without performing verification, and the stack storage area of the interpreter 3 becomes available. If the required stack depth is satisfied, the interpretation and
Execution of the program can be started and the program can be executed normally without causing stack overflow or the like (step S
7). On the other hand, if it is determined in step S5 that the verification result is not OK (N in step S5
o), the verification device 2 notifies the interpretation result that the verification result was not OK without sending the program to the interpretation execution device 3 (step S8). Thus, according to this embodiment, a program composed of an intermediate language can be normally executed without providing the interpretation execution device 3 with a verification unit. Therefore,
It is possible to reduce the scale of software of a computer-mounted device that interprets and executes a program composed of an intermediate language, and to improve processing performance. Further, since it is not necessary to provide the verification device 2 for each interpretation execution device 3, the burden on the user is reduced. In this embodiment, the verification result is O
When it is K, not only the verified program is sent, but also information indicating that the verification result is OK may be sent. Also, the stack depth of the verified program may be sent as the verification result. Also,
Each interpretation execution device 3 may directly issue a program transfer request to the program storage device 5. However, in such a configuration, since the program is sent to the interpretation execution device 3, the interpretation execution device 3 thereafter transfers the program to the verification device 2 to be verified. Therefore, the method shown in FIG. 2 can shorten the processing time and reduce the traffic on the LAN transmission line.

【0008】図3は、本発明の第2の実施形態を示す動
作フロー図である。この実施形態では、一つまたは複数
の解釈実行装置3に渡した検証結果に関する情報(OK
か否かを示す情報)を記憶しておき、一つの解釈実行装
置3の依頼に応じてプログラム蓄積装置5から取得した
プログラムが検証済みであるとき、再度検証することな
く記憶してある検証結果に従ってその解釈実行装置3へ
の送信を行う。以下、図3などに従って、この実施形態
の動作を説明する。図3に示したように、ステップ1か
らステップS3までは第1の実施形態と同じように動作
する。つまり、まず、利用者の指示に応じて、解釈実行
装置3が検証装置2に対してプログラム名を伴ったプロ
グラム取得要求を出す(ステップS1)。そうすると、
検証装置2は前記解釈実行装置3のLAN制御部が付加
したその解釈実行装置3のアドレス(端末番号)と前記
プログラム名を取得し,その二つを対応つけて記憶し,
さらに、プログラム蓄積装置5に対してそのプログラム
名を伴ったプログラム転送要求を出す(ステップS
2)。これにより、プログラム蓄積装置5は中間言語か
ら成る要求されたプログラム名のプログラムを検証装置
2へ転送する。こうして、そのプログラムが検証装置2
において受信されると(ステップS3)、検証装置2は
そのプログラムが検証済であるか否かを判定する(ステ
ップS11)。プログラム名に対応付けて記憶しておいた
検証結果情報を検索し、あれば検証済であると判定する
のである。その結果、検証済でないと判定されると(ス
テップS11でNo)、以下、第1の実施形態と同じように
動作する。つまり、検証装置2はそのプログラムの検証
を行う(ステップS4)。例えばプログラムを冒頭から
順に解析して必要とされるスタックの深さ(記憶容量)
を調べたりするのである。そして、例えばスタックの深
さがわかると、検証装置2は調べたスタックの深さと前
記プログラム中に宣言された所要スタック深さを比較
し、検証結果がOKか否かを判定する(ステップS
5)。その結果、例えば調べたスタックの深さが所要ス
タック深さ以下で検証結果がOKと判定されたならば
(ステップS5でYes)、前記プログラム名に対応付け
て記憶しておいた解釈実行装置3のアドレスを取得し、
そのアドレスの解釈実行装置3へそのとき検証の終了し
たプログラムを転送する(ステップS6)。こうして、
解釈実行装置3は依頼したプログラムを受け取ると、検
証を行うことなく宣言されている所要スタック深さを正
しいものとし、その解釈実行装置3の持っているスタッ
ク用の記憶領域が所要スタック深さを満たしていれば、
直ちにそのプログラムの解釈・実行を開始する(ステッ
プS7)。
FIG. 3 is an operation flowchart showing a second embodiment of the present invention. In this embodiment, information (OK) regarding the verification result passed to one or a plurality of
Is stored, and when the program acquired from the program storage device 5 at the request of one interpretation execution device 3 has been verified, the verification result stored without verification again Is transmitted to the interpretation execution device 3 in accordance with. Hereinafter, the operation of this embodiment will be described with reference to FIG. As shown in FIG. 3, steps 1 to S3 operate in the same manner as in the first embodiment. That is, first, in response to the user's instruction, the interpretation execution device 3 issues a program acquisition request with the program name to the verification device 2 (step S1). Then,
The verification device 2 acquires the address (terminal number) of the interpretation execution device 3 added by the LAN control unit of the interpretation execution device 3 and the program name, stores the two in association with each other,
Further, a program transfer request with the program name is issued to the program storage device 5 (Step S).
2). As a result, the program storage device 5 transfers the program having the requested program name composed of the intermediate language to the verification device 2. In this way, the program is
(Step S3), the verification device 2 determines whether or not the program has been verified (step S11). The verification result information stored in association with the program name is searched, and if it is found, it is determined that the verification has been completed. As a result, if it is determined that the verification has not been completed (No in step S11), the same operation as in the first embodiment is performed hereinafter. That is, the verification device 2 verifies the program (step S4). For example, the required stack depth (memory capacity) by analyzing the program sequentially from the beginning
Or to investigate. Then, for example, when the stack depth is known, the verification device 2 compares the checked stack depth with the required stack depth declared in the program, and determines whether the verification result is OK (Step S).
5). As a result, for example, if the checked stack depth is equal to or less than the required stack depth and the verification result is determined to be OK (Yes in step S5), the interpretation execution device 3 stored in association with the program name is stored. Get the address of
The program that has been verified at that time is transferred to the interpreting and executing device 3 of the address (step S6). Thus,
Upon receiving the requested program, the interpretation execution device 3 corrects the required stack depth declared without verification, and the stack storage area of the interpretation execution device 3 determines the required stack depth. If you meet
Immediately, the interpretation and execution of the program are started (step S7).

【0009】それに対して、ステップS5において、検
証結果がOKでないと判定されたならば(ステップS5
でNo)、検証装置2は前記解釈実行装置3へプログラム
を送らずに検証結果がOKでなかった旨を通知する(ス
テップS8)。また、ステップS11において検証済であ
ると判定されたならば(ステップS11でYes)、記憶し
てある当該検証結果(OKか否かを示す情報)を取得
し、検証結果がOKであれば(ステップS5でYes)受
信したプログラムを前記解釈実行装置3へ送信し(ステ
ップS6)、実行させ(ステップS7)、OKでなけれ
ば(ステップS5でNo)その旨を示す情報を送信する
(ステップS8)。こうして、この実施形態によれば、
既に検証済であれば再度検証する必要がないので、解釈
実行装置3からのプログラム取得依頼に対する応答速度
が速くなる。また、本発明では、第1または第2の実施
形態において、検証結果を解釈実行装置3へ送る際、検
証装置2よりの通信であることを保証する電子署名を付
加して送信することもできる。例えば、検証装置2にお
いて、Public Key Systemと呼ばれている公知の方法な
どを用いて、送受信者間で示し合わせた内容を送信者側
の秘密鍵で暗号化し、それを本文に付加して送信し、そ
れを受信した解釈実行装置3側で復号化することにより
検証装置2からの通信であることを確認して検証結果を
担保するのである。なお、本文に電子署名を付加した全
文を暗号化して送る方法も可能である。このような構成
では、第3者の捏造した検証結果を解釈実行装置3にお
いて本物と間違える危険性を避けることができる。
On the other hand, if it is determined in step S5 that the verification result is not OK (step S5).
No), the verification device 2 does not send the program to the interpretation execution device 3 and notifies that the verification result is not OK (step S8). If it is determined in step S11 that the verification is completed (Yes in step S11), the stored verification result (information indicating whether or not the verification is OK) is acquired. The received program is transmitted to the interpretation execution device 3 (Step S6) and executed (Step S7). If the program is not OK (No in Step S5), information indicating the fact is transmitted (Step S8). ). Thus, according to this embodiment,
If it has already been verified, there is no need to perform verification again, so that the response speed to the program acquisition request from the interpretation execution device 3 increases. Further, according to the present invention, in the first or second embodiment, when the verification result is sent to the interpretation execution device 3, the verification result can be added with an electronic signature that assures communication. . For example, in the verification device 2, using a public key system, a known method or the like, the contents shown between the sender and the receiver are encrypted with the secret key of the sender, and the encrypted contents are added to the text and transmitted. Then, the received data is decoded on the interpretation execution device 3 side to confirm that the communication is from the verification device 2 and the verification result is secured. It is also possible to encrypt and send the entire text with the electronic signature added to the text. With such a configuration, it is possible to avoid the risk that the verification result forged by a third party is mistaken for the interpretation execution device 3 with the verification result.

【0010】図4は本発明の第3の実施形態を示すシス
テム構成図である。図示したように、この実施形態で
は、本発明のコンピュータシステム1aのうち検証装置2a
のみがLAN伝送路4に接続され、検証装置2aと解釈実
行装置3aとはその二つを直結するケーブルかシステムバ
ス、または傍受捏造の不可能な無線通信路(例えば赤外
線通信)により接続される。なお、ケーブルあるいは無
線通信路で接続するのは、検証装置2aおよび解釈実行装
置3aがそれぞれ独立したコンピュータの場合で、システ
ムバスで接続するのは、コンピュータシステム1aが一つ
のコンピュータの場合である。この実施形態の動作フロ
ーは、検証装置2aおよび解釈実行装置3aがそれぞれ独立
したコンピュータの場合、第1の実施形態(図2参照)
または第2の実施形態(図3参照)と同じである。但
し、検証装置2aと解釈実行装置3aとの通信は直結したケ
ーブルを介して行われる。したがって、検証装置よりの
通信であることを保証する電子署名を付加した送信は不
要である。また、検証装置2aの記憶する解釈実行装置3a
のスタックの深さは直結されている解釈実行装置3a1台
分だけでよい。なお、利用者が検証装置2aの操作部を用
いてプログラム取得指示を与えるようにすることにより
ステップS1の動作を省くことが可能である。また、コ
ンピュータシステム1aが一つのコンピュータの場合は利
用者のプログラム取得指示が直接検証部2aに与えられ,
ステップS1の動作が不要になる。こうして、この実施
形態の場合でも、解釈実行装置3aに検証手段を備えなく
ても中間言語から成るプログラムを正常に実行すること
ができる。また、検証装置2aを別のコンピュータで実現
する構成では、中間言語から成るプログラムを解釈実行
するコンピュータ搭載機器のソフトウェアの規模を小さ
くしたり、処理性能を向上させることができる。また、
検証装置2aを解釈実行装置3aと同じコンピュータ内に設
けるが、検証装置2aと解釈実行装置3aのCPUを別にす
る構成では、処理性能を向上させることができる。
FIG. 4 is a system configuration diagram showing a third embodiment of the present invention. As shown, in this embodiment, in the computer system 1a of the present invention, the verification device 2a
Only the LAN transmission line 4 is connected to the LAN transmission line 4, and the verification device 2a and the interpretation execution device 3a are connected to each other by a cable or a system bus directly connecting the two or a wireless communication line (for example, infrared communication) that cannot be intercepted and fabricated. . The connection by a cable or a wireless communication path is when the verification device 2a and the interpretation execution device 3a are independent computers, and the connection by the system bus is when the computer system 1a is a single computer. The operation flow of this embodiment is similar to that of the first embodiment (see FIG. 2) when the verification device 2a and the interpretation execution device 3a are independent computers.
Or, it is the same as the second embodiment (see FIG. 3). However, communication between the verification device 2a and the interpretation execution device 3a is performed via a directly connected cable. Therefore, it is not necessary to transmit a digital signature that guarantees that the communication is from the verification device. Further, the interpretation execution device 3a stored in the verification device 2a
Need only be the depth of one stack of the interpretation execution device 3a directly connected. The operation of step S1 can be omitted by giving the user a program acquisition instruction using the operation unit of the verification device 2a. When the computer system 1a is a single computer, a user's program acquisition instruction is directly given to the verification unit 2a,
The operation in step S1 becomes unnecessary. Thus, even in the case of this embodiment, a program consisting of an intermediate language can be normally executed without providing the interpretation execution device 3a with a verification unit. Further, in a configuration in which the verification device 2a is realized by another computer, the scale of software of a computer-mounted device that interprets and executes a program composed of an intermediate language can be reduced, and processing performance can be improved. Also,
Although the verification device 2a is provided in the same computer as the interpretation execution device 3a, the configuration in which the CPUs of the verification device 2a and the interpretation execution device 3a are separated can improve the processing performance.

【0011】[0011]

【発明の効果】以上説明したように、請求項1記載の本
発明では、検証手段においてプログラム蓄積手段から送
られてくる中間言語から成るプログラムが検証され、検
証された中間言語から成るプログラムが通信手段を介し
て解釈実行手段へ転送され、そのプログラムが前記解釈
実行手段において解釈・実行されるので、解釈実行手段
であるコンピュータ搭載機器のソフトウェアの規模を小
さくしたり、その処理性能を向上させることができる。
また、請求項2記載の本発明では、複数の解釈実行手段
と一つの検証手段とが共通の伝送手段で接続され、検証
結果を解釈実行手段に送る際、検証手段よりの通信であ
ることを保証する電子署名が付加されて送信され、解釈
実行手段では、電子署名をもとに検証手段よりの通信で
あることが確認されるので、請求項1記載の発明の効果
が得られるだけでなく、検証手段に要する利用者の負担
が少なくなるし、そのために発生する怖れのある第3者
の捏造した検証結果を解釈実行手段において本物と間違
える危険性を避けることもできる。また、請求項3記載
の発明では、中間言語から成るプログラムの取得要求が
解釈実行手段から検証手段に対して出され、その取得要
求に応じて、プログラム転送要求が検証手段からプログ
ラム蓄積手段に対して出され、その転送要求に応じて送
られてきた中間言語から成るプログラムが検証手段にお
いて検証され、検証結果および/または取得したプログ
ラムが前記解釈実行手段へ渡されるので、請求項1また
は請求項2記載の発明の効果が得られるだけでなく、解
釈実行手段がプログラム蓄積手段からプログラムを直接
取得する場合に比べ、処理時間(応答時間)を短くでき
るし、LAN伝送路のトラフィックも減少させることが
できる。また、請求項4記載の発明では、一つまたは複
数の解釈実行手段に渡した検証結果に関する情報が検証
手段内に記憶しておかれ、一つの解釈実行手段からの要
求に応じてプログラム蓄積手段から取得したプログラム
が検証済みであるとき、再度検証することなく記憶して
おいた検証結果または前記プログラムが前記解釈実行手
段へ送信されるので、請求項1〜請求項3記載の発明の
効果が得られるだけでなく、既に検証済であれば、解釈
実行手段からのプログラム取得依頼に対する応答速度が
速くなる。
As described above, according to the first aspect of the present invention, the verification means verifies the program of the intermediate language sent from the program storage means, and the verified program of the intermediate language communicates. Since the program is transferred to the interpretation executing means via the means and the program is interpreted and executed by the interpretation executing means, the scale of the software of the computer-mounted device as the interpretation executing means is reduced or its processing performance is improved. Can be.
Further, according to the present invention, a plurality of interpretation executing means and one verification means are connected by a common transmission means, and when the verification result is transmitted to the interpretation executing means, it is a communication from the verification means. An electronic signature for assurance is added and transmitted, and the interpretation executing means confirms that the communication is from the verification means based on the electronic signature, so that the effect of the invention described in claim 1 can be obtained. In addition, the burden on the user required for the verification means is reduced, and the risk that the verification result forged by a third party, which may occur due to this, is mistaken for the authenticity by the interpretation execution means can be avoided. According to the third aspect of the present invention, a request for acquiring a program consisting of an intermediate language is issued from the interpretation executing means to the verification means, and in response to the acquisition request, a program transfer request is transmitted from the verification means to the program storage means. The program consisting of an intermediate language sent out in response to the transfer request is verified by the verification means, and the verification result and / or the acquired program is passed to the interpretation execution means, so that the interpretation execution means is provided. In addition to the effects of the invention described in Item 2, the processing time (response time) can be shortened and the traffic on the LAN transmission line can be reduced as compared with the case where the interpretation executing means directly acquires the program from the program storing means. Can be. Further, in the invention according to claim 4, information relating to the verification result passed to one or a plurality of interpretation executing means is stored in the verifying means, and the program storage means is stored in response to a request from one interpretation executing means. When the program obtained from the above is already verified, the stored verification result or the program is transmitted to the interpretation executing means without re-verification. In addition to obtaining the program, if it has already been verified, the response speed to the program acquisition request from the interpretation executing means increases.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施形態を示すコンピュータシ
ステムを含むシステム構成図である。
FIG. 1 is a system configuration diagram including a computer system according to a first embodiment of the present invention.

【図2】本発明の第1の実施形態を示すコンピュータシ
ステムの動作フロー図である。
FIG. 2 is an operation flowchart of the computer system according to the first embodiment of the present invention.

【図3】本発明の第2の実施形態を示すコンピュータシ
ステムの動作フロー図である。
FIG. 3 is an operation flowchart of a computer system according to a second embodiment of the present invention.

【図4】本発明の第3の実施形態を示すコンピュータシ
ステムを含むシステム構成図である。
FIG. 4 is a system configuration diagram including a computer system according to a third embodiment of the present invention.

【図5】従来技術の一例を示すコンピュータシステムを
含むシステム構成図である。
FIG. 5 is a system configuration diagram including a computer system showing an example of a conventional technique.

【符号の説明】[Explanation of symbols]

1 コンピュータシステム 2 検証装置 3 解釈実行装置 4 LAN伝送路 5 プログラム蓄積装置 DESCRIPTION OF SYMBOLS 1 Computer system 2 Verification device 3 Interpretation execution device 4 LAN transmission line 5 Program storage device

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 中間言語から成るプログラムを蓄積して
いるプログラム蓄積手段から送られてくる前記プログラ
ムを解釈・実行するコンピュータシステムにおいて、プ
ログラム蓄積手段から送られてくる中間言語から成るプ
ログラムを検証する検証手段と、前記検証手段により検
証された中間言語から成るプログラムを解釈・実行する
解釈実行手段と、前記検証手段と解釈実行手段との間を
接続する通信手段とを備えたことを特徴とするコンピュ
ータシステム。
1. A computer system for interpreting and executing a program sent from a program storage means storing a program consisting of an intermediate language, wherein the computer system verifies the program consisting of the intermediate language sent from the program storage means. Verification means, interpretation execution means for interpreting and executing a program consisting of the intermediate language verified by the verification means, and communication means for connecting between the verification means and the interpretation execution means. Computer system.
【請求項2】 請求項1記載のコンピュータシステムに
おいて、複数の解釈実行手段と一つの検証手段とが接続
される共通の伝送手段を有するように通信手段を構成
し、検証結果を解釈実行手段に送る際、検証手段よりの
通信であることを保証する電子署名を付加して送信する
ように検証手段を構成し、電子署名をもとに検証手段よ
りの通信であることを確認するように解釈実行手段を構
成したことを特徴とするコンピュータシステム。
2. The computer system according to claim 1, wherein the communication unit is configured to have a common transmission unit to which the plurality of interpretation execution units and one verification unit are connected, and the verification result is transmitted to the interpretation execution unit. When sending, configure the verification means to add an electronic signature that guarantees that the communication is from the verification means and send it, and interpret to confirm that the communication is from the verification means based on the electronic signature A computer system comprising execution means.
【請求項3】 請求項1または請求項2記載のコンピュ
ータシステムにおいて、解釈実行手段が中間言語から成
るプログラムの取得要求を検証手段に対して出し、その
取得要求に応じて検証手段がプログラム転送要求をプロ
グラム蓄積手段に対して出し、その転送要求に応じて送
られてきた中間言語から成るプログラムを検証手段が検
証し、検証結果および/または取得したプログラムを前
記解釈実行手段へ渡す構成にしたことを特徴とするコン
ピュータシステム。
3. The computer system according to claim 1, wherein the interpreting / executing unit issues a request for acquiring a program composed of an intermediate language to the verifying unit, and the verifying unit responds to the request for acquiring the program transfer request. To the program storage means, the verification means verifies the program consisting of the intermediate language sent in response to the transfer request, and passes the verification result and / or the obtained program to the interpretation execution means. A computer system characterized by the following:
【請求項4】 請求項1、請求項2、または請求項3記
載のコンピュータシステムにおいて、一つまたは複数の
解釈実行手段に渡した検証結果に関する情報を記憶して
おき、一つの解釈実行手段からの要求に応じてプログラ
ム蓄積手段から取得したプログラムが検証済みであると
き、再度検証することなく記憶しておいた検証結果また
は前記プログラムを前記解釈実行手段へ送信するように
検証手段を構成したことを特徴とするコンピュータシス
テム。
4. The computer system according to claim 1, wherein information relating to a verification result passed to one or a plurality of interpretation executing means is stored, and information from the one interpretation executing means is stored. When the program obtained from the program storage means has been verified in response to the request, the verification means is configured to transmit the stored verification result or the program to the interpretation executing means without re-verification. A computer system characterized by the following:
JP32314399A 1999-11-12 1999-11-12 Computer system Pending JP2001142720A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32314399A JP2001142720A (en) 1999-11-12 1999-11-12 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32314399A JP2001142720A (en) 1999-11-12 1999-11-12 Computer system

Publications (1)

Publication Number Publication Date
JP2001142720A true JP2001142720A (en) 2001-05-25

Family

ID=18151573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32314399A Pending JP2001142720A (en) 1999-11-12 1999-11-12 Computer system

Country Status (1)

Country Link
JP (1) JP2001142720A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005520254A (en) * 2002-03-14 2005-07-07 コンテントガード ホールディングズ インコーポレイテッド Method and apparatus for processing usage rights expressions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005520254A (en) * 2002-03-14 2005-07-07 コンテントガード ホールディングズ インコーポレイテッド Method and apparatus for processing usage rights expressions
JP4740543B2 (en) * 2002-03-14 2011-08-03 コンテントガード ホールディングズ インコーポレイテッド Method and apparatus for processing usage rights expressions

Similar Documents

Publication Publication Date Title
CN109583898B (en) Intelligent terminal and method for payment based on TEE and block chain
US7748609B2 (en) System and method for browser based access to smart cards
CN107689868B (en) Communication method and device for client application and trusted application and terminal
US20070016939A1 (en) Extensible access control architecture
CN109951546B (en) Transaction request processing method, device, equipment and medium based on intelligent contract
CN110020955B (en) Online medical insurance information processing method and device, server and user terminal
WO2021083083A1 (en) Upgrading method and system, server, and terminal device
US8732694B2 (en) Method and system for performing services in server and client of client/server architecture
CN107872447A (en) Electronic device, server, communication system and communication method
CN110071933B (en) Secure socket layer acceleration method, device, equipment and readable storage medium
CN107306185A (en) Method and apparatus for avoiding the manipulation to data transfer
US20030031153A1 (en) Program control system, program control method and information control program
CN111427570A (en) Intelligent interface processing method and device
CN114788199A (en) Data verification method and device
US7668335B2 (en) Communication device, digital signature verification method and digital signature generation method
JP4313091B2 (en) Information processing system
JP2001142720A (en) Computer system
CN112333144B (en) Data security system and method of communication module
WO2022121682A1 (en) Method and system for communication between apple mobile device andapple external accessory
US8838765B2 (en) Modifying computer management request
CN112565031B (en) Parameter configuration method and terminal for PPP connection
CN113312577A (en) Webpage resource processing method and device, electronic equipment and storage medium
CN106101219A (en) The data transmission method of sing on web Service and device
CN112416619A (en) Interface configuration method, equipment, terminal and storage medium
CN112977331A (en) Automobile remote control device, automobile body control equipment, automobile body control system and automobile body control method