[go: up one dir, main page]

JP2001195264A - Compilation method and computer system - Google Patents

Compilation method and computer system

Info

Publication number
JP2001195264A
JP2001195264A JP2000005842A JP2000005842A JP2001195264A JP 2001195264 A JP2001195264 A JP 2001195264A JP 2000005842 A JP2000005842 A JP 2000005842A JP 2000005842 A JP2000005842 A JP 2000005842A JP 2001195264 A JP2001195264 A JP 2001195264A
Authority
JP
Japan
Prior art keywords
computer
program
server device
software virtual
virtual machine
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
JP2000005842A
Other languages
Japanese (ja)
Inventor
Mitsuru Shinbayashi
満 新林
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000005842A priority Critical patent/JP2001195264A/en
Publication of JP2001195264A publication Critical patent/JP2001195264A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】低処理能力でメモリ搭載量の小さい計算機上で
動作するソフトウェア仮想計算機用のプログラムをジャ
ストインタイム方式でサーバ装置がコンパイルする方法
を提供することを目的とする。 【解決手段】計算機上で動作するソフトウェア仮想計算
機がソフトウェア仮想計算横用プログラムれを実行時
に、ソフトウェア仮想計算機に内蔵したコンパイラを用
いて、ソフトウェア仮想計算槻用プログラムを計算機用
プログラムにジャストインタイム方式でコンパイルす
る。
(57) [Summary] An object of the present invention is to provide a method in which a server device compiles a program for a software virtual machine operating on a computer having a low processing capacity and a small amount of memory by a just-in-time method. When a software virtual machine operating on a computer executes a software virtual calculation horizontal program, the software virtual computer program is converted into a computer program using a compiler built in the software virtual computer using a just-in-time method. Compile with

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、コンパイル方法に
関し、特に低処理能力でメモリ搭載量の小さい計算機上
で動作するソフトウェア仮想計算機用のプログラムをジ
ャストインタイム方式でコンパイルするコンパイル方法
およびその計算機システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compiling method, and more particularly to a compiling method and a computer system for compiling a program for a software virtual machine operating on a computer with a low processing capacity and a small memory capacity by a just-in-time method. About.

【0002】[0002]

【従来の技術】従来、計算機上で動作するソフトウェア
仮想計算機がソフトウェア仮想計算機用プログラムを実
行時に、任意の条件を満たした場合に、ソフトウェア仮
想計算機が内蔵するコンパイラを用いてソフトウェア仮
想計算機用プログラムを計算機用プログラムにコンパイ
ルし、ソフトウェア仮想計算機用プログラムの代わりに
計算機用プログラムを実行していた。
2. Description of the Related Art Conventionally, when a software virtual machine operating on a computer executes a software virtual machine program and satisfies arbitrary conditions, the software virtual machine program is compiled using a compiler built in the software virtual machine. It was compiled into a computer program, and the computer program was executed instead of the software virtual computer program.

【0003】これまでのソフトウェア仮想計算機がジャ
ストインタイム方式のコンパイルを行う場合、ソフトウ
ェア仮想計算機にコンパイラを内蔵してローカルの計算
機上でコンパイルを行っていた。しかし、組み込み機器
のようなリソースの限られた計算機上でソフトウェア仮
想計算機を動かす場合、ローカルでジャストインタイム
方式のコンパイラを組み込み実行するのは必要リソース
の増加を引き起こし現実的ではない。
In the past, when a software virtual machine performs just-in-time compilation, a compiler is built in the software virtual machine and compilation is performed on a local computer. However, when a software virtual machine is run on a computer with limited resources such as an embedded device, it is not practical to locally install and execute a just-in-time compiler because it increases the required resources.

【0004】また、ジャストインタイムコンパイラはコ
ンパイラ本体に必要なメモリ領域およびコンパイル作業
を行うための作業用メモリ領域が必要であり、コンパイ
ルは複雑な処理であるため、相応のCPU資源を消費し
ていた。
Further, the just-in-time compiler requires a memory area necessary for the compiler itself and a work memory area for performing a compiling operation, and compiling is a complicated process, so that a corresponding CPU resource is consumed. Was.

【0005】[0005]

【発明が解決しようとする課題】従来、ソフトウェア仮
想計算機が動作している計算機上に、ソフトウェア仮想
計算機用プログラムから計算機用プログラムに変換する
ジャストインタイム・コンパイラを実装していたため、
計算機のメモリ資源およびCPU資源を多く消費してし
まい、メモリ資源およびCPU資源の制約が大きい組み
込み装置に適さないという問題があった。また、低処理
能力でメモリ搭載量の小さい計算機では、コンパイルの
ために多くのメモリ容量が必要になることから、自計算
機置内ではコンパイルが出来ない問題があった。
Conventionally, a just-in-time compiler for converting a software virtual machine program into a computer program has been mounted on a computer on which a software virtual machine is operating.
There is a problem in that a large amount of memory resources and CPU resources of the computer are consumed, which is not suitable for an embedded device in which memory resources and CPU resources are greatly restricted. On the other hand, a computer with a low processing capacity and a small amount of memory requires a large amount of memory for compiling, so that there is a problem that compiling cannot be performed in the computer itself.

【0006】本発明は、上記の問題を解決するためにな
されたもので、そこで、ソフトウェア仮想計算機用プロ
グラムから計算機用プログラムに変換するためのコンパ
イラをサーバ装置に持たせ、ソフトウェア仮想計算機は
サーバ装置と接続し、計算機用プログラムおよびソフト
ウェア仮想計算機用プログラムを受け渡しする機構を持
たせることによって、資源および負荷の分散を図ること
の出来るコンパイル方法および計算機システムを提供す
ることを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problem. Therefore, a server device has a compiler for converting a software virtual machine program into a computer program, and the software virtual machine has a server machine. It is an object of the present invention to provide a compiling method and a computer system capable of distributing resources and loads by providing a mechanism for connecting a computer program and a software virtual computer program to each other.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、この発明のコンパイル方法は、計算機上で動作する
ソフトウェア仮想計算機がソフトウェア仮想計算機用プ
ログラムを実行するときに、ジャストインタイム方式で
ソフトウェア仮想計算機用プログラムをサーバ装置に転
送し、前記サーバ装置上で前記ソフトウェア仮想計算機
用プログラムを前記計算機用プログラムにコンパイルし
て前記計算機の前記ソフトウェア仮想計算機に転送し、
前記計算機は計算機用プログラムを実行することにより
ソフトウェア仮想計算機用プログラムを高速実行するこ
とを特徴とする。
In order to achieve the above object, a compile method of the present invention provides a software virtual machine operating on a computer, which executes a software virtual machine program by a just-in-time method. Transfer the virtual machine program to the server device, compile the software virtual machine program into the computer program on the server device and transfer it to the software virtual machine of the computer,
The computer executes the computer program at high speed by executing the computer program.

【0008】この発明によれば、プログラムの変換作業
をサーバ装置上で行うことにより、計算機のメモリ資源
消費量、計算機のCPU資源消費量を減少させることが
できる。
According to the present invention, by performing the program conversion work on the server device, the memory resource consumption of the computer and the CPU resource consumption of the computer can be reduced.

【0009】また、この発明のコンパイル方法は、前記
サーバ装置でコンパイルした時に、一意に特定できるキ
ーを用いて取り出せるようにコンパイル結果である前記
計算機用プログラムをデータベースに登録し、一度コン
パイルを行った前記ソフトウェア仮想計算機用プログラ
ムをコンパイルするように要求されたときに、前記デー
タベースからコンパイル結果である前記計算機用プログ
ラムを直ちに取り出し、コンパイル結果として当該計算
機に返すことを特徴とする。
Further, in the compiling method of the present invention, the computer program, which is a compilation result, is registered in a database so as to be able to be extracted using a key which can be uniquely specified when compiled by the server device, and is compiled once. When a request is made to compile the software virtual machine program, the computer program, which is a compile result, is immediately retrieved from the database and returned to the computer as a compile result.

【0010】この発明によれば、サーバ装置がソフトウ
ェア仮想計算機用プログラムをコンパイルした結果をデ
ータベースにキヤツシングしておくことにより、コンパ
イルを行うサーバ装置の負荷を減らし、敏速にコンパイ
ル結果を計算機に返すことが可能になる。
According to the present invention, the result of compiling the software virtual machine program by the server device is cached in the database, thereby reducing the load on the compiling server device and promptly returning the compile result to the computer. Becomes possible.

【0011】また、この発明のコンパイル方法は、前記
計算機が実行する確率が高いことがわかっているソフト
ウェア仮想計算機用プログラムについて、予め前記計算
機用プログラムにコンパイルを行って前記データベース
に登録しておき、前記ソフトウェア仮想計算機用プログ
ラムをコンパイルするように要求されたときに、前記デ
ータベースからコンパイル結果である前記計算機用プロ
グラムを直ちに取り出し、コンパイル結果として当該計
算機に返すことを特徴とする。
Further, in the compiling method of the present invention, a software virtual computer program known to have a high probability of being executed by the computer is compiled into the computer program in advance and registered in the database. When a request is made to compile the software virtual machine program, the computer program, which is a compile result, is immediately retrieved from the database and returned to the computer as a compile result.

【0012】この発明によれば、あるソフトウェア仮想
計算機用プログラムを用いたサービスが開始される時の
ように、実行する確率が高いプログラムが特定出来て、
なお且つサーバ装置へのコンパイル要求が集中すること
が予想される場合に、予めコンパイルを行ってデータベ
ースに登録を行っておくことで、サーバ装置はコンパイ
ル済みのプログラムを各計算機に返すことのみに専念で
き、集中アクセスの負荷によるサーバダウンを防ぐこと
が可能になる。
According to the present invention, a program having a high probability of being executed, such as when a service using a certain software virtual machine program is started, can be specified.
In addition, when it is expected that compilation requests to the server device will be concentrated, by compiling in advance and registering it in the database, the server device is dedicated to returning the compiled program to each computer. It is possible to prevent server down due to the load of centralized access.

【0013】また、この発明のコンパイル方法は、前記
ソフトウェア仮想計算機を実行している計算機のアーキ
テクチャ用コンパイラを実装しているサーバ装置を探し
出すために、ネットワークにブロードキャストで計算機
のアーキテクチャ情報を送信し、コンパイル可能な前記
サーバ装置からリプライが返信されることで、前記計算
機が自身のアーキテクチャに適切なサーバ装置を見つ
け、接続することを特徴とする。
[0013] In addition, the compiling method of the present invention transmits a computer architecture information by broadcast to a network to search for a server device implementing a compiler for an architecture of a computer executing the software virtual machine; When a reply is returned from the compilable server device, the computer finds and connects to a server device appropriate for its own architecture.

【0014】この発明によれば、計算機のアーキテクチ
ャ毎に分割してサーバ装置を管理できるため、サーバ装
置の保守およびソフトウェアの更新が容易になる。ま
た、ソフトウェア仮想計算機を実行している計算機が異
なるネットワークに接続された場合でも、その都度適切
なサーバ装置を見つけ利用することが可能になる。
According to the present invention, the server device can be managed separately for each computer architecture, so that maintenance of the server device and updating of software are facilitated. Further, even when the computer executing the software virtual computer is connected to a different network, an appropriate server device can be found and used each time.

【0015】また、この発明のコンパイル方法は、すで
に計算機用にコンパイルされたソフトウェア仮想計算機
用プログラムについてのみ、他の計算機からのブロード
キャストによるコンパイル要求に対して、コンパイル可
能を返すことができ、すでに計算機用にコンパイルされ
たプログラムをコンパイル要求した計算機に返すことを
特徴とする。
Further, the compiling method of the present invention can return a compilable only in response to a broadcast compiling request from another computer only for a software virtual machine program already compiled for the computer. And returning the program compiled for use to the computer that has issued the compilation request.

【0016】この発明によれば、計算機がサーバ装置の
一部の機能を担うことにより、サーバ装置の負荷を下げ
ることが可能になる。
According to the present invention, the load of the server device can be reduced by the computer taking part of the function of the server device.

【0017】また、この発明のコンパイル方法は、前記
サーバ装置が前記ソフトウェア仮想計算機の要求を受け
てコンパイルを行った際に、前記サーバ装置が任意のタ
イミングで要求元の計算機のアーキテクチャ以外のコン
パイル可能なアーキテクチャ用にもコンパイルを行い前
記データベースに登録しておくことを特徴とする。
Further, according to the compile method of the present invention, when the server device compiles in response to a request from the software virtual machine, the server device can compile at any timing other than the architecture of the requesting computer. It is characterized in that it is compiled for a specific architecture and registered in the database.

【0018】この発明によれば、ある一つのアーキテク
チャの計算機で実行されたソフトウェア仮想計算機用プ
ログラムが他のアーキテクチャの計算機でも実行される
確率が高いシステム構成もしくはサービスの形態の場
合、予め他アーキテクチャ用にコンパイルを行っておく
ことで、他のアーキテクチャの計算機からのコンパイル
要求に素早く対応出来、コンパイルの為にサーバ装置の
リソースを圧迫しないで済む。
According to the present invention, in the case of a system configuration or a service form in which a software virtual machine program executed on a computer of a certain architecture has a high probability of being executed on a computer of another architecture, a program for another architecture is used in advance. By compiling in advance, it is possible to quickly respond to a compilation request from a computer of another architecture, and it is not necessary to squeeze the resources of the server device for the compilation.

【0019】また、この発明のコンパイル方法は、スタ
ンドアロンの計算機上で動作しているソフトウェア仮想
計算機が、サーバ装置の接続されたネットワークに接続
した時に、適切なサーバ装置と接続しコンパイルを行う
プラグアンドプレイ・ジャストインタイムコンパイルを
特徴とする。
Further, according to the compiling method of the present invention, when a software virtual machine operating on a stand-alone computer is connected to a network connected to a server, the software virtual machine is connected to an appropriate server and compiled. It features play-just-in-time compilation.

【0020】この発明によれば、小リソースのPDA端
末等のモバイル組み込み端末でソフトウェア仮想計算機
用プログラムを実行する際のプログラム実行高速化を、
ユーザが容易に行うことが可能になる。
According to the present invention, when a program for a software virtual machine is executed on a mobile embedded terminal such as a PDA terminal with a small resource, the program execution speed can be increased.
The user can easily perform the operation.

【0021】[0021]

【発明の実施の形態】以下本発明に係る実施の形態を、
図面を参照して説明する。図1は、本発明の第1の実施
形態を示し、3種類のアーキテクチャの低処理能力でメ
モリ搭載量の小さい計算機(例えば携帯端末等)A(1
0)、B(11)、C(12)と、1台の高処理能力の
サーバ装置13によってシステムが構成される。各計算
機A(10)、B(11)、C(12)にはソフトウェ
ア仮想計算機VAを有し、この仮想計算機VAはソフトウェ
ア仮想計算機VA用プログラムによって動作する。
Embodiments of the present invention will be described below.
This will be described with reference to the drawings. FIG. 1 shows a first embodiment of the present invention, in which a computer (for example, a portable terminal or the like) A (1) having a low processing capacity and a small memory capacity of three types of architectures
0), B (11), and C (12), and a single high-performance server device 13 constitutes a system. Each of the computers A (10), B (11), and C (12) has a software virtual computer VA, and the virtual computer VA is operated by a software virtual computer VA program.

【0022】この実施例では、低処理能力の計算機A
(10)、計算機B(11)、計算機C(12)にジャ
ストインタイムコンパイラ機能をローカルに持たず、サ
ーバ装置13に計算機A用コンパイラ14、計算機B用
コンパイラ15、計算機C用コンパイラ16に持たせて
いる。そして、各計算機A(10)、B(11)、C
(12)からの要求によりサーバ装置13の各コンパイ
ラ14、15、16でコンパイルされた各計算機用プロ
グラムが当該計算機に出力される。
In this embodiment, a computer A having a low processing capacity is used.
(10) The computer B (11) and the computer C (12) do not have the just-in-time compiler function locally, but the server device 13 has the computer A compiler 14, the computer B compiler 15, and the computer C compiler 16 I'm making it. Then, each computer A (10), B (11), C
In response to the request from (12), each computer program compiled by each compiler 14, 15, 16 of the server device 13 is output to the computer.

【0023】これにより、各計算機A(10)、B(1
1)、C(12)ではメモリ消費量を減少させ、また、
コンパイル処理をローカルで行わず、サーバ装置13で
行なうことでCPUリソースの消費を抑えている。
Thus, each of the computers A (10) and B (1)
1) and C (12) reduce the memory consumption, and
The compile processing is not performed locally, but is performed by the server device 13, so that consumption of CPU resources is suppressed.

【0024】また、サーバ装置13で一括してジャスト
インタイムコンパイラを管理しているため、各計算機A
(10)、B(11)、C(12)がコンパイルを要求
したプログラムのコンパイルをデータベース17に格納
管理することで、サーバ装置13がより効率的にコンパ
イルを行うことが出来、プログラムの実行状況を把握す
ることが可能になる。例えば、計算機A(10)からの
要求でコンパイルしたプログラムについて、これから計
算機B(11)や計算機C(12)についても実行され
ることを予想し、予めコンパイルして一意に特定できる
キーを用いてデータベース13に格納しておく。そし
て、一度コンパイルを行ったソフトウェア仮想計算機VA
用プログラムPvをコンパイルするように要求されたとき
に、データベース13からコンパイル結果である計算機
A用プログラムPaを直ちに取り出し、コンパイル結果と
して当該計算機に返すことが出来る。
Further, since the just-in-time compiler is collectively managed by the server device 13, each computer A
(10), B (11), and C (12) store and manage the compilation of the program requested to be compiled in the database 17, so that the server device 13 can perform the compilation more efficiently, and the execution status of the program Can be grasped. For example, with respect to a program compiled in response to a request from the computer A (10), it is expected that the computer B (11) and the computer C (12) will be executed in the future. It is stored in the database 13. And the software virtual machine VA that has been compiled once
When the program Pv is requested to be compiled, the computer A program Pa as the compilation result can be immediately taken out of the database 13 and returned to the computer as a compilation result.

【0025】また、計算機Aが実行する確率が高いこと
がわかっているソフトウェア仮想計算機VA用プログラム
Pvについても、予め計算機A用プログラムPaにコンパイ
ルを行ってデータベース17に登録しておき、同様にコ
ンパイル要求されたときに、データベース17からコン
パイル結果である計算機A用プログラムPaを直ちに取り
出し、コンパイル結果として当該計算機に返すことが出
来る。
A program for a software virtual computer VA that is known to have a high probability of being executed by the computer A
Pv is also compiled in advance in the computer A program Pa and registered in the database 17. Similarly, when a compile is requested, the computer A program Pa as a compile result is immediately extracted from the database 17 and the compile result is output. Can be returned to the computer.

【0026】図2は、上記した本発明のシステムにおけ
る動作の処理手順を表したものである。例えば、計算機
A(10)において、仮想計算機VA用プログラムPvの実
行が開始されると(S10)、計算機A(10)は仮想
計算機VA用プログラムPvをサーバ装置20に送信する
(S11)。
FIG. 2 shows a processing procedure of the operation in the system of the present invention described above. For example, when the execution of the virtual computer VA program Pv is started in the computer A (10) (S10), the computer A (10) transmits the virtual computer VA program Pv to the server device 20 (S11).

【0027】サーバ装置20では仮想計算機VA用プログ
ラムPvを受信待ちしており(S20)、仮想計算機VA用
プログラムPvを受信すると、受信した仮想計算機VA用プ
ログラムPvを計算機A用にコンパイルしたプログラムが
データベース17に登録されているか検索され(S2
1)、登録されているとデータベース17から計算機A
用プログラムPaを読み出し(S22)、計算機A(1
0)へ送信する(S23)。一方、データベース17に
登録されていなければ、計算機A用コンパイラ14を使
用して仮想計算機VA用プログラムPvをコンパイルし、計
算機A用プログラムPaを生成する(S24)。そして、
生成した計算機A用プログラムPaをデータベース204
に登録し(S25)、同様に計算機A(10)に送信す
る(S23)。
The server device 20 is waiting to receive the virtual computer VA program Pv (S20), and upon receiving the virtual computer VA program Pv, the server computer 20 compiles the received virtual computer VA program Pv for the computer A. It is searched whether it is registered in the database 17 (S2
1) If registered, computer A
Program Pa (S22), and the computer A (1)
0) (S23). On the other hand, if it is not registered in the database 17, the program Pv for the virtual computer VA is compiled by using the compiler 14 for the computer A to generate the program Pa for the computer A (S24). And
The generated program A for computer A is stored in the database 204
(S25), and similarly transmits to the computer A (10) (S23).

【0028】計算機A(10)では、サーバ装置13か
らの計算機A用プログラムPaを受信し(S12)、計算
機A(10)はプログラムPaを実行する(S13)。
The computer A (10) receives the computer A program Pa from the server device 13 (S12), and the computer A (10) executes the program Pa (S13).

【0029】図3は、本発明の第2の実施形態を示すブ
ロック図であり、複数の計算機および複数のサーバ装置
が同じネットワーク上に接続された構成を表している。
FIG. 3 is a block diagram showing a second embodiment of the present invention, and shows a configuration in which a plurality of computers and a plurality of server devices are connected on the same network.

【0030】この第2の実施形態では、ネットワーク1
00上に計算機A(10)、B(11)、C(12)が
接続され、また計算機A用コンパイラ21を有するサー
バ装置Sa(20)、計算機B用コンパイラ31を有す
るサーバ装置Sb(30)、計算機C用コンパイラ41
を有するサーバ装置Sc(40)、データベース51を
有するサーバ装置Se(50)がそれぞれネットワーク
100に接続されている。
In the second embodiment, the network 1
Computers A (10), B (11), and C (12) are connected to the server 00, and a server Sa (20) having a compiler A for computer A and a server Sb (30) having a compiler 31 for computer B. , Compiler C for Computer C 41
And a server device Se (50) having a database 51 are connected to the network 100, respectively.

【0031】各計算機A(10)、B(11)、C(1
2)はネットワーク100に自分のアーキテクチャ情報
をブロードキャストし、サーバ装置Sa(20)、Sb
(30)、Sc(40)の中から自分のアーキテクチャ
に適したコンパイラを実装しているサーバ装置を検索
し、接続する。コンパイラを実装した各サーバ装置Sa
(20)、Sb(30)、Sc(40)はネットワーク
100を介して共通のデータベース51を持つサーバ装
置50と接続しており、生成されたコンパイルがデータ
ベース51に格納される。これにより1つのアーキテク
チャでコンパイルが行われたプログラムについて他のア
ーキテクチャ用にも予めコンパイルを行なっておき、他
のアーキテクチャからの同じプログラムのコンパイル要
求に対して備えることができるなる。
Each of the computers A (10), B (11), C (1
2) broadcasts its architecture information to the network 100, and transmits the server devices Sa (20) and Sb.
(30) Search for a server device that implements a compiler suitable for its own architecture from Sc (40) and connect it. Each server Sa equipped with a compiler
(20), Sb (30) and Sc (40) are connected to the server device 50 having a common database 51 via the network 100, and the generated compilation is stored in the database 51. As a result, a program compiled in one architecture can be compiled in advance for another architecture to prepare for a request for compiling the same program from another architecture.

【0032】[0032]

【発明の効果】プログラムの変換作業をサーバ装置上で
行うことにより、各計算機のメモリ資源消費量、各計算
機のCPU資源消費量を減少させることができる。ま
た、サーバ装置がソフトウェア仮想計算機用プログラム
をコンパイルした結果をデータベースにキヤツシングし
ておくことにより、コンパイルを行うサーバ装置の負荷
を減らし、敏速にコンパイル結果を計算機に返すことが
可能になる。また、あるソフトウェア仮想計算機用プロ
グラムを用いたサービスが開始される時のように、実行
する確率が高いプログラムが特定出来て、なお且つサー
バ装置へのコンパイル要求が集中することが予想される
場合に、予めコンパイルを行ってデータベースに登録を
行っておくことで、サーバ装置はコンパイル済みのプロ
グラムを各計算機に返すことのみに専念でき、集中アク
セスの負荷によるサーバダウンを防ぐことが可能にな
る。更に、計算機のアーキテクチャ毎に分割してサーバ
装置を管理できるため、サーバ装置の保守およびソフト
ウェアの更新が容易になる。また、ソフトウェア仮想計
算機を実行している計算機が異なるネットワークに接続
された場合でも、その都度適切なサーバ装置を見つけ利
用することが可能になる。また、計算機がサーバ装置の
一部の機能を担うことにより、サーバ装置の負荷を下げ
ることが可能になる。また、ある一つのアーキテクチャ
の計算機で実行されたソフトウェア仮想計算機用プログ
ラムが他のアーキテクチャの計算機でも実行される確率
が高いシステム構成もしくはサービスの形態の場合、予
め他アーキテクチャ用にコンパイルを行っておくこと
で、他のアーキテクチャの計算機からのコンパイル要求
に素早く対応出来、コンパイルの為にサーバ装置のリソ
ースを圧迫しないで済む。小リソースのPDA端末等の
モバイル組み込み端末でソフトウェア仮想計算機用プロ
グラムを実行する際のプログラム実行高速化を、ユーザ
が容易に行うことが可能になる。
By performing the program conversion work on the server device, the memory resource consumption of each computer and the CPU resource consumption of each computer can be reduced. Further, by caching the result of compiling the software virtual machine program by the server device into the database, the load on the compiling server device can be reduced, and the compile result can be promptly returned to the computer. Also, when a service using a certain software virtual machine program is started, a program having a high probability of being executed can be specified, and compile requests to the server device are expected to be concentrated. By compiling in advance and registering it in the database, the server device can concentrate on returning the compiled program to each computer only, and it is possible to prevent the server from going down due to the load of centralized access. Further, since the server device can be managed for each computer architecture, maintenance of the server device and updating of software are facilitated. Further, even when the computer executing the software virtual computer is connected to a different network, an appropriate server device can be found and used each time. In addition, since the computer performs a part of the function of the server device, the load on the server device can be reduced. Also, in the case of a system configuration or a service form in which a software virtual machine program executed on a computer of one architecture has a high probability of being executed on a computer of another architecture, it must be compiled in advance for another architecture. Thus, it is possible to quickly respond to a compile request from a computer of another architecture, and it is not necessary to squeeze the resources of the server device for compiling. A user can easily execute a program at high speed when executing a software virtual computer program on a mobile embedded terminal such as a PDA terminal with a small resource.

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

【図1】本発明に係るコンパイル方法が適用される第1
の実施形態の計算機システムの構成を示すブロック図。
FIG. 1 shows a first example to which a compiling method according to the present invention is applied.
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment.

【図2】本発明に係るコンパイル方法の動作を説明する
図。
FIG. 2 is a view for explaining the operation of a compiling method according to the present invention.

【図3】本発明に係るコンパイル方法が適用される第2
の実施形態の構成を示すブロック図。
FIG. 3 shows a second example to which the compiling method according to the present invention is applied.
FIG. 2 is a block diagram showing the configuration of the embodiment.

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

10、11、12…計算機 20、30、40、50…サーバ装置 14、15、16、21、31、41…計算機用コンパ
イラ 17、51…データベース 100…ネットワーク
10, 11, 12: Computers 20, 30, 40, 50: Server device 14, 15, 16, 21, 31, 41: Compiler for computer 17, 51: Database 100: Network

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 低処理能力でメモリ搭載量の小さい計算
機上で動作するソフトウェア仮想計算機がソフトウェア
仮想計算機用プログラムを実行するときに、ジャストイ
ンタイム方式で前記ソフトウェア仮想計算機用プログラ
ムをサーバ装置に転送し、 前記サーバ装置上で前記ソフトウェア仮想計算機用プロ
グラムを計算機用プログラムにコンパイルして前記計算
機の前記ソフトウェア仮想計算機に転送し、 前記計算機は前記計算機用プログラムを実行することに
よりソフトウェア仮想計算機用プログラムを高速実行す
ることを特徴とするコンパイル方法。
When a software virtual machine running on a computer with a low processing capacity and a small amount of memory executes a software virtual machine program, the software virtual machine program is transferred to the server apparatus in a just-in-time manner. Compiling the software virtual machine program into a computer program on the server device and transferring the program to the software virtual machine of the computer, the computer executes the computer program to execute the software virtual machine program. A compilation method characterized by high-speed execution.
【請求項2】 前記サーバ装置でコンパイルした時に、
一意に特定できるキーを用いて取り出せるようにコンパ
イル結果である前記計算機用プログラムをデータベース
に登録し、一度コンパイルを行った前記ソフトウェア仮
想計算機用プログラムをコンパイルするように要求され
たときに、前記データベースからコンパイル結果である
前記計算機用プログラムを直ちに取り出し、コンパイル
結果として前記計算機に返すことを特徴とする請求項1
記載のコンパイル方法。
2. When compiled by the server device,
Registering the computer program as a compilation result in a database so that it can be extracted using a uniquely identifiable key, and when requested to compile the software virtual computer program that has been compiled once, from the database, 2. The computer program as a compilation result, which is immediately taken out and returned to the computer as a compilation result.
Compilation method described.
【請求項3】 前記計算機が実行する確率が高いことが
わかっているソフトウェア仮想計算機用プログラムにつ
いて、予め前記計算機用プログラムにコンパイルを行っ
て前記データベースに登録しておき、前記ソフトウェア
仮想計算機用プログラムをコンパイルするように要求さ
れたときに、前記データベースからコンパイル結果であ
る前記計算機用プログラムを直ちに取り出し、コンパイ
ル結果として当該計算機に返すことを特徴とする請求項
2記載のコンパイル方法。
3. A software virtual computer program known to have a high probability of being executed by the computer is compiled into the computer program in advance and registered in the database. 3. The compiling method according to claim 2, wherein when a request to compile is issued, the computer program as a compilation result is immediately taken out of the database and returned to the computer as a compilation result.
【請求項4】 前記ソフトウェア仮想計算機を実行して
いる計算機のアーキテクチャ用のコンパイラを実装して
いるサーバ装置を探し出すために、ネットワークにブロ
ードキャストで計算機のアーキテクチャ情報を送信し、
コンパイル可能な前記サーバ装置からリプライが返信さ
れることで、前記計算機が自身のアーキテクチャに適切
なサーバ装置を見つけ、接続することを特徴とする請求
項1記載のコンパイル方法。
4. Broadcasting computer architecture information to a network to search for a server device implementing a compiler for the architecture of the computer executing the software virtual machine,
2. The compiling method according to claim 1, wherein a reply is returned from the compilable server device so that the computer finds and connects to a server device suitable for its own architecture.
【請求項5】 すでに計算機用にコンパイルされたソフ
トウェア仮想計算機用プログラムについてのみ、他の計
算機からのブロードキャストによるコンパイル要求に対
して、コンパイル可能を返すことができ、前記コンパイ
ル要求を行った計算機に返すことを特徴とする請求項4
記載のコンパイル方法。
5. Only for a software virtual computer program already compiled for a computer, a compile request can be returned in response to a broadcast compile request from another computer, and the compile request is returned to the computer that issued the compile request. 5. The method according to claim 4, wherein
Compilation method described.
【請求項6】 前記サーバ装置が前記ソフトウェア仮想
計算機の要求を受けてコンパイルを行った際に、前記サ
ーバ装置が任意のタイミングで要求元の計算機のアーキ
テクチャ以外のコンパイル可能なアーキテクチャ用にも
コンパイルを行い前記データベースに登録しておくこと
を特徴とする請求項2記載のコンパイル方法。
6. When the server device compiles in response to a request from the software virtual machine, the server device compiles at an arbitrary timing for a compilable architecture other than the architecture of the requesting computer. 3. The compiling method according to claim 2, wherein the compiling is performed and registered in the database.
【請求項7】 スタンドアロンの計算機上で動作してい
るソフトウェア仮想計算機が、サーバ装置の接続された
ネットワークに接続した時に、適切なサーバ装置と接続
しコンパイルを行う、プラグアンドプレイ・ジャストイ
ンタイムコンパイルを特徴とする請求項1記載のコンパ
イル方法。
7. A plug-and-play just-in-time compile, in which a software virtual machine running on a stand-alone computer is connected to an appropriate server and compiled when connected to a network connected to the server. 2. The compiling method according to claim 1, wherein:
【請求項8】 ソフトウェア仮想計算機用プログラムを
有する低処理能力でメモリ搭載量の小さい計算機と、 前記計算機用のコンパイラ、および前記コンパイラでコ
ンパイルした結果を格納するデータベースを有するサー
バ装置とを具備し、 前記計算機のソフトウェア仮想計算機用プログラムを前
記サーバ装置の対応するコンパイラによってコンパイル
された計算機用プログラム、又は前記データベースに登
録された前記計算機用プログラムを当該計算機に転送し
て、実行させることを特徴とする計算機システム。
8. A computer having a low processing capacity and a small memory load having a software virtual computer program, a server device having a compiler for the computer, and a database storing a result compiled by the compiler, The software virtual computer program of the computer is transferred to the computer by compiling a computer program compiled by a corresponding compiler of the server device or the computer program registered in the database, and executed. Computer system.
【請求項9】 仮想計算機を有する低処理能力でメモリ
搭載量の小さい複数の計算機と、 前記複数の計算機用のコンパイラを有する複数のサーバ
装置と、 前記サーバ装置の前記コンパイラでコンパイルした結果
を格納するデータベースを有するデータベース用サーバ
装置と前記複数の計算機、複数のサーバ装置、データベ
ース用サーバ装置が接続されるネットワークとを具備
し、 前記計算機のソフトウェア仮想計算機用プログラムを対
応する前記サーバ装置のコンパイラによってコンパイル
された計算機用プログラム、又は前記データベースに登
録された前記計算機用プログラムを当該計算機に転送し
て、実行させることを特徴とする計算機システム。
9. A plurality of computers having a low processing capacity and a small amount of memory having a virtual computer, a plurality of server devices having a compiler for the plurality of computers, and storing a result compiled by the compiler of the server device. A database server device having a database to be connected to and a plurality of computers, a plurality of server devices, and a network to which the database server device is connected, and a compiler of the server device corresponding to the software virtual machine program of the computer. A computer system wherein a compiled computer program or the computer program registered in the database is transferred to the computer and executed.
JP2000005842A 2000-01-07 2000-01-07 Compilation method and computer system Pending JP2001195264A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000005842A JP2001195264A (en) 2000-01-07 2000-01-07 Compilation method and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000005842A JP2001195264A (en) 2000-01-07 2000-01-07 Compilation method and computer system

Publications (1)

Publication Number Publication Date
JP2001195264A true JP2001195264A (en) 2001-07-19

Family

ID=18534465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000005842A Pending JP2001195264A (en) 2000-01-07 2000-01-07 Compilation method and computer system

Country Status (1)

Country Link
JP (1) JP2001195264A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501325A (en) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド Server-based code compilation
JP2011034404A (en) * 2009-08-03 2011-02-17 Funai Electric Co Ltd Information processing system and information processing method
WO2012105000A1 (en) * 2011-02-01 2012-08-09 富士通株式会社 Program execution method
JP2013061810A (en) * 2011-09-13 2013-04-04 Fujitsu Ltd Information processor, information processor control method, and intermediate code instruction execution program
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501325A (en) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド Server-based code compilation
JP2011034404A (en) * 2009-08-03 2011-02-17 Funai Electric Co Ltd Information processing system and information processing method
WO2012105000A1 (en) * 2011-02-01 2012-08-09 富士通株式会社 Program execution method
JP5505522B2 (en) * 2011-02-01 2014-05-28 富士通株式会社 Program execution method
US9336052B2 (en) 2011-02-01 2016-05-10 Fujitsu Limited Program executing method
JP2013061810A (en) * 2011-09-13 2013-04-04 Fujitsu Ltd Information processor, information processor control method, and intermediate code instruction execution program
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit

Similar Documents

Publication Publication Date Title
US6339771B1 (en) Method and system for managing connections to a database management system
CN101452406B (en) Cluster load balance method transparent for operating system
KR101400286B1 (en) Method and apparatus for migrating task in multi-processor system
US8539464B2 (en) Distributed just-in-time compilation
US8463809B2 (en) Method and computing system for distributed stream data processing using plural of computers
US20080228923A1 (en) Server-Side Connection Resource Pooling
JPH10149296A (en) Method and apparatus for identifying server-computer aggregated topology
CN101436966A (en) Network monitoring and analysis system under virtual machine circumstance
US6470346B2 (en) Remote computation framework
CN110569312B (en) Big data rapid retrieval system based on GPU and use method thereof
CN111752965A (en) Real-time database data interaction method and system based on micro-service
JPH11312151A (en) Fast distributed object request broker
CN101448027B (en) System and working method of a pipelined web server
US7366814B2 (en) Heterogeneous multiprocessor system and OS configuration method thereof
JP2001195264A (en) Compilation method and computer system
JPH05173990A (en) Data processing system
CN113094395B (en) Data query method, computer device and storage medium
US20200195731A1 (en) Lccs system and method for executing computation offloading
KR20090129203A (en) Distributed compilation system and method
CN110704343B (en) Data transmission method and device for memory access and on-chip communication of many-core processor
CN1744593B (en) A Selection Method of Transmission Link
JP2003132039A (en) Scenario division method
JP2000194613A (en) Data transfer optimization system and method for client- server system
JP2001067325A (en) Method and system for managing distributed object
TWM597914U (en) Computer program product and apparatus for balancing loads in computer cluster

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606