JP2001092671A - Program execution optimizing method and program managing device and program executing device - Google Patents

Program execution optimizing method and program managing device and program executing device

Info

Publication number
JP2001092671A
JP2001092671A JP26974599A JP26974599A JP2001092671A JP 2001092671 A JP2001092671 A JP 2001092671A JP 26974599 A JP26974599 A JP 26974599A JP 26974599 A JP26974599 A JP 26974599A JP 2001092671 A JP2001092671 A JP 2001092671A
Authority
JP
Japan
Prior art keywords
program
execution
module
program module
executed
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
JP26974599A
Other languages
Japanese (ja)
Inventor
Yoshiaki Morimoto
義章 森本
Motoaki Satoyama
元章 里山
Yasuko Yokoyama
泰子 横山
Kenji Kitagawa
健二 北川
Ritsuko Kawabata
律子 川端
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP26974599A priority Critical patent/JP2001092671A/en
Publication of JP2001092671A publication Critical patent/JP2001092671A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain the optimization of a program corresponding to the execution environment of the program by considering balance among the transferring time, executing time, and memory usage of the program. SOLUTION: A program managing device 1 dynamically optimizes and distributes a program according to the execution environment by referring to the available memory usage of a program executing device 2, program characteristics 141 storing the characteristics of a program to be executed by the program executing device 2, and client characteristics 142 storing the execution environment of the program executing device 2. The program executing device 2 measures the execution frequency data of a program module constituting the program, and communicates it to the program managing device 1. The program managing device 1 updates the program characteristics 141 and the client characteristics 142 according to the execution frequency data.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、プログラム実行最
適化方法、プログラム管理装置およびプログラム実行装
置に関し、さらに詳しくは、プログラムの転送時間,実
行時間,メモり使用量などのバランスを考慮してプログ
ラムの実行環境に応じた最適化を行うプログラム実行最
適化方法、プログラム管理装置およびプログラム実行装
置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for optimizing program execution, a program management device and a program execution device, and more particularly, to a program taking into account the balance among program transfer time, program execution time and memory usage. The present invention relates to a program execution optimization method, a program management device, and a program execution device for performing optimization according to the execution environment of a program.

【0002】[0002]

【従来の技術】ネットワークの発展と端末の普及に伴
い、プログラムをサーバに保持し、これをクライアント
が必要に応じてダウンロードして実行するクライアント
−サーバ・システムが普及している。このクライアント
−サーバ・システムにおいて、ダウンロード時間を短縮
するために、プログラムを圧縮して転送し、受信したク
ライアントで展開し実行する方式が広く使用されてい
る。このようにプログラムを圧縮して転送する方式の例
としては、特開平5−313904号公報に開示の技術
や、米国Sun Microsystem社が開発したJavaのJAR
フォーマットがある。
2. Description of the Related Art With the development of networks and the spread of terminals, a client-server system in which a program is stored in a server and the client downloads and executes the program as necessary has become widespread. In this client-server system, in order to reduce the download time, a method of compressing and transferring a program, and expanding and executing the program on a received client is widely used. Examples of such a method of compressing and transferring a program include a technique disclosed in Japanese Patent Application Laid-Open No. Hei 5-313904 and a Java JAR developed by Sun Microsystem Co., USA.
There is a format.

【0003】他方、プログラムをバイトコードあるいは
中間コードと呼ばれる環境非依存の形式で記述し、これ
をロードした環境下で直接実行できる形式に逐次変換し
ながら実行する仮想機械システムが知られている。ま
た、仮想機械システムにおいて、形式を逐次変換しなが
ら実行することによる実行速度の低下を避けるために、
バイトコードあるいは中間コードで記述されたプログラ
ムをロードした環境下で直接実行できる形式に予め変換
してから転送するトランスレータ方式が知られている。
On the other hand, a virtual machine system is known in which a program is described in an environment-independent format called bytecode or intermediate code, and is sequentially converted into a format that can be directly executed in a loaded environment. In addition, in the virtual machine system, in order to avoid a decrease in execution speed due to execution while sequentially converting the format,
There is known a translator system in which a program described in a bytecode or an intermediate code is previously converted into a format that can be directly executed in an environment in which the program is loaded, and then transferred.

【0004】[0004]

【発明が解決しようとする課題】プログラムを圧縮して
転送する方式は、転送時間を短縮できる。また、ダウン
ロードしたプログラムを格納しておくメモリを節約でき
る。しかし、展開に余分な時間がかかるため、ダウンロ
ードの要求からプログラムの実行までに要する時間とい
う観点では実行時間が長くなってしまう問題点がある。
The method of compressing and transferring a program can shorten the transfer time. Further, the memory for storing the downloaded program can be saved. However, since extra time is required for the development, there is a problem that the execution time becomes longer in terms of the time required from the download request to the execution of the program.

【0005】仮想機械システムでは、バイトコードある
いは中間コードで記述されたプログラムを実行環境下で
直接実行可能な形式に変換する時間が余分にかかるた
め、プログラムのロードから実行までに要する時間とい
う観点では実行時間が長くなってしまう問題点がある。
この問題点はトランスレータを使用すれば解消される
が、転送時間が長くなり、メモり使用量が大幅に増える
問題点がある。
In the virtual machine system, extra time is required to convert a program described in byte code or intermediate code into a format that can be directly executed in an execution environment. Therefore, from the viewpoint of the time required from program loading to execution. There is a problem that the execution time becomes long.
Although this problem can be solved by using a translator, there is a problem that the transfer time is long and the memory usage is greatly increased.

【0006】つまり、従来の技術では、プログラムの転
送時間,実行時間,メモり使用量などのバランスが考慮
されておらず、プログラムの実行環境に応じた最適化が
なされていない問題点があった。そこで、本発明の目的
は、プログラムの転送時間,実行時間,メモり使用量な
どのバランスを考慮して、プログラムの実行環境に応じ
た最適化を行うプログラム実行最適化方法、プログラム
管理装置およびプログラム実行装置を提供することにあ
る。
In other words, the prior art does not take into account the balance between the transfer time of the program, the execution time, the amount of memory used, and the like, and there has been a problem that optimization according to the execution environment of the program has not been performed. . Therefore, an object of the present invention is to provide a program execution optimizing method, a program management device, and a program for performing optimization according to a program execution environment in consideration of a balance between a program transfer time, an execution time, and a memory usage. An execution device is provided.

【0007】[0007]

【課題を解決するための手段】第1の観点では、本発明
は、電子計算機上で実行されるプログラムを構成する各
プログラムモジュールの実行頻度および当該プログラム
モジュールを圧縮すべきか否かの指定を含む最適化情報
の少なくとも一方を基に圧縮するプログラムモジュール
を選択し、その選択したプログラムモジュールのみ圧縮
し、圧縮したプログラムモジュールと圧縮しないプログ
ラムモジュールとを混在させたプログラムを配布し、圧
縮したプログラムモジュールは配布先で展開して実行す
ることを特徴とするプログラム実行最適化方法を提供す
る。上記第1の観点のプログラム実行最適化方法では、
実行頻度の低いプログラムモジュールや圧縮することが
指定されたプログラムモジュールは圧縮するが、実行頻
度の高いプログラムモジュールや圧縮しないことが指定
されたプログラムモジュールは圧縮しない。このよう
に、圧縮したプログラムモジュールと圧縮しないプログ
ラムモジュールとを混在させるため、プログラムの転送
時間を短縮できる利点と、プログラムを格納するメモリ
を節約できる利点と、展開に余分な時間がかかる欠点と
をバランスさせることができ、プログラムの実行環境に
応じた最適化を行うことが出来る。
According to a first aspect, the present invention includes an execution frequency of each program module constituting a program executed on an electronic computer and designation of whether or not the program module should be compressed. A program module to be compressed is selected based on at least one of the optimization information, only the selected program module is compressed, and a program in which a compressed program module and a non-compressed program module are mixed is distributed. There is provided a program execution optimization method characterized by being developed and executed at a distribution destination. In the program execution optimization method according to the first aspect,
A program module that is executed less frequently or a program module that is specified to be compressed is compressed, but a program module that is frequently executed or a program module that is specified not to be compressed is not compressed. As described above, since the compressed program module and the non-compressed program module are mixed, the advantage of reducing the transfer time of the program, the advantage of saving the memory for storing the program, and the disadvantage of requiring extra time for decompression are provided. The balance can be achieved, and optimization according to the execution environment of the program can be performed.

【0008】第2の観点では、本発明は、仮想機械上で
実行するプログラムを構成する各プログラムモジュール
の実行頻度および当該プログラムモジュールを変換すべ
きか否かの指定を含む最適化情報の少なくとも一方を基
に変換するプログラムモジュールを選択し、その選択し
たプログラムモジュールのみ実行環境で直接実行可能な
形式に変換し、変換したプログラムモジュールと変換し
ないプログラムモジュールとを混在させたプログラムを
配布し、変換しないプログラムモジュールは配布先で変
換して実行することを特徴とするプログラム実行最適化
方法を提供する。上記第2の観点のプログラム実行最適
化方法では、実行頻度の高いプログラムモジュールや変
換することが指定されたプログラムモジュールは実行環
境で直接実行可能な形式に変換するが、実行頻度の低い
プログラムモジュールや変換しないことが指定されたプ
ログラムモジュールは変換しない。このように、変換し
たプログラムモジュールと変換しないプログラムモジュ
ールとを混在させるため、プログラムの実行時間を短縮
できる利点と、転送時間が長くなりメモり使用量が増え
る欠点とをバランスさせることができ、プログラムの実
行環境に応じた最適化を行うことが出来る。
According to a second aspect, the present invention provides at least one of optimization information including an execution frequency of each program module constituting a program to be executed on a virtual machine and designation of whether or not to convert the program module. Selects the program module to be converted to the base, converts only the selected program module into a format that can be directly executed in the execution environment, distributes a program in which the converted program module and the non-converted program module are mixed, and does not convert A module provides a method for optimizing program execution, wherein the module is converted and executed at a distribution destination. In the program execution optimizing method according to the second aspect, a program module having a high execution frequency or a program module designated to be converted is converted into a format that can be directly executed in the execution environment. Program modules specified not to be converted are not converted. As described above, since the converted program module and the non-converted program module are mixed, the advantage that the execution time of the program can be shortened and the disadvantage that the transfer time becomes longer and the memory usage increases can be balanced. Can be optimized according to the execution environment.

【0009】第3の観点では、本発明は、プログラムを
保持し、プログラム実行装置からのプログラム要求に応
じて前記プログラムを前記プログラム実行装置に配布す
るプログラム管理装置であって、前記プログラムを構成
する各プログラムモジュールの実行頻度および当該プロ
グラムモジュールの最適化に関する情報の少なくとも一
方を基に最適化するプログラムモジュールを選択しその
選択したプログラムモジュールのみ最適化する最適化手
段と、最適化したプログラムモジュールと最適化しない
プログラムモジュールとを混在させたプログラムを前記
プログラム実行装置に配布するプログラム配布手段とを
具備したことを特徴とするプログラム管理装置を提供す
る。上記第3の観点のプログラム管理装置では、最適化
したプログラムモジュールと最適化しないプログラムモ
ジュールとを混在させるため、最適化による利点と欠点
とをバランスさせることができ、プログラムの実行環境
に応じた最適化を行うことが出来る。
[0009] In a third aspect, the present invention is a program management device for holding a program and distributing the program to the program execution device in response to a program request from a program execution device. Optimizing means for selecting a program module to be optimized based on at least one of the execution frequency of each program module and information on optimization of the program module, and optimizing only the selected program module; And a program distribution means for distributing a program in which program modules not to be converted are mixed to the program execution device. In the program management device according to the third aspect, the optimized program module and the non-optimized program module are mixed, so that the advantages and disadvantages of the optimization can be balanced, and the optimal program module can be optimized according to the program execution environment. Can be performed.

【0010】第4の観点では、本発明は、上記第3の観
点のプログラム管理装置において、前記最適化手段は、
圧縮および仮想機械上で実行する形式から実行環境で直
接実行可能な形式への変換の少なくとも一方により最適
化するものであることを特徴とするプログラム管理装置
を提供する。上記第4の観点のプログラム管理装置で
は、前記1または第2の観点のプログラム実行最適化方
法を好適に実施できる。
According to a fourth aspect, the present invention provides the program management device according to the third aspect, wherein the optimizing means comprises:
There is provided a program management device characterized by optimizing by at least one of compression and conversion from a format executed on a virtual machine to a format directly executable in an execution environment. In the program management device according to the fourth aspect, the program execution optimizing method according to the first or second aspect can be suitably implemented.

【0011】第5の観点では、本発明は、上記第3また
は第4の観点のプログラム管理装置に対してプログラム
要求を送り、配布されたプログラムを実行するプログラ
ム実行装置であって、プログラムモジュール毎の実行頻
度を計測する実行頻度計測手段と、実行頻度の計測結果
を前記プログラム管理装置に通知する実行頻度通知手段
とを具備したことを特徴とするプログラム実行装置を提
供する。上記第5の観点のプログラム管理装置では、前
記1または第2の観点のプログラム実行最適化方法を好
適に実施できる。
According to a fifth aspect, the present invention is a program execution device for sending a program request to the program management device according to the third or fourth aspect and executing a distributed program. A program execution device comprising: an execution frequency measurement unit for measuring an execution frequency of the program; and an execution frequency notification unit for notifying the program management device of the execution frequency measurement result. In the program management device according to the fifth aspect, the program execution optimizing method according to the first or second aspect can be suitably implemented.

【0012】[0012]

【発明の実施の形態】以下、図を参照して本発明の実施
の形態を説明する。なお、これにより本発明が限定され
るものではない。図1は、本発明のプログラム実行最適
化方法を実施する計算機システムの構成および動作手順
を示す説明図である。この計算機システム(100)
は、プログラムの転送を行うプログラム管理装置(1)
と、プログラムを実行するプログラム実行装置(2)
と、それらを接続するネットワーク(3)とで構成され
る。前記プログラム管理装置(1)がサーバに相当し、
前記プログラム実行装置(2)がクライアントに相当す
る。
Embodiments of the present invention will be described below with reference to the drawings. Note that the present invention is not limited by this. FIG. 1 is an explanatory diagram showing a configuration and an operation procedure of a computer system that executes a program execution optimizing method of the present invention. This computer system (100)
Is a program management device for transferring a program (1)
And a program execution device (2) for executing the program
And a network (3) connecting them. The program management device (1) corresponds to a server,
The program execution device (2) corresponds to a client.

【0013】なお、前記ネットワーク(3)に替わるも
のとして、いわゆるバスのように直接ハードウェア同士
を接続するものでもよい。つまり、プログラム管理装置
(1)とプログラム実行装置(2)が1つの計算機上で
動作したり、複数のCPUを持った分散処理計算機上で
動作してもよい。
As an alternative to the network (3), a hardware that directly connects hardware such as a so-called bus may be used. That is, the program management device (1) and the program execution device (2) may operate on one computer, or may operate on a distributed processing computer having a plurality of CPUs.

【0014】前記プログラム管理装置(1)は、1以上
のプログラムを格納するプログラム格納手段(11)
と、プログラム特性(141)およびクライアント特性
(142)を格納するプロファイル格納手段(14)と
を具備している。前記プログラム特性(141)は、プ
ログラム格納手段(11)に格納しているプログラムに
関するプロファイルデータであり、プログラム格納手段
(11)に格納されているプログラムの種類と同じ数だ
け存在する。前記クライアント特性(142)は、接続
されているプログラム実行装置(2)に関するプロファ
イルデータであり、プログラム実行装置(2)の数だけ
存在する。
[0014] The program management device (1) is a program storage means (11) for storing one or more programs.
And a profile storage means (14) for storing program characteristics (141) and client characteristics (142). The program characteristics (141) are profile data relating to programs stored in the program storage means (11), and exist in the same number as the types of programs stored in the program storage means (11). The client characteristics (142) are profile data relating to the connected program execution devices (2), and exist in the same number as the number of the program execution devices (2).

【0015】この計算機システム(100)は、次のよ
うに動作する。まず、プログラム実行装置(2)がプロ
グラム管理装置(1)に対してプログラム要求を送出す
る(手順1000)。この時、クライアント識別子,プ
ログラム識別子および利用可能メモリ量を含むパラメタ
も送出する。
The computer system (100) operates as follows. First, the program execution device (2) sends a program request to the program management device (1) (procedure 1000). At this time, parameters including a client identifier, a program identifier, and an available memory amount are also transmitted.

【0016】プログラム管理手段(1)は、前記プログ
ラム要求およびパラメタを受信する(手順1001)。
次に、プログラム管理手段(1)は、プログラム識別子
を基にプログラム特性(141)からプログラムに関す
るプロファイルデータを取得すると共にクライアント識
別子を基にクライアント特性(142)からプログラム
実行装置(2)に関するプロファイルデータを取得する
(手順1002)。次に、プログラム管理手段(1)
は、プログラム識別子を基にプログラム格納手段(1
1)からプログラムを取得し、前記パラメタと前記プロ
ファイルデータを基にプログラムを最適化する(手順1
003)。次に、プログラム管理手段(1)は、最適化
済みプログラムをプログラム実行装置(2)に送出する
(手順1004)。
The program management means (1) receives the program request and the parameters (step 1001).
Next, the program management means (1) acquires profile data on the program from the program characteristics (141) based on the program identifier, and obtains profile data on the program execution device (2) from the client characteristics (142) based on the client identifier. Is acquired (procedure 1002). Next, program management means (1)
Is a program storage unit (1) based on a program identifier.
Obtain the program from 1) and optimize the program based on the parameters and the profile data (procedure 1)
003). Next, the program management means (1) sends the optimized program to the program execution device (2) (procedure 1004).

【0017】プログラム実行装置(2)は、最適化済み
プログラムを受信する(手順1005)。次に、プログ
ラム実行装置(2)は、プログラムを実行する(手順1
006)。また、この実行中に、プログラムの各プログ
ラムモジュールの実行頻度データを計測する。次に、プ
ログラム実行装置(2)は、実行頻度データをクライア
ント識別子と共にプログラム管理装置(1)に送出する
(手順1007)。
The program execution device (2) receives the optimized program (procedure 1005). Next, the program execution device (2) executes the program (procedure 1
006). During this execution, the execution frequency data of each program module of the program is measured. Next, the program execution device (2) sends the execution frequency data together with the client identifier to the program management device (1) (procedure 1007).

【0018】プログラム管理装置(1)は、実行頻度デ
ータを受信する(手順1008)。次に、プログラム管
理装置(1)は、実行頻度データを基にプログラム特性
(141)およびクライアント特性(142)のそれぞ
れに含まれるプロファイルデータを更新する(手順10
09)。
The program management device (1) receives the execution frequency data (procedure 1008). Next, the program management device (1) updates profile data included in each of the program characteristics (141) and the client characteristics (142) based on the execution frequency data (procedure 10).
09).

【0019】図2は、前記プログラム管理装置(1)の
構成図である。プログラム管理装置(1)は、前記プロ
グラム格納手段(11)と、前記プロファイル格納手段
(14)と、プロファイルデータを基にプログラム最適
化を行う最適化手段(10)と、プログラム実行装置
(2)からのプログラム要求を受け取って処理するロー
ド要求処理手段(12)と、プログラム実行装置(2)
から送られてくる実行頻度データを受け取ってプロファ
イルデータを更新する実行頻度集計手段(13)とを具
備している。前記ロード要求処理手段(12)および実
行頻度集計手段(13)は、ネットワーク(3)に接続
されている。
FIG. 2 is a configuration diagram of the program management device (1). The program management device (1) includes the program storage unit (11), the profile storage unit (14), an optimization unit (10) that performs program optimization based on profile data, and a program execution device (2). Load request processing means (12) for receiving and processing a program request from a computer, and a program execution device (2)
Execution frequency counting means (13) for receiving the execution frequency data sent from the server and updating the profile data. The load request processing means (12) and the execution frequency totaling means (13) are connected to a network (3).

【0020】図3は、前記プログラム実行装置(2)の
構成図である。プログラム実行装置(2)は、プログラ
ムを実行するプログラム実行手段(20)と、プログラ
ム要求を送出するプログラム要求手段(21)と、プロ
グラムの各プログラムモジュールの呼び出し頻度を計測
する実行頻度管理手段(22)と、プログラム実行後に
実行頻度データを送出する実行頻度送信手段(23)
と、実行頻度データを記録する実行頻度記録手段(2
4)とを具備している。前記プログラム要求手段(2
1)および実行頻度送信手段(23)は、ネットワーク
(3)に接続されている。
FIG. 3 is a block diagram of the program execution device (2). The program execution device (2) includes a program execution means (20) for executing a program, a program request means (21) for sending out a program request, and an execution frequency management means (22) for measuring a calling frequency of each program module of the program. ) And execution frequency transmitting means (23) for transmitting execution frequency data after the program is executed.
And execution frequency recording means (2) for recording execution frequency data.
4). The program request means (2
1) and the execution frequency transmission means (23) are connected to the network (3).

【0021】前記実行頻度記録手段(24)は、必ずし
も存在しなくても良いが、実行頻度データをプログラム
管理装置(1)に送信するタイミングの自由度を上げる
ためには存在した方が望ましい。
The execution frequency recording means (24) may not be necessarily provided, but is desirably provided to increase the degree of freedom in the timing of transmitting the execution frequency data to the program management device (1).

【0022】また、プログラム実行装置(2)には、ダ
ウンロードしたプログラムをキャッシュするための記録
装置があっても良い。これが存在すると、ネットワーク
経由のプログラムの読み込み回数が少なくなるため、見
かけ上、高速な実行が可能となる。
The program execution device (2) may include a recording device for caching the downloaded program. When this is present, the number of times of reading the program via the network is reduced, so that apparently high-speed execution is possible.

【0023】図4は、前記プログラム管理装置(1)中
の最適化手段(10)の詳細ブロック図である。最適化
手段(10)は、最適化実行部(100)と、トランス
レータ(101)と、圧縮手段(102)とを持つ。前
記最適化実行部(100)は、図1の処理1003で、
圧縮手段(102)とトランスレータ(101)を使用
し、プログラムを最適化する。前記トランスレータ(1
01)は、プログラム実行装置(2)のCPUの種別毎
に異なったものが複数存在しうる。なお、インタプリタ
実行されるプログラムを取り扱わない場合は、このトラ
ンスレータ(101)は存在しなくてもよい。前記圧縮
手段(102)は、圧縮率や圧縮アルゴリズムの異なる
ものが複数存在しうる。
FIG. 4 is a detailed block diagram of the optimizing means (10) in the program management device (1). The optimizing unit (10) has an optimizing unit (100), a translator (101), and a compressing unit (102). The optimization execution unit (100) performs processing 1003 in FIG.
The program is optimized using the compression means (102) and the translator (101). The translator (1
01), a plurality of different types may exist for each type of CPU of the program execution device (2). When a program to be executed by the interpreter is not handled, the translator (101) may not be present. A plurality of compression means (102) having different compression ratios and compression algorithms may exist.

【0024】図5は、前記プログラム特性(141)の
構成図である。プログラム特性(141)は、プログラ
ム識別子(1410)と、プログラムモジュール毎のモ
ジュール識別子(1411)とその最適化特性(141
2)の組と、実行頻度特性(143P)とを持つ。前記
プログラム識別子(1410)は、このプログラム特性
(141)に対応するプログラムを指す情報である。例
えば、プログラム名あるいは一意に定義されたプログラ
ムIDである。
FIG. 5 is a configuration diagram of the program characteristic (141). The program characteristics (141) include a program identifier (1410), a module identifier (1411) for each program module, and its optimization characteristics (141).
2) and an execution frequency characteristic (143P). The program identifier (1410) is information indicating a program corresponding to the program characteristic (141). For example, it is a program name or a uniquely defined program ID.

【0025】前記モジュール識別子(1411)は、こ
の組に対応するプログラムモジュールを指す情報であ
る。例えばプログラムモジュールの名称,開始アドレス
あるいはモジュールIDである。前記最適化特性(14
12)は、当該プログラムモジュールを最適化する場合
に、実行速度を重視して最適化するべきか、メモリ利用
効率を重視して最適化するべきか、などの当該プログラ
ムモジュールに適用すべき最適化の特性が記録される。
例えば、非常に頻繁に実行されるプログラムモジュール
に対しては、メモリの利用効率を高めるよりも、実行速
度を高めるように最適化するのが、プログラム全体の実
行速度を高める上で有効であるので、実行速度を重視し
て最適化すべき旨が記録される。逆に、特定の条件が生
じたときのみに実行されるプログラムモジュール(すな
わち、実行されないこともあるプログラムモジュール)
に対しては、実行速度を高めてもプログラム全体の実行
速度には影響がないので、メモリの利用効率を高めるよ
うに最適化すべき旨が記録される。最適化特性(141
2)の記録は、プログラムの開発時に行われ、プログラ
ムがプログラム格納手段(11)に格納される際に、プ
ログラム特性(141)への登録が行われる。最適化特
性(1412)の変更は、プログラム登録後も可能であ
る。
The module identifier (1411) is information indicating a program module corresponding to this set. For example, a program module name, a start address, or a module ID. The optimization characteristics (14
12) optimization to be applied to the program module, such as whether to optimize the execution speed or to optimize the memory utilization efficiency when optimizing the program module Are recorded.
For example, for a program module that is executed very frequently, optimizing to increase the execution speed rather than to increase the memory utilization efficiency is effective in increasing the execution speed of the entire program. The fact that optimization should be performed with emphasis on execution speed is recorded. Conversely, program modules that are executed only when certain conditions occur (ie, program modules that may not be executed)
Since the execution speed of the program is not affected even if the execution speed is increased, it is recorded that optimization should be performed so as to increase the use efficiency of the memory. Optimization characteristics (141
The recording of 2) is performed at the time of developing the program, and when the program is stored in the program storage means (11), the registration in the program characteristic (141) is performed. The change of the optimization characteristic (1412) is possible even after registering the program.

【0026】図6は、実行頻度特性(143P)の構成
図である。実行頻度特性(143P)は、プログラムモ
ジュール毎のモジュール識別子(1432)と当該プロ
グラムモジュールの実行頻度(1443P)の組を持
つ。前記実行頻度(1443P)は、当該プログラムが
過去に実行された時にプログラム実行装置(2)から受
信した実行頻度データを統計処理(例えば平均値への置
換)して作成する。
FIG. 6 is a configuration diagram of the execution frequency characteristic (143P). The execution frequency characteristic (143P) has a set of a module identifier (1432) for each program module and an execution frequency (1443P) of the program module. The execution frequency (1443P) is created by performing statistical processing (for example, replacing the execution frequency data with an average value) on the execution frequency data received from the program execution device (2) when the program was executed in the past.

【0027】図7は、クライアント特性(142)の構
成図である。クライアント特性(142)は、クライア
ント識別子(1420)と、実行環境情報(1421)
と、過去に実行したプログラム毎の実行頻度特性(14
3C)とを持つ。前記クライアント識別子(1420)
は、このクライアント特性(142)に対応するプログ
ラム実行装置(2)を指す情報である。例えば、クライ
アント名あるいは一意に定義されたクライアントIDで
ある。前記実行環境情報(1421)には、例えば、C
PU種別,メモリ容量,動作周波数,圧縮されたファイ
ルをハードウェアで展開可能かといったプログラムの実
行に関連した情報が記録される。この実行環境情報(1
421)を基に、複数のトランスレータ(101)から
一つを選択する。
FIG. 7 is a configuration diagram of the client characteristic (142). The client characteristics (142) include a client identifier (1420) and execution environment information (1421).
And the execution frequency characteristics of each program executed in the past (14
3C). The client identifier (1420)
Is information indicating the program execution device (2) corresponding to the client characteristic (142). For example, a client name or a uniquely defined client ID. The execution environment information (1421) includes, for example, C
Information related to the execution of the program, such as the PU type, the memory capacity, the operating frequency, and whether the compressed file can be expanded by hardware, is recorded. This execution environment information (1
421), one is selected from the plurality of translators (101).

【0028】図8は、実行頻度特性(143C)の構成
図である。前記実行頻度特性(143C)は、対応する
プログラムのプログラム識別子(1431)と、当該プ
ログラムのプログラムモジュール毎のモジュール識別子
(1432)と当該プログラムモジュールの実行頻度
(1443C)の組を持つ。前記実行頻度(1433
C)は、当該クライアント特性(142)に対応するプ
ログラム実行装置(2)で当該実行頻度特性(143
C)に対応するプログラムが過去に実行された時にプロ
グラム実行装置(2)から受信した実行頻度データを統
計処理(例えば平均値への置換や最新値への置換)して
作成する。
FIG. 8 is a configuration diagram of the execution frequency characteristic (143C). The execution frequency characteristic (143C) has a set of a program identifier (1431) of a corresponding program, a module identifier (1432) of each program module of the program, and an execution frequency (1443C) of the program module. The execution frequency (1433)
C) is the execution frequency characteristic (143) in the program execution device (2) corresponding to the client characteristic (142).
The execution frequency data received from the program execution device (2) when the program corresponding to C) was executed in the past is created by statistical processing (for example, replacement with an average value or replacement with the latest value).

【0029】図9は、プログラム実行装置(2)でプロ
グラム実行(図1の1006)されるプログラム(30
0)の構成図である。このプログラム(300)は、1
以上のプログラムモジュール(3000)で構成され
る。各プログラムモジュール(3000)は、モジュー
ル圧縮情報(3010)と、ネイティブ化情報(302
0)と、実行コード(3030)を持つ。前記モジュー
ル圧縮情報(3010)には、そのプログラムモジュー
ルが圧縮されているか、圧縮されている場合はその圧縮
方式および圧縮前のモジュールサイズが記録されてい
る。前記ネイティブ化情報(3020)には、そのプロ
グラムモジュールがインタプリタ実行される形式か、C
PU直接実行される形式かが記録されている。なお、仮
想機械で実行されないプログラムの場合は、このネイテ
ィブ化情報(3020)は不要である。
FIG. 9 shows a program (30) executed by the program execution device (2) (1006 in FIG. 1).
FIG. This program (300)
It is composed of the above program modules (3000). Each program module (3000) includes module compression information (3010) and nativeization information (302).
0) and an execution code (3030). The module compression information (3010) records whether the program module is compressed or, if compressed, the compression method and the module size before compression. The native information (3020) includes information indicating whether the program module is to be interpreted and executed.
The format in which the PU is directly executed is recorded. In the case of a program that is not executed by the virtual machine, the native information (3020) is unnecessary.

【0030】図10は、プログラム実行(図1の100
6)においてモジュール呼び出しが生じた場合の処理手
順を示すフロー図である。ステップ11000では、実
行頻度管理手段(22)に通知し、呼び出すプログラム
モジュールの実行頻度をカウントアップする。ステップ
11010では、呼び出すプログラムモジュールのモジ
ュール圧縮情報(3010)を参照し、圧縮されている
ならステップ11020へ移行し、圧縮されていないな
らステップ11030へ移行する。ステップ11020
では、モジュール圧縮情報(3010)から圧縮前のモ
ジュールサイズを得て、そのモジュールサイズだけ格納
できるメモリ領域を確保し、そのメモリ領域に当該プロ
グラムモジュールを展開する。そして、ステップ110
30へ移行する。
FIG. 10 shows a program execution (100 in FIG. 1).
It is a flowchart which shows the processing procedure when a module call arises in 6). In step 11000, the execution frequency management means (22) is notified and the execution frequency of the called program module is counted up. In step 11010, the process refers to the module compression information (3010) of the program module to be called, and if it is compressed, the process proceeds to step 11020, and if not compressed, the process proceeds to step 11030. Step 11020
Then, the module size before compression is obtained from the module compression information (3010), a memory area capable of storing the module size is secured, and the program module is expanded in the memory area. And step 110
Move to 30.

【0031】ステップ11030では、実行するプログ
ラムが仮想機械で実行される形式か否かを判定し、仮想
機械で実行される形式であればステップ11050へ移
行し、仮想機械で実行されない形式であればステップ1
1040へ移行する。ステップ11040では、呼び出
すプログラムモジュールを直接呼び出して、処理を終了
する。
In step 11030, it is determined whether or not the program to be executed is in a format to be executed in the virtual machine. If the program is to be executed in the virtual machine, the process proceeds to step 11050. Step 1
Move to 1040. In step 11040, the program module to be called is directly called, and the process ends.

【0032】ステップ1105では、呼び出すプログラ
ムモジュールのネイティブ化情報(3020)を参照
し、インタプリタ実行する形式ならステップ11060
へ移行し、CPU直接実行する形式ならステップ110
70へ移行する。
In step 1105, the program refers to the native information (3020) of the program module to be called.
To step 110 if the CPU is to execute directly
Move to 70.

【0033】ステップ11060では、呼び出すプログ
ラムモジュールをインタプリタモジュールを介して呼び
出して、処理を終了する。
In step 11060, the program module to be called is called via the interpreter module, and the process ends.

【0034】ステップ11070では、呼び出すプログ
ラムモジュールをCPUで直接実行するモジュール呼び
出し処理を介して呼び出して、処理を終了する。
In step 11070, the program module to be called is called via a module calling process in which the CPU directly executes the program module, and the process ends.

【0035】なお、メモリに余裕がなければ、展開した
プログラムモジュールは実行後に破棄する。メモリに余
裕があれば、展開したプログラムモジュールを保持して
再利用する(この場合、圧縮されたプログラムモジュー
ルを破棄してもよい)。
If there is not enough memory, the expanded program module is discarded after execution. If there is enough memory, the expanded program module is retained and reused (in this case, the compressed program module may be discarded).

【0036】プログラム実行(図1の1006)が終了
すると、実行頻度管理手段(22)で計測したプログラ
ムモジュール毎の実行頻度が、実行頻度送出手段(2
3)から実行頻度データとしてプログラム管理装置
(1)に送出される(図1の1007)。
When the program execution (1006 in FIG. 1) is completed, the execution frequency of each program module measured by the execution frequency management means (22) is transmitted to the execution frequency sending means (2).
3) is sent to the program management device (1) as execution frequency data (1007 in FIG. 1).

【0037】実行頻度データ送出(図1の1007)
は、次のいずれかのタイミングで行う。 (a)プログラム実行直後に実行頻度データを送信す
る。 (b)プログラム実行装置(2)が既に実行したことの
あるプログラムを再び実行するとき、実行頻度記録手段
(24)に格納している前回実行時に計測した実行頻度
データを、プログラム要求の他のパラメタと共に、送信
する。 (c)プログラム管理装置(1)に余裕があるときに又
は定期的に、プログラム管理装置(1)の実行頻度集計
手段(13)からプログラム管理装置(1)の実行頻度
送信手段(23)に命令を送り、それに答えて実行頻度
データを送信する。 (d)プログラム実行装置(2)に余裕があるとき又は
定期的に、プログラム実行装置(2)主導で実行頻度デ
ータを送信する。
Execution frequency data transmission (1007 in FIG. 1)
Is performed at one of the following timings. (A) Transmit execution frequency data immediately after program execution. (B) When the program execution device (2) re-executes a program that has already been executed, the execution frequency data measured in the previous execution stored in the execution frequency recording means (24) is used as another program request. Sent together with parameters. (C) When the program management device (1) has room or at regular intervals, the execution frequency totaling means (13) of the program management device (1) is sent to the execution frequency transmission means (23) of the program management device (1). Sends instructions and sends execution frequency data in response. (D) When the program execution device (2) has room or periodically, the execution frequency data is transmitted under the initiative of the program execution device (2).

【0038】上記(a)によれば、実行頻度記録手段
(24)を省略できる利点がある。上記(b)によれ
ば、必要な場合にだけ実行頻度データを送信するため、
通信を最少限に抑えうる利点がある。上記(c)(d)
によれば、プログラム要求が来てから実行頻度データを
更新するのではないため、プログラム要求からプログラ
ム実行までにかかる時間を短く出来る利点がある。ま
た、CPUのアイドル時に処理が行えるので、CPU時
間を有効に使用できる利点がある。
According to the above (a), there is an advantage that the execution frequency recording means (24) can be omitted. According to the above (b), since the execution frequency data is transmitted only when necessary,
There is an advantage that communication can be minimized. (C) and (d) above
According to the method, since the execution frequency data is not updated after the program request comes, there is an advantage that the time required from the program request to the program execution can be shortened. Further, since the processing can be performed when the CPU is idle, there is an advantage that the CPU time can be used effectively.

【0039】図11は、前記最適化手段(10)の処理
手順のフロー図である。ステップ12000では、各プ
ログラムモジュールの最適化特性(図5の1412)で
変換が指定されていたら当該プログラムモジュールの変
換を行い、圧縮が指定されていたら当該プログラムモジ
ュールの圧縮を行う。例えば、トランスレータの適用に
よって劇的に高速化が可能であるプログラムモジュール
は、その最適化特性で変換を指定しておくことが好まし
い。また、圧縮しても殆ど実行効率に影響を及ぼさない
プログラムモジュールは、その最適化特性で圧縮を指定
しておくことが好ましい。
FIG. 11 is a flowchart of the processing procedure of the optimizing means (10). In step 12000, if conversion is designated by the optimization characteristics (1412 in FIG. 5) of each program module, the program module is converted, and if compression is designated, the program module is compressed. For example, for a program module that can be dramatically accelerated by applying a translator, it is preferable that conversion is specified by its optimization characteristics. In addition, it is preferable that compression is specified by the optimization characteristic of a program module that hardly affects the execution efficiency even if it is compressed.

【0040】ステップ12005では、プログラム実行
装置(2)の使用可能メモリ量と前記ステップ1200
0での変換または圧縮後のプログラムサイズとを比較し
て、使用可能メモリ量の方が大きければステップ120
10へ移行し、実行するプログラムサイズの方が大きけ
ればステップ12050へ移行する。
In step 12005, the amount of available memory of the program execution device (2) and the aforementioned
If the usable memory amount is larger than the converted or compressed program size at step 120, the process proceeds to step 120.
Then, the process proceeds to step 12050 if the size of the program to be executed is larger.

【0041】ステップ12010では、プログラムが仮
想機械で実行される形式か否かを判定し、仮想機械で実
行される形式ならステップ12020へ移行し、仮想機
械で実行されない形式なら処理を終了する。ステップ1
2020では、まだ変換されていないプログラムモジュ
ールのうち実行頻度の最も高いプログラムモジュールを
トランスレータで変換する。但し、当該プログラムモジ
ュールの最適化特性(図5の1412)で変換が禁止さ
れていたら変換は行わない。例えば、トランスレータを
適用してもほとんど高速化が期待できないプログラムモ
ジュールは、その最適化特性で変換を禁止しておくこと
がありうる。ステップ12030では、使用可能メモリ
量と変換後のプログラムサイズとを比較して、使用可能
メモリ量の方が大きければ前記ステップ12020に戻
り、変換後のプログラムサイズの方が大きければステッ
プ12040へ移行する。ステップ120401では、
直前に変換したプログラムモジュールを変換前の形式に
戻す。そして、処理を終了する。
In step 12010, it is determined whether or not the program is of a format to be executed by the virtual machine. If the format is to be executed by the virtual machine, the process proceeds to step 12020. If the format is not to be executed by the virtual machine, the process is terminated. Step 1
In step 2020, the translator translates the most frequently executed program module among the program modules that have not been converted. However, if the conversion is prohibited by the optimization characteristic (1412 in FIG. 5) of the program module, the conversion is not performed. For example, a program module, for which almost no speedup can be expected even when a translator is applied, may be prohibited from conversion by its optimization characteristics. In step 12030, the available memory amount is compared with the converted program size. If the available memory amount is larger, the process returns to step 12020. If the converted program size is larger, the process proceeds to step 12040. . In step 120401,
Returns the previously converted program module to the format before conversion. Then, the process ends.

【0042】ステップ12050では、圧縮されていな
いプログラムモジュールのうち最も実行頻度の低いプロ
グラムモジュールに圧縮をかける。但し、当該プログラ
ムモジュールの最適化特性(図5の1412)で圧縮が
禁止されていたら圧縮は行わない。例えば、プログラム
のメインルーチンなどは一般に1度しか実行されず実行
頻度は少ないが、最初に実行されるため、このプログラ
ムモジュールを圧縮すると、展開のために、プログラム
の実行開始に時間がかかる。そこで、このようなプログ
ラムモジュールは、その最適化特性で圧縮を禁止してお
くことがありうる。なお、使用頻度の低いものほど高圧
縮率の圧縮アルゴリズム(つまり、展開に時間がかかる
アルゴリズム)で圧縮するようにしてもよい。ステップ
12060では、使用可能メモリ量と圧縮後のプログラ
ムサイズとを比較して、使用可能メモリ量の方が大きけ
れば処理を終了し、圧縮後のプログラムサイズの方が大
きければ前記ステップ12050に戻る。
In step 12050, the least frequently executed program module among the uncompressed program modules is compressed. However, if compression is prohibited by the optimization characteristic (1412 in FIG. 5) of the program module, compression is not performed. For example, the main routine of a program is generally executed only once and executed less frequently, but since it is executed first, if this program module is compressed, it takes time to start execution of the program due to expansion. Therefore, such a program module may be prohibited from being compressed by its optimization characteristics. Note that the less frequently used ones may be compressed by a compression algorithm with a higher compression ratio (that is, an algorithm that takes longer to expand). In step 12060, the available memory amount is compared with the program size after compression. If the available memory amount is larger, the process ends. If the compressed program size is larger, the process returns to step 12050.

【0043】なお、前記ステップ12020および12
050においては、プログラム実行装置(2)毎の実行
頻度の偏りを反映でき、より効率的な最適化が可能であ
るので、クライアント特性(142)中の実行頻度特性
(143C)を利用して実行頻度の順を判定する。そし
て、プログラム実行装置(2)が過去に当該プログラム
を実行したことがなく、実行頻度特性(143C)がな
い場合には、プログラム特性(141)中の実行頻度特
性(143P)を利用して実行頻度の順を判定する。
Note that the above steps 12020 and 1220
In 050, since the bias of the execution frequency for each program execution device (2) can be reflected and more efficient optimization can be performed, the execution is performed using the execution frequency characteristic (143C) in the client characteristic (142). Determine the order of frequency. If the program execution device (2) has not executed the program in the past and does not have the execution frequency characteristic (143C), the execution is performed using the execution frequency characteristic (143P) in the program characteristic (141). Determine the order of frequency.

【0044】図11の最適化手順によれば、使用可能メ
モリ量に応じて利用頻度の低いプログラムモジュールか
ら順に圧縮するため、少ない使用可能メモリ量でもプロ
グラムのロードおよび実行が可能になると共に、利用頻
度の高いプログラムモジュールは圧縮しないため、実行
速度の大幅な低下には至らない。また、プログラムが仮
想機械上で実行される場合は、利用可能メモリ量に応じ
て実行頻度の高いプログラムモジュールから順に即実行
可能な形式にトランスレータで変換するため、少ない使
用可能メモリ量でもトランスレータの使用が可能にな
り、実行速度を高めることが可能になる。さらに、最適
化特性を利用することによって、実行頻度が高いプログ
ラムモジュールはトランスレータで変換し、実行頻度が
低いプログラムモジュールは圧縮するといった、変換と
圧縮の混在が可能となる。
According to the optimization procedure shown in FIG. 11, since the program modules which are used less frequently are compressed in accordance with the available memory amount, the program can be loaded and executed with a small available memory amount. Frequently executed program modules are not compressed, so that the execution speed is not significantly reduced. Also, when a program is executed on a virtual machine, the translator converts the most frequently executed program modules into a form that can be immediately executed according to the amount of available memory. And the execution speed can be increased. Further, by utilizing the optimization characteristics, it is possible to perform a mixture of conversion and compression, such as converting a frequently executed program module by a translator and compressing a less frequently executed program module.

【0045】他の実施形態としては、クライアント特性
(142)を、プログラム実行装置(2)毎に管理する
代わりに、ユーザ毎に管理するものが挙げられる。この
場合、クライアント特性(142)をユーザの数だけ持
ち、ユーザ識別子をクライアント識別子(1420)と
すればよい。
In another embodiment, the client characteristics (142) are managed for each user instead of for each program execution device (2). In this case, it is sufficient to have the client characteristics (142) by the number of users and set the user identifier as the client identifier (1420).

【0046】[0046]

【発明の効果】本発明のプログラム実行最適化方法、プ
ログラム管理装置およびプログラム実行装置によれば、
プログラムの実行環境に応じて最適化したプログラムモ
ジュールと最適化しないプログラムモジュールとを混在
させるため、最適化による利点と欠点とをバランスさせ
ることが出来る。すなわち、プログラムの転送時間,実
行時間,メモり使用量などのバランスを考慮して、実行
環境に応じた最適化を行うことが出来る。
According to the program execution optimizing method, program management device and program execution device of the present invention,
Since program modules optimized according to the execution environment of the program and program modules not optimized are mixed, the advantages and disadvantages of the optimization can be balanced. That is, the optimization according to the execution environment can be performed in consideration of the balance between the transfer time of the program, the execution time, the memory usage, and the like.

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

【図1】本発明のプログラム実行最適化方法を実施する
計算機システムの構成および動作手順を示す説明図であ
る。
FIG. 1 is an explanatory diagram showing a configuration and an operation procedure of a computer system that executes a program execution optimizing method of the present invention.

【図2】図1中のプログラム管理装置の構成図である。FIG. 2 is a configuration diagram of a program management device in FIG. 1;

【図3】図1中のプログラム実行装置の構成図である。FIG. 3 is a configuration diagram of a program execution device in FIG. 1;

【図4】図2中の最適化手段の構成図である。FIG. 4 is a configuration diagram of an optimization unit in FIG. 2;

【図5】図1中のプログラム特性の構成図である。FIG. 5 is a configuration diagram of a program characteristic in FIG. 1;

【図6】図5中の実行頻度特性の構成図である。FIG. 6 is a configuration diagram of an execution frequency characteristic in FIG. 5;

【図7】図1中のクライアント特性の構成図である。FIG. 7 is a configuration diagram of client characteristics in FIG. 1;

【図8】図7中の実行頻度特性の構成図である。FIG. 8 is a configuration diagram of an execution frequency characteristic in FIG. 7;

【図9】実行されるプログラムモジュールの構成図であ
る。
FIG. 9 is a configuration diagram of a program module to be executed.

【図10】モジュール呼び出し処理のフロー図である。FIG. 10 is a flowchart of a module calling process.

【図11】図4の最適化手段の動作を示すフロー図であ
る。
FIG. 11 is a flowchart showing the operation of the optimization means of FIG. 4;

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

1 プログラム管路装置 2 プログラム実行装置 10 最適化手段 22 実行頻度管理手段 101 トランスレータ 102 圧縮手段 141 プログラム特性 142 クライアント特性 143C 実行頻度特性 143P 実行頻度特性 REFERENCE SIGNS LIST 1 program pipeline device 2 program execution device 10 optimization means 22 execution frequency management means 101 translator 102 compression means 141 program characteristics 142 client characteristics 143C execution frequency characteristics 143P execution frequency characteristics

───────────────────────────────────────────────────── フロントページの続き (72)発明者 横山 泰子 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 北川 健二 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 川端 律子 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B042 GA02 GA12 HH20 MA08 MC12 MC25 MC28 5B076 AB10 BA05 BB06 5B081 AA09 CC00 CC21 5B089 GA11 GA21 GB02 HA10 JA35 JB07 KA05 KB09 KB10 KC37 KC60 KH28 5J064 AA02 BA01 BB12 BD02 BD03 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Yasuko Yokoyama 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside Hitachi, Ltd.System Development Laboratory (72) Inventor Kenji Kitagawa 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Stock Company (72) Inventor Ritsuko Kawabata Ritsuko Kawabata 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture F-term (reference) 5B042 GA02 GA12 HH20 MA08 MC12 MC25 MC28 5B076 AB10 BA05 BB06 5B081 AA09 CC00 CC21 5B089 GA11 GA21 GB02 HA10 JA35 JB07 KA05 KB09 KB10 KC37 KC60 KH28 5J064 AA02 BA01 BB12 BD02 BD03

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 電子計算機上で実行されるプログラムを
構成する各プログラムモジュールの実行頻度および当該
プログラムモジュールを圧縮すべきか否かの指定を含む
最適化情報の少なくとも一方を基に圧縮するプログラム
モジュールを選択し、その選択したプログラムモジュー
ルのみ圧縮し、圧縮したプログラムモジュールと圧縮し
ないプログラムモジュールとを混在させたプログラムを
配布し、圧縮したプログラムモジュールは配布先で展開
して実行することを特徴とするプログラム実行最適化方
法。
A program module for compressing a program module based on at least one of an execution frequency of each program module constituting a program executed on an electronic computer and optimization information including designation of whether or not the program module should be compressed. A program characterized in that only a selected program module is compressed, a program in which a compressed program module and a non-compressed program module are mixed is distributed, and the compressed program module is expanded and executed in a distribution destination. Execution optimization method.
【請求項2】 仮想機械上で実行するプログラムを構成
する各プログラムモジュールの実行頻度および当該プロ
グラムモジュールを変換すべきか否かの指定を含む最適
化情報の少なくとも一方を基に変換するプログラムモジ
ュールを選択し、その選択したプログラムモジュールの
み実行環境で直接実行可能な形式に変換し、変換したプ
ログラムモジュールと変換しないプログラムモジュール
とを混在させたプログラムを配布し、変換しないプログ
ラムモジュールは配布先で変換して実行することを特徴
とするプログラム実行最適化方法。
2. A program module to be converted is selected based on at least one of an execution frequency of each program module constituting a program to be executed on the virtual machine and optimization information including designation of whether or not to convert the program module. Then, only the selected program module is converted into a format that can be directly executed in the execution environment, a program in which the converted program module and the non-converted program module are mixed is distributed, and the non-converted program module is converted at the distribution destination. A program execution optimizing method characterized by executing.
【請求項3】 プログラムを保持し、プログラム実行装
置からのプログラム要求に応じて前記プログラムを前記
プログラム実行装置に配布するプログラム管理装置であ
って、前記プログラムを構成する各プログラムモジュー
ルの実行頻度および当該プログラムモジュールの最適化
に関する情報の少なくとも一方を基に最適化するプログ
ラムモジュールを選択しその選択したプログラムモジュ
ールのみ最適化する最適化手段と、最適化したプログラ
ムモジュールと最適化しないプログラムモジュールとを
混在させたプログラムを前記プログラム実行装置に配布
するプログラム配布手段とを具備したことを特徴とする
プログラム管理装置。
3. A program management device for holding a program and distributing the program to the program execution device in response to a program request from the program execution device, the program management device comprising: A program module to be optimized based on at least one of the information related to the optimization of the program module is selected, and an optimization means for optimizing only the selected program module is mixed with an optimized program module and a non-optimized program module. And a program distribution means for distributing the program to the program execution device.
【請求項4】 請求項3に記載のプログラム管理装置に
おいて、前記最適化手段は、圧縮および仮想機械上で実
行する形式から実行環境で直接実行可能な形式への変換
の少なくとも一方により最適化するものであることを特
徴とするプログラム管理装置。
4. The program management device according to claim 3, wherein said optimizing means optimizes by at least one of compression and conversion from a format executed on a virtual machine to a format directly executable in an execution environment. A program management device, characterized in that:
【請求項5】 請求項3または請求項4に記載のプログ
ラム管理装置に対してプログラム要求を送り、配布され
たプログラムを実行するプログラム実行装置であって、
プログラムモジュール毎の実行頻度を計測する実行頻度
計測手段と、実行頻度の計測結果を前記プログラム管理
装置に通知する実行頻度通知手段とを具備したことを特
徴とするプログラム実行装置。
5. A program execution device that sends a program request to the program management device according to claim 3 or 4 and executes a distributed program.
A program execution device comprising: an execution frequency measurement unit that measures an execution frequency of each program module; and an execution frequency notification unit that notifies the program management device of a measurement result of the execution frequency.
JP26974599A 1999-09-24 1999-09-24 Program execution optimizing method and program managing device and program executing device Pending JP2001092671A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26974599A JP2001092671A (en) 1999-09-24 1999-09-24 Program execution optimizing method and program managing device and program executing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26974599A JP2001092671A (en) 1999-09-24 1999-09-24 Program execution optimizing method and program managing device and program executing device

Publications (1)

Publication Number Publication Date
JP2001092671A true JP2001092671A (en) 2001-04-06

Family

ID=17476574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26974599A Pending JP2001092671A (en) 1999-09-24 1999-09-24 Program execution optimizing method and program managing device and program executing device

Country Status (1)

Country Link
JP (1) JP2001092671A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986408B2 (en) 2001-12-20 2006-01-17 Mitsubishi Denki Kabushiki Kaisha Remotely controlled elevator operating apparatus
WO2006107095A1 (en) * 2005-03-31 2006-10-12 Nec Corporation Computer system, memory management method, and program thereof
US7237235B2 (en) * 2001-08-16 2007-06-26 Nec Corporation Application distribution system, and distribution server and distribution method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237235B2 (en) * 2001-08-16 2007-06-26 Nec Corporation Application distribution system, and distribution server and distribution method thereof
US6986408B2 (en) 2001-12-20 2006-01-17 Mitsubishi Denki Kabushiki Kaisha Remotely controlled elevator operating apparatus
WO2006107095A1 (en) * 2005-03-31 2006-10-12 Nec Corporation Computer system, memory management method, and program thereof
JP5071798B2 (en) * 2005-03-31 2012-11-14 日本電気株式会社 Computer system, memory management method, and program thereof
US8930659B2 (en) 2005-03-31 2015-01-06 Nec Corporation Computer system, memory management method and program thereof

Similar Documents

Publication Publication Date Title
JP4216722B2 (en) Method and system for offloading the execution and resources of a device having constraints on networked resources
US8332845B2 (en) Compile timing based on execution frequency of a procedure
US8010828B2 (en) Method of providing interoperatibility of different network devices capable of error handling and network device using the same
CN101436148B (en) Integrated client end and method for performing interaction of desktop application and network WEB application
CN110187912B (en) Node selection method and device
US10244068B2 (en) System and method for providing distributed caching in a transactional processing environment
CN106713469B (en) Dynamic loading method, device and system for distributed container
US20040107291A1 (en) Data processing system, data processing method, informaton processing device and information processing method, and storage medium
CN102323888A (en) A kind of diskless computer starts accelerated method
CN102255866A (en) Method and device for downloading data
EP1246059B1 (en) Dynamic interface aggregation on demand
CN111427557A (en) Application microservice method and device, electronic equipment and readable storage medium
CN112769945A (en) Distributed service calling method and device
US20090157896A1 (en) Tcp offload engine apparatus and method for system call processing for static file transmission
CN116560878B (en) Memory sharing method and related device
JP2005228183A (en) Program execution method and computer system for executing the program
KR100493893B1 (en) System and method of shortening class loading process in java program
CN111625344B (en) Resource scheduling system, method and device in application system
JP2001092671A (en) Program execution optimizing method and program managing device and program executing device
JPWO2004075048A1 (en) Native compilation method, native compilation preprocessing method, computer program, server, communication system, and mobile communication terminal device
CN113934437B (en) Method and system for installing application on cloud mobile phone and client cloud mobile phone
US8307133B2 (en) Method of providing interoperability of heterogeneous network devices and network device using the same
CN114595080A (en) Data processing method and device, electronic equipment and computer readable storage medium
CN107102901B (en) Task processing method and device
CN111399896B (en) Patch acquisition method, device, equipment and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060626