JPH06348666A - Program execution load distribution method in computer system - Google Patents

Program execution load distribution method in computer system

Info

Publication number
JPH06348666A
JPH06348666A JP13604993A JP13604993A JPH06348666A JP H06348666 A JPH06348666 A JP H06348666A JP 13604993 A JP13604993 A JP 13604993A JP 13604993 A JP13604993 A JP 13604993A JP H06348666 A JPH06348666 A JP H06348666A
Authority
JP
Japan
Prior art keywords
computer
class
execution
load
assigned
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
JP13604993A
Other languages
Japanese (ja)
Inventor
Akira Tanaka
晶 田中
Makoto Sano
真 佐野
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 JP13604993A priority Critical patent/JPH06348666A/en
Publication of JPH06348666A publication Critical patent/JPH06348666A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】本発明は、アプリケーションプログラムの実行
時にクラス毎にメソッドを低負荷の別の計算機に自動的
に割り当て実行させることにより負荷を分散させ、終了
時に割り当てたメソッドを別の計算機から消去する。 【構成】通信媒体20を介して複数の計算機が接続され
ている。ある計算機211のOS2110上でアプリケ
ーションプログラム22の実行中にメソッドが実行され
ると、負荷分散手段23は、そのメソッドの属するクラ
スがどの計算機にも割り当てられていないなら、低負荷
の計算機を検索し、そのクラスを割りあて、ぞのクラス
に属する全てのメソッドを転送する。そして、実行する
メソッドの属するクラスが他計算機に割り当てられた
ら、当該クラスに属するメソッドについては実行を当該
他の計算機に依頼し、そのメソッドの属するクラスが自
計算機に割り当てらたら当該クラスに属するメソッドに
ついては自計算機で実行する。アプリケーションプログ
ラム22が終了したら、負荷分散手段23は、他計算機
から、当該他計算機に割り当てたクラスに属するメソッ
ドをすべて消去する。
(57) [Summary] [Object] The present invention distributes the load by automatically allocating and executing the method for each class to another computer with a low load when the application program is executed, and separates the method allocated at the end. Erase from the calculator. [Structure] A plurality of computers are connected via a communication medium 20. When a method is executed while the application program 22 is running on the OS 2110 of a certain computer 211, the load balancing unit 23 searches for a low-load computer if the class to which the method belongs is not assigned to any computer. , Allocate that class and transfer all methods belonging to that class. Then, when the class to which the method to be executed belongs is assigned to another computer, the method belonging to that class is requested to the other computer to execute, and when the class to which the method belongs is assigned to the own computer, the method belonging to that class For this, execute it on your own computer. When the application program 22 ends, the load distribution unit 23 deletes from the other computer all the methods belonging to the class assigned to the other computer.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、通信媒体で接続された
複数の計算機を備えた分散計算機システムに関するもの
であり、特に、分散計算機システムにおけるアプリケー
ションプログラム実行の負荷を分散する技術に関するも
のである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed computer system including a plurality of computers connected by a communication medium, and more particularly to a technique for distributing the load of application program execution in the distributed computer system. .

【0002】[0002]

【従来の技術】従来、複数の計算機を通信媒体で接続し
た分散計算機システムにおけるアプリケーションプログ
ラム実行の負荷の分散化の技術としては、アプリケーシ
ョンプログラムをシステム内の複数の計算機にあらかじ
め備え、アプリケーションプログラム実行時に、これら
複数の計算機の中で最も実行効率がよいと思われる計算
機を特定し、その計算機に対して一括してアプリケーシ
ョンプログラムの実行を依頼する技術が知られている。
2. Description of the Related Art Conventionally, as a technique for distributing the load of executing an application program in a distributed computer system in which a plurality of computers are connected by a communication medium, an application program is provided in advance in a plurality of computers in a system and There is known a technique in which a computer which is considered to have the highest execution efficiency among these plural computers is specified, and the computer is requested to execute application programs collectively.

【0003】また、この他、特開平3-42765号公報や、
特開平2-285460号公報記載の技術が知られている。
In addition to this, Japanese Patent Laid-Open No. 3-42765 and
The technique described in JP-A-2-285460 is known.

【0004】この、特開平2-285460号公報記載の技術で
は、アプリケーションプログラム実行時に、システム内
の複数の計算機の中で最も実行効率がよいと思われる計
算機を特定し、その時点で、その計算機に対して一括し
てアプリケーションプログラムを転送し実行を依頼して
いる。
According to the technique disclosed in Japanese Patent Laid-Open No. 2-285460, when an application program is executed, a computer that seems to have the highest execution efficiency among a plurality of computers in the system is specified, and at that time, the computer is identified. The application programs are collectively transferred to and requested to be executed.

【0005】また、特開平3-42765号公報記載の技術で
は、あらかじめ、アプリケーションプログラムを所定の
処理単位に分割し、システム内の複数の計算機にあらか
じめ各処理単位を備える。そして、アプリケーションプ
ログラム実行中において該当する処理単位が呼び出され
たときに、実行コスト等を考慮して最も実行効率がよい
と思われる計算機を特定し、その計算機に対して、その
処理単位の実行を依頼している。
In the technique disclosed in Japanese Patent Laid-Open No. 3-42765, an application program is divided into predetermined processing units in advance, and a plurality of computers in the system are provided with each processing unit in advance. Then, when the corresponding processing unit is called during the execution of the application program, the computer that seems to have the best execution efficiency is specified in consideration of the execution cost, etc., and the execution of that processing unit is executed for that computer. I'm requesting.

【0006】[0006]

【発明が解決しようとする課題】これらの従来の方法に
おいては、次のような問題点がある。
However, these conventional methods have the following problems.

【0007】すなわち、他の計算機にアプリケーション
プログラムの実行を依頼する技術では、このアプリケー
ションプログラムを、あらかじめ実行を依頼する相手の
計算機に備えておかなければならない。したがい、負荷
を充分に分散させる各アプリケーションプログラムを分
散計算機システムを構成する各計算機に備えておかなけ
ればならないので、負荷分散のために要する各計算機の
資源量が過大となる。
That is, in the technique of requesting the execution of the application program to another computer, this application program must be prepared in advance on the other computer to which the execution is requested. Therefore, since each application program that sufficiently distributes the load must be provided in each computer that constitutes the distributed computer system, the resource amount of each computer required for load distribution becomes excessive.

【0008】また、特開平2-285460号公報記載の技術で
は、アプリケーションプログラムの規模が大きくなる
と、充分に各計算機に負荷を分散させることができなく
なる。
Further, in the technique disclosed in Japanese Patent Laid-Open No. 2-285460, when the scale of the application program becomes large, it becomes impossible to sufficiently distribute the load to each computer.

【0009】また、特開平3-42765号公報記載の技術で
は、アプリケーションプログラムが実行を依頼する処理
単位があらかじめ相手の計算機に備わっていなければな
らず、負荷分散のために要する各計算機の資源量が増大
する。また、さらに、処理単位の実行の依頼前に、処理
単位ごとの各計算機における処理実行コストを指定しな
ければならないが、この実行コストを管理するテーブル
の内容は、アプリケーションプログラムを実行する計算
機によって異なる値にならざるを得ない。したがい、ア
プリケーションプログラムを実行する計算機を、一の計
算機から他の計算機に代えるときには、このテ−ブルの
内容を再度作成せねばならない。よって、適宜、任意の
計算機で利用したいアプリケ−ションプログラムの負荷
分散には必ずしも適していない。
Further, in the technique disclosed in Japanese Patent Laid-Open No. 3-42765, the processing unit requested to be executed by the application program must be provided in advance in the other computer, and the resource amount of each computer required for load balancing. Will increase. Further, the processing execution cost in each computer for each processing unit must be specified before requesting the execution of the processing unit, but the contents of the table for managing this execution cost differ depending on the computer that executes the application program. It has to be a value. Therefore, when changing the computer that executes the application program from one computer to another computer, the contents of this table must be recreated. Therefore, it is not always suitable for load balancing of application programs that are desired to be used by any computer.

【0010】そこで、本発明は、負荷分散のために要す
る各計算機の資源量を増大させることなく、充分にアプ
リケ−ションプログラム実行の負荷を分散させることが
できる分散計算機システムを提供することを目的とす
る。
Therefore, an object of the present invention is to provide a distributed computer system capable of sufficiently distributing the load of application program execution without increasing the amount of resources of each computer required for load distribution. And

【0011】[0011]

【課題を解決するための手段】前記目的達成のために本
発明は、通信媒体を介して接続された2以上の計算機を
有する計算機システムにおいて、特定の計算機で実行さ
れるプログラムの実行の負荷を、前記特定の計算機を含
む複数の計算機に分散させる方法であって、前記特定の
計算機に、前記プログラムを構成する処理の単位である
処理単位を割り当てた計算機を、割り当てた処理単位に
関連付けて登録するテ−ブルを設けるステップと、前記
特定の計算機が、前記処理単位を順次実行するステップ
と、前記特定の計算機が前記処理単位を実行する際に、
前記テ−ブルを参照して、当該処理単位が割り当てられ
た計算機が存在するか否かを判断するステップと、処理
単位が割り当てられた計算機が存在しないと判断された
場合に、当該処理単位を前記複数の計算機の内の一の計
算機に割り当て、割り当てた計算機を割り当てた処理単
位に関連付けて前記テ−ブルに登録し、割り当てた計算
機に当該処理単位を前記特定の計算機より転送して実行
させるステップと、処理単位が割り当てられた計算機が
存在すると判断された場合には、当該計算機に当該処理
単位を実行させるステップと、前記特定の計算機が、前
記プログラムの実行を終了した際に、前記特定の計算機
より他の計算機に転送した処理単位をすべて、当該他の
計算機より消去し、前記テ−ブルを初期化するステップ
とを有することを特徴とする計算機システムにおけるプ
ログラム実行負荷分散方法を提供する。
In order to achieve the above-mentioned object, the present invention provides a computer system having two or more computers connected via a communication medium to reduce the load of execution of a program executed by a specific computer. A method of distributing to a plurality of computers including the specific computer, wherein a computer in which a processing unit that is a unit of processing configuring the program is assigned to the specific computer is registered in association with the assigned processing unit. The step of providing a table, the specific computer sequentially executes the processing unit, and when the specific computer executes the processing unit,
Referring to the table, a step of determining whether or not there is a computer to which the processing unit is assigned, and if it is determined that there is no computer to which the processing unit is assigned, Allocating to one of the plurality of computers, registering the allocated computer in the table in association with the allocated processing unit, and causing the allocated computer to transfer and execute the processing unit from the specific computer. Step, and when it is determined that there is a computer to which the processing unit is assigned, the step of causing the computer to execute the processing unit, and the specific computer when the specific computer finishes the execution of the program. Deleting all the processing units transferred from the other computer to the other computer and initializing the table. Providing program execution load distribution method in a computer system with symptoms.

【0012】なお、ここで、前記テ−ブルを、登録され
ている計算機に対応付けて、当該計算機に割り当てられ
た処理単位の実行に要した負荷量を登録可能なテ−ブル
とし、処理単位の実行の終了時に、当該処理単位が割り
当てられている計算機に対応づけられて既に登録されて
いる負荷量を、当該負荷量に前記実行を終了したメソッ
ドの実行に要した負荷量を加算した値に更新するステッ
プをさらに備え、前記処理単位の計算機への割り当て
は、前記テ−ブルに対応付けられてえ登録されている処
理単位の実行の負荷量の累積が最も小さい計算機に当該
処理単位を割り当てることにより行うようにしてもよ
い。
[0012] Here, the table is associated with a registered computer, and a load amount required for execution of the processing unit assigned to the computer is set as a registerable table. At the end of the execution of, the load amount that has already been registered in association with the computer to which the processing unit is assigned is the value obtained by adding the load amount required for executing the method that has finished execution to the load amount. Further, the allocation of the processing unit to the computer is performed by assigning the processing unit to the computer having the smallest cumulative load of execution of the processing unit registered in association with the table. It may be performed by allocating.

【0013】[0013]

【作用】本発明に係るプログラム実行負荷分散方法によ
れば、プログラムの実行中に自動的に各計算機に処理単
位が割り当てられるのであらかじめ処理単位を他の計算
機に備えておく必要はない。よって、プログラム作成者
および使用者は特に分散処理や実際に処理をする計算機
を意識することがない。また、アプリケーションプログ
ラムの終了時に他の計算機に割り当てた全ての処理単位
を消去するので資源の無駄遣いがなくなる。
According to the program execution load distribution method of the present invention, since a processing unit is automatically assigned to each computer during execution of a program, it is not necessary to prepare the processing unit in another computer in advance. Therefore, the program creator and the user are not particularly aware of the distributed processing or the computer that actually performs the processing. In addition, since all the processing units assigned to other computers are deleted when the application program ends, waste of resources is eliminated.

【0014】また、プログラム実行時に、処理単位の実
行負荷のみに基づいて割り当てる計算機を選択するの
で、分散計算機システムを構成する計算機で負荷は分散
し、また、プログラムをシステムのどの計算機上でも同
様に動作させることができる。
Further, since the computer to be assigned is selected based on only the execution load of the processing unit at the time of executing the program, the load is distributed among the computers constituting the distributed computer system, and the program is similarly distributed on any computer of the system. It can be operated.

【0015】[0015]

【実施例】以下、本発明に係る分散計算機システムの一
実施例を説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the distributed computer system according to the present invention will be described below.

【0016】図1に、本実施例に係る分散計算機システ
ムの構成を示す。
FIG. 1 shows the configuration of the distributed computer system according to this embodiment.

【0017】図示するように、計算機211、212、
213は通信媒体20を介して接続され分散計算機シス
テムを構成している。各計算機211、212、213
は、プロセッサ、記憶装置、通信制御装置等からなる標
準的な計算機である。さて、各計算機211、212、
213は、オペレ−ティングシステム(OS)211
0、2120、2130を備え、OS上でアプリケ−シ
ョンプログラムを実行する。たとえば、計算機211に
おいては、OS2110上でアプリケーションプログラ
ム22を実行する。各OS2110、2120、213
0は、アプリケーションプログラムの実行の負荷を分散
させるために負荷分散手段23、232、233をそれ
ぞれ備えている。たとえば、負荷分散手段23は、アプ
リケーションプログラム22の処理単位を、他の計算機
212、213の負荷分散手段232、233に転送
し、実行を依頼する。他の計算機212、213の負荷
分散手段232、233は、実行を依頼された処理単位
を実行し、結果を依頼元の負荷分散手段23に返す。
As shown, computers 211, 212,
A distributed computer system 213 is connected via the communication medium 20. Each computer 211, 212, 213
Is a standard computer including a processor, a storage device, a communication control device, and the like. Now, each computer 211, 212,
213 is an operating system (OS) 211
0, 2120, 2130, and executes the application program on the OS. For example, in the computer 211, the application program 22 is executed on the OS 2110. OS 2110, 2120, 213
0 includes load balancing means 23, 232, and 233, respectively, for balancing the load of execution of application programs. For example, the load distribution unit 23 transfers the processing unit of the application program 22 to the load distribution units 232 and 233 of the other computers 212 and 213 and requests execution. The load balancing units 232 and 233 of the other computers 212 and 213 execute the processing unit requested to be executed, and return the result to the load balancing unit 23 that made the request.

【0018】次に、アプリケ−ションプログラム22に
ついて説明する。
Next, the application program 22 will be described.

【0019】アプリケ−ションプログラム22は、オブ
ジェクト指向型のプログラミン言語で記述されたプログ
ラムである。本実施例では、「C++」として広く知ら
れているプログラミング言語によって記述している。
The application program 22 is a program written in an object-oriented programming language. In this embodiment, it is described by a programming language widely known as "C ++".

【0020】図2に、アプリケ−ションプログラム22
を示す。
FIG. 2 shows the application program 22.
Indicates.

【0021】図示するように、アプリケーションプログ
ラム220はクラスの定義51、52、53と、メイン
プログラム54とからなる。
As shown in the figure, the application program 220 comprises class definitions 51, 52, 53 and a main program 54.

【0022】ここで、図3を用いて、クラスについて説
明する。
Classes will be described with reference to FIG.

【0023】図3に示すように、クラスX10として定
義されたクラスは、データの定義の集合であるデータ部
11と、データを操作する演算であるメソッドの集合の
メソッド部12とからなる。データ部11は、クラス固
有のデータの定義111〜119からなり、メソッド部
12はデータを操作する処理単位であるメソッド121
〜129からなる。
As shown in FIG. 3, the class defined as the class X10 includes a data section 11 which is a set of data definitions and a method section 12 which is a set of methods which are operations for manipulating the data. The data section 11 includes class-specific data definitions 111 to 119, and the method section 12 is a method 121 which is a processing unit for operating the data.
~ 129.

【0024】図中のオブジェクト13、14はその型が
クラスX10であると宣言された変数である。オブジェ
クト13、14はクラス10のインスタンスを表現して
いるので、メソッド、データの定義は共通であるが、デ
ータ自体は、それぞれ固有のものを持つ。
Objects 13 and 14 in the figure are variables whose type is declared to be class X10. Since the objects 13 and 14 represent the instance of the class 10, the definition of the method and the data is common, but the data itself has its own.

【0025】さて、図2に戻り、このプログラムでは、
まず、クラスの定義51、52、53でそれぞれクラス
A、B、Cを定義している。メインプログラム54で
は、オブジェクトの宣言541、542、543でそれ
ぞれクラスAのオブジェクトc1、クラスBのオブジェ
クトc2、クラスCのオブジェクトc3が宣言される。
次に544は、オブジェクトc1に対して、オブジェク
トc1の属するクラスAのメソッドfunc1を実行す
ることを指定している。同様に、545は、オブジェク
トc2に対して、オブジェクトc2の属するクラスBの
メソッドfunc1を実行することを指定し、546は
オブジェクトc1に対して、オブジェクトc1の属する
クラスAのメソッドfunc2を実行することを指定し
ている。
Now, returning to FIG. 2, in this program,
First, class definitions 51, 52, and 53 define classes A, B, and C, respectively. In the main program 54, object declarations 541, 542, and 543 declare a class A object c1, a class B object c2, and a class C object c3, respectively.
Next, 544 specifies that the method func1 of the class A to which the object c1 belongs is executed for the object c1. Similarly, 545 specifies that the method func1 of the class B to which the object c2 belongs is executed on the object c2, and 546 executes the method func2 of the class A to which the object c1 belongs on the object c1. Is specified.

【0026】さて、OS2110は、このようなアプリ
ケーションプログラム22を逐次実行するが、この際、
前述したような負荷の分散を実現するのが、負荷分散手
段23、232、233である。
Now, the OS 2110 sequentially executes such an application program 22. At this time,
The load distribution means 23, 232, 233 realize the load distribution as described above.

【0027】図4に、負荷分散手段23の機能構成を示
す。なお、負荷分散手段232、233も、同じ構成を
有している。
FIG. 4 shows a functional configuration of the load distribution means 23. The load balancing means 232 and 233 also have the same configuration.

【0028】図4において、通信制御手段30は、通信
媒体20に接続されており、計算機間の通信を行う。記
憶部31は、自計算機上で実行するアプリケ−ションプ
ログラムとオブジェクトと、他の計算機より自計算機に
割り当てられたクラスのメソッド部と他の計算機より自
計算機に送られたオブジェクトのデータを記憶する。ク
ラス管理部32は、自計算機に割り当てられているクラ
スの情報を記憶する。メソッド実行手段33は、クラス
管理部32の情報を元に記憶部31にあるメソッドを実
行する。メソッド実行依頼手段34は、通信制御手段3
0を介して指定された計算機にメソッド実行を依頼し実
行結果を得る。クラス転送手段35は、通信制御手段3
0を介して指定された計算機にクラスのメソッド部を転
送する。クラス消去依頼手段36は、通信制御手段30
を介して指定された計算機に、指定されたクラスのメソ
ッド部の消去を依頼する。メソッド代理実行手段37
は、通信制御手段30を介してメソッド実行依頼手段3
4から依頼されたメソッドの実行を、メソッド実行手段
33を呼び出し実現する。クラス格納手段38は、通信
制御手段30を介してクラス転送手段35により転送さ
れたメソッド部を、記憶部31に記憶する。クラス消去
手段39は、通信制御手段30を介してクラス消去依頼
手段36から指定されたクラスのメソッド部を、記憶部
31から消去する。負荷管理部40は、メソッド実行依
頼手段34およびメソッド実行手段33が実行したメソ
ッドの属するクラスに関する負荷情報を管理する。実行
選択手段41は、アプリケーションプログラムからある
クラス内のメソッドが初めて呼び出されるときには、負
荷管理部40の情報に基づき負荷の低い計算機を指定
し、クラス転送手段35を呼び出しクラスのメソッド部
を転送する手段、および、既にメソッドの属するクラス
がクラス転送手段35により転送されている場合にアプ
リケーションプログラムからメソッドが呼び出されると
きには負荷管理部40の情報に基づきメソッドの属する
クラスがどの計算機にあるかを指定し、指定された計算
機が自計算機のときにはメソッド実行手段33を呼び出
し、他の計算機のときにはメソッド実行依頼手段34を
呼び出し負荷管理部40の情報を更新する手段を含むも
のである。プログラム終了手段42は、負荷管理部40
の情報に基づきクラスと計算機を指定し、クラス消去依
頼手段36を呼び出し、負荷管理部40からクラスを消
去することを、負荷管理部40に記憶されたクラスがす
べて消去されるまで繰り返す。
In FIG. 4, the communication control means 30 is connected to the communication medium 20 and performs communication between computers. The storage unit 31 stores an application program and an object to be executed on the own computer, a method part of a class assigned to the own computer by another computer, and data of an object sent to the own computer from another computer. . The class management unit 32 stores information on the class assigned to its own computer. The method execution means 33 executes the method in the storage unit 31 based on the information of the class management unit 32. The method execution request means 34 is the communication control means 3
The method execution is requested to the specified computer via 0 and the execution result is obtained. The class transfer means 35 is the communication control means 3
Transfer the method part of the class to the specified computer via 0. The class deletion request means 36 is the communication control means 30.
Request the deletion of the method part of the specified class to the specified computer via. Method proxy execution means 37
Is the method execution requesting means 3 via the communication control means 30.
The method execution means 33 is executed to execute the method requested by the method 4. The class storage unit 38 stores the method unit transferred by the class transfer unit 35 via the communication control unit 30 in the storage unit 31. The class deleting unit 39 deletes the method unit of the class designated by the class deleting requesting unit 36 from the storage unit 31 via the communication control unit 30. The load management unit 40 manages load information regarding the class to which the method executed by the method execution requesting unit 34 and the method executing unit 33 belongs. When the method in a certain class is called from the application program for the first time, the execution selection means 41 specifies a computer with a low load based on the information of the load management part 40, and calls the class transfer means 35 to transfer the method part of the class. , And when the method to be called from the application program when the class to which the method belongs has already been transferred by the class transfer means 35, which computer the class to which the method belongs to is specified based on the information of the load management unit 40. When the designated computer is the self computer, the method execution means 33 is called, and when the designated computer is another computer, the method execution requesting means 34 is called and the information of the load management unit 40 is updated. The program termination means 42 is the load management unit 40.
The class and the computer are designated based on the information of 1., the class deletion requesting unit 36 is called, and the class is deleted from the load management unit 40 until all the classes stored in the load management unit 40 are deleted.

【0029】以下、図4に示した負荷分散手段の各部の
詳細について説明する。
The details of each part of the load distribution means shown in FIG. 4 will be described below.

【0030】まず、前記負荷管理部40は、図5に示す
ように、クラス名401、クラス401のメソッドを実
行する計算機名402、クラス401の全てのメソッド
の実行時間の総和である処理時間403、計算機でクラ
ス401を識別するための識別番号404を記憶するテ
−ブルからなる。
First, the load management unit 40, as shown in FIG. 5, has a class name 401, a computer name 402 for executing a method of the class 401, and a processing time 403 which is the sum of execution times of all methods of the class 401. , A table storing an identification number 404 for identifying the class 401 by a computer.

【0031】また、クラス管理部32は、図6に示すよ
うに、クラス管理部32は、クラス名321、計算機内
でのクラス321の識別番号322を記憶するテ−ブル
から成る。
As shown in FIG. 6, the class management unit 32 is composed of a table that stores a class name 321 and an identification number 322 of the class 321 in the computer.

【0032】次に、実行選択手段41は、実行すべきメ
ソッド名とそのクラスを引数として呼び出され、図7に
示すフローチャートに従った処理を行う手段である。
Next, the execution selection means 41 is a means which is called with the method name to be executed and its class as arguments and performs the processing according to the flowchart shown in FIG.

【0033】すなわち、実行選択手段41は、まず、負
荷管理部40のクラス名401からクラスを検索する
(ステップ10010)。クラス名を検索できたかどう
か調べ(10020)、検索できた場合は、クラス名に
対応する計算機名402を得て計算機を特定する(10
070)。
That is, the execution selection means 41 first searches for a class from the class name 401 of the load management unit 40 (step 10010). It is checked whether or not the class name can be searched (10020). If the class name can be searched, the computer name 402 corresponding to the class name is obtained and the computer is specified (10).
070).

【0034】検索出来なかった場合は、負荷管理部40
の計算機名402ごとに処理時間403の総和を求め、
最も処理時間の総和が少ない計算機を特定し(1003
0)、それが自計算機かどうか調べ(10040)、自
計算機でないならクラス転送手段35を呼び出し(10
050)て、実行すべきメソッドの属するクラスのメソ
ッド部の転送を依頼する。そして、転送したメソッド部
のクラス名と転送した計算機名を負荷管理部40のクラ
ス名401、計算機名402へ登録し、処理時間403
を初期化する(10060)。
If the search is not successful, the load management unit 40
The sum of processing times 403 is calculated for each computer name 402 of
The computer with the smallest total processing time is specified (1003
0), it is checked whether it is the own computer (10040), and if it is not the own computer, the class transfer means 35 is called (10).
050) to request the transfer of the method part of the class to which the method to be executed belongs. Then, the class name of the transferred method part and the transferred computer name are registered in the class name 401 and the computer name 402 of the load management part 40, and the processing time 403
Are initialized (10060).

【0035】メソッドを実行するマシンが特定できる
と、それが自計算機か別の計算機を判別し(1008
0)、自計算機ならメソッド実行手段33を呼び出し自
計算機でメソッドを実行させ(10090)、そうでな
いならメソッド実行依頼手段34を呼び出し別の計算機
でメソッドを実行させる(10100)。
When the machine that executes the method can be specified, it determines whether it is the self-computer or another computer (1008).
0), if it is the own computer, the method execution means 33 is called and the method is executed by the own computer (10090), and if not, the method execution requesting means 34 is called and the method is executed by another computer (10100).

【0036】この後、メソッド実行手段33もしくはメ
ソッド実行依頼手段34から、メソッドの実行時間が戻
って来るので、それをメソッドのクラスに対応する負荷
管理部40の処理時間403に加え(10110)、処
理を呼び出し元へ戻す。
After that, since the method execution time is returned from the method execution means 33 or the method execution request means 34, it is added to the processing time 403 of the load management unit 40 corresponding to the method class (10110), Return the process to the caller.

【0037】次に、クラス転送手段35は、相手計算機
名とクラス名を引数として呼び出され、図8に示すフロ
ーチャートに従った処理を実行する手段である。
Next, the class transfer means 35 is a means that is called with the partner computer name and the class name as arguments and executes the processing according to the flowchart shown in FIG.

【0038】すなわち、クラス転送手段35は、まず、
記憶部31より相手計算機のクラス格納手段38に対し
てクラスのメソッド部を転送し(15010)、戻って
きた識別番号を戻り値として返し(15020)、処理
を呼び出し元へ戻す。
That is, the class transfer means 35 firstly
The method part of the class is transferred from the storage part 31 to the class storage means 38 of the partner computer (15010), the returned identification number is returned as a return value (15020), and the process is returned to the calling source.

【0039】次に、クラス格納手段38は、図9に示す
フロチャ−トに従った処理を行う手段である。
Next, the class storing means 38 is means for performing processing according to the flowchart shown in FIG.

【0040】すなわち、クラス格納手段38は、別の計
算機から転送されてきたメソッド部を記憶部31に格納
し(13010)、メソッド部のクラス名をクラス管理
部32のクラス名321に登録し、それに対応する識別
番号322を戻り値として返し(13020)、処理を
呼び出し元へ戻す。
That is, the class storage means 38 stores the method part transferred from another computer in the storage part 31 (13010), registers the class name of the method part in the class name 321 of the class management part 32, The corresponding identification number 322 is returned as a return value (13020), and the process is returned to the calling source.

【0041】次に、メソッド実行手段33は、メソッド
名とそのクラスを計算機が識別するための識別番号とを
引数として呼び出され、図10に示すフローチャートに
従った処理を行う手段である。
Next, the method executing means 33 is a means that is called with the method name and the identification number for the computer to identify the class as an argument, and performs the processing according to the flowchart shown in FIG.

【0042】メソッド実行手段33は、まず、メソッド
のクラスをクラス管理部32の識別番号322より対応
するクラス名321を選択しクラスを特定する(110
10)。そして、記憶部31に記憶されている、特定し
たクラスの引数として渡されたメソッド名に対応するメ
ソッドを、記憶部31に記憶されているオブジェクトの
データを用いて実行する(11020)。そして、実行
結果と実行時間を戻り値とし(11030)、処理を呼
び出し元へ戻す。
The method executing means 33 first selects a class name 321 corresponding to the method class from the identification number 322 of the class management section 32 and specifies the class (110).
10). Then, the method corresponding to the method name passed as the argument of the specified class stored in the storage unit 31 is executed using the object data stored in the storage unit 31 (11020). Then, the execution result and the execution time are set as return values (11030), and the process is returned to the calling source.

【0043】次にメソッド実行依頼手段34は、相手計
算機名とメソッド名とそのクラスを計算機が識別する識
別番号を引数として呼び出され、図11に示すフローチ
ャートに従った処理を実行する手段である。
Next, the method execution requesting means 34 is a means which is called with the identification number for the computer to identify the name of the partner computer, the method name, and the class thereof, and executes the processing according to the flow chart shown in FIG.

【0044】すなわち、メソッド実行依頼手段34は、
まず、メソッド名とクラスの識別番号とを引数として通
信制御手段30を介して相手計算機のメソッド代理実行
手段37を呼び出す(14010)。また、このとき、
メソッドの実行に必要なデータ(オブジェクトのデー
タ)を記憶部31より読みだしてメソッド代理実行手段
37に渡す。そして、相手計算機のメソッド代理実行手
段37から、戻ってきた実行結果と実行時間を戻り値と
して返し(14020)、処理を呼び出し元へ戻す。
That is, the method execution requesting means 34
First, the method proxy execution means 37 of the partner computer is called via the communication control means 30 with the method name and the class identification number as arguments (14010). Also, at this time,
The data (object data) required to execute the method is read from the storage unit 31 and passed to the method proxy execution unit 37. Then, from the method proxy execution means 37 of the partner computer, the returned execution result and execution time are returned as return values (14020), and the process is returned to the calling source.

【0045】次に、メソッド代理実行手段37は、メソ
ッド名とそのクラスを相手計算機が識別する番号とを引
数として呼び出され、図12に示すフローチャートに従
った処理を行う手段である。
Next, the method proxy execution means 37 is a means that is called with the method name and the number by which the other computer identifies the class as an argument, and performs the processing according to the flow chart shown in FIG.

【0046】メソッド代理実行手段37は、まず、渡さ
れたメソッドの実行に必要なデータ(オブジェクトのデ
ータ)を記憶部31に記憶し、識別番号とメソッド名と
を引数としてメソッド実行手段33を呼び出す(120
10)。そして、メソッド実行手段33から実行結果と
実行時間が戻ってきたら、これを戻り値とし(1202
0)、処理を呼び出し元へ戻す。また、このとき、記憶
部31に記憶したメソッドの実行に必要なデータ(オブ
ジェクトのデータ)を消去する。
The method proxy execution means 37 first stores the data (object data) necessary for executing the passed method in the storage portion 31, and calls the method execution means 33 with the identification number and the method name as arguments. (120
10). Then, when the execution result and the execution time are returned from the method execution means 33, this is set as a return value (1202
0), the process is returned to the calling source. At this time, the data (object data) necessary for executing the method stored in the storage unit 31 is deleted.

【0047】次に、プログラム終了手段は、動作を図1
3のフローチャートに従った処理を行う手段である。
Next, the program terminating means operates as shown in FIG.
It is a means for performing processing according to the flowchart of FIG.

【0048】プログラム終了手段42は、呼びだされる
と、まず、負荷管理部40のクラス名401、計算機名
402、識別番号404を得て(16010)、クラス
名がある間(16020)、計算機名が自計算機かどう
かを調べ(16030)、自計算機ならば識別番号を引
数としてクラス消去手段を呼び出し(16040)、そ
うでなければ計算機名と識別番号を引数としてクラス消
去依頼手段36を呼び出し(16050)、負荷管理部
40のクラス名401、計算機名402、処理時間40
3、識別番号404を削除する(16050)。クラス
名がなくなったら処理を呼び出し元へ戻す。
When called, the program terminating means 42 first obtains the class name 401, computer name 402, and identification number 404 of the load management unit 40 (16010), and while the class name exists (16020), the computer It is checked whether the name is the own computer (16030), and if it is the own computer, the class erasing means is called with the identification number as an argument (16040), otherwise, the class erasing request means 36 is called with the computer name and the identification number as the arguments ( 16050), class name 401 of load management unit 40, computer name 402, processing time 40
3, the identification number 404 is deleted (16050). When the class name is gone, the process is returned to the caller.

【0049】次に、クラス消去手段39は、識別番号を
引数にして呼び出され、図14に示すフローチャートに
従った処理を行う手段である。
Next, the class erasing means 39 is a means which is called by using the identification number as an argument and performs processing in accordance with the flowchart shown in FIG.

【0050】すなわち、クラス消去手段39は、クラス
管理部32の識別番号322から識別番号を検索し対応
するクラス名321からクラスを特定し(1701
0)、そのクラスが他の計算機より割り当てられたもの
であるならば、転送され記憶部31に格納された当該ク
ラスのメソッド部を削除する(17020)。また、ク
ラス管理部32のクラス名321、番号322から、当
該クラス、識別番号を削除し(17030)、処理を呼
び出し元へ戻す。
That is, the class erasing means 39 retrieves the identification number from the identification number 322 of the class management section 32 and specifies the class from the corresponding class name 321 (1701).
0) If the class is assigned by another computer, the method part of the class transferred and stored in the storage unit 31 is deleted (17020). Further, the class and the identification number are deleted from the class name 321 and the number 322 of the class management unit 32 (17030), and the process is returned to the calling source.

【0051】次に、クラス消去依頼手段36は、相手計
算機名と識別番号を引数にして呼び出され図15に示す
フローチャートに従った処理を行う手段である。
Next, the class erasure request means 36 is a means which is called with the partner computer name and the identification number as arguments and performs the processing according to the flowchart shown in FIG.

【0052】すなわち、クラス消去依頼手段36は、ま
ず、通信制御手段30を介して相手計算機のクラス消去
手段39を呼び出し(18010)、処理を呼び出し元
へ戻す。
That is, the class erasing request means 36 first calls the class erasing means 39 of the partner computer via the communication control means 30 (18010) and returns the process to the calling source.

【0053】以下、本実施例に係る分散計算機システム
のアプリケ−ションプログラムの実行動作について説明
する。
The execution operation of the application program of the distributed computer system according to this embodiment will be described below.

【0054】まず、図16に、OS2110が、アプリ
ケ−ションプログラム22の実行のために行う処理手順
を示す。
First, FIG. 16 shows a processing procedure performed by the OS 2110 to execute the application program 22.

【0055】図示するように、OS2110は、まず、
記憶部31に記憶されているアプリケーションプログラ
ム22のメインプログラム54を順次実行する(190
40)。処理の途中でメソッドの実行が起きたら(19
010)、メソッド名とクラス名を引数とし負荷分散手
段23の実行選択手段41を呼び出す(19020)。
また、メインプログラムがが終了したら(19030)
はプログラム終了手段42を呼び出す(19050)。
As shown in the figure, the OS 2110 first
The main program 54 of the application program 22 stored in the storage unit 31 is sequentially executed (190
40). If method execution occurs during processing (19
010), using the method name and the class name as arguments, the execution selection unit 41 of the load distribution unit 23 is called (19020).
When the main program ends (19030)
Calls the program terminating means 42 (19050).

【0056】このようなOS2110の動作によって図
2に示したアプリケ−ションプログラム22を実行する
場合の、各部の動作を次のようになる。
The operation of each part when the application program 22 shown in FIG. 2 is executed by the operation of the OS 2110 is as follows.

【0057】まず、アプリケーションプログラム22メ
インプログラム54が逐次実行される。図17はアプリ
ケーションプログラム22実行開始直前の分散計算機シ
ステムの状態を表す。
First, the application program 22 main program 54 is sequentially executed. FIG. 17 shows the state of the distributed computer system immediately before the execution of the application program 22 is started.

【0058】まず、オブジェクトの宣言541、54
2、543でそれぞれクラスAのオブジェクトc1、ク
ラスBのオブジェクトc2、クラスCのオブジェクトc
3が宣言される。次に、544はメソッドなので実行選
択手段41が呼び出される。実行選択手段41はメソッ
ド544がクラスAのメソッドでありクラスAが負荷管
理部641のクラス名6411にないのでクラスAを割
り当てる計算機を決定する。
First, object declarations 541 and 54
2 and 543, respectively, an object c1 of class A, an object c2 of class B, an object c of class C
3 is declared. Next, since 544 is a method, the execution selection means 41 is called. Since the method 544 is the method of the class A and the class A is not in the class name 6411 of the load management unit 641, the execution selection unit 41 determines the computer to which the class A is assigned.

【0059】負荷管理部641には何も情報がないので
ランダムに決定し計算機611に割り当てることにす
る。計算機611はアプリケーションプログラム22を
実行している計算機なのでクラスのメソッドを転送する
必要はない。
Since the load management section 641 has no information, it is decided at random and assigned to the computer 611. Since the computer 611 is a computer executing the application program 22, it is not necessary to transfer the method of the class.

【0060】クラスAと計算機611を負荷管理部64
1のクラス名6411、計算機名6412へ記憶し処理
時間6413を初期化する。そして実行選択手段41は
メソッド実行手段33を呼び出す。メソッド実行手段3
3はメソッド544を実行し実行結果と処理時間を返
す。実行選択手段41は返ってきた処理時間を負荷管理
部641の処理時間6413のクラスAに対応したもの
に加える。実行選択手段はメソッド実行結果をアプリケ
ーションプログラム22へ返す。この時点での分散計算
機システムの状態を示したのが図18である。
The class A and the computer 611 are connected to the load management unit 64.
A class name 6411 of 1 and a computer name 6412 are stored and the processing time 6413 is initialized. Then, the execution selection means 41 calls the method execution means 33. Method execution means 3
3 executes the method 544 and returns the execution result and the processing time. The execution selection unit 41 adds the returned processing time to the processing time 6413 of the load management unit 641 corresponding to the class A. The execution selection means returns the method execution result to the application program 22. FIG. 18 shows the state of the distributed computer system at this point.

【0061】次に図2の545が実行される。545は
メソッドなので実行選択手段41が呼び出される。実行
選択手段41はメソッド545がクラスBのメソッドで
ありクラスBが負荷管理部641のクラス名6411に
ないのでクラスBを割り当てる計算機を決定する。負荷
管理部641の計算機名6412、処理時間6413よ
り計算機612、613の処理時間が0なのでこの2つ
からランダムに決定し計算機613に割り当てることに
する。計算機613はアプリケーションプログラム22
を実行している計算機611ではないのでクラス転送手
段35を呼び出す。クラス転送手段35は通信制御手段
30を介して計算機613のクラス格納手段38に対し
てクラスBのメソッド部を転送する。クラス格納手段3
8は転送されたメソッド部を記憶部653へ格納しクラ
スBをクラス管理部663のクラス名6631へ記憶し
クラスBの識別番号を決定し識別番号6632へ記憶し
その値を返す。実行選択手段41は返ってきた識別番号
とクラスBと計算機613を負荷管理部641の識別番
号6414、クラス名6411、計算機名6412へ記
憶し処理時間6413を初期化する。
Next, step 545 of FIG. 2 is executed. Since 545 is a method, the execution selection unit 41 is called. Since the method 545 is the method of the class B and the class B is not in the class name 6411 of the load management unit 641, the execution selection unit 41 determines the computer to which the class B is assigned. Since the processing time of the computers 612 and 613 is 0 from the computer name 6412 of the load management unit 641 and the processing time 6413, it is decided randomly from these two and assigned to the computer 613. The computer 613 is the application program 22.
Since it is not the computer 611 that is executing the above, the class transfer means 35 is called. The class transfer means 35 transfers the method part of the class B to the class storage means 38 of the computer 613 via the communication control means 30. Class storage means 3
8 stores the transferred method part in the storage part 653, stores the class B in the class name 6631 of the class management part 663, determines the identification number of the class B, stores it in the identification number 6632, and returns the value. The execution selection means 41 stores the returned identification number, class B and computer 613 in the identification number 6414, class name 6411 and computer name 6412 of the load management unit 641 and initializes the processing time 6413.

【0062】そして実行選択手段41はメソッド実行依
頼手段34を呼び出す。メソッド実行依頼手段34は通
信制御手段30を介して計算機613のメソッド代理実
行手段37を呼び出す。メソッド代理実行手段37はメ
ソッド545指定しメソッド実行手段を呼び出す。メソ
ッド実行手段はメソッド545を実行し実行結果と処理
時間を返す。実行選択手段41は返ってきた処理時間を
負荷管理部641の処理時間6413のクラスBに対応
したものに加える。実行選択手段はメソッド実行結果を
アプリケーションプログラム22へ返す。この時点での
分散計算機システムの状態を示したのが図19である。
Then, the execution selecting means 41 calls the method execution requesting means 34. The method execution requesting means 34 calls the method proxy executing means 37 of the computer 613 via the communication control means 30. The method proxy execution means 37 specifies the method 545 and calls the method execution means. The method execution means executes the method 545 and returns the execution result and the processing time. The execution selection means 41 adds the returned processing time to the processing time 6413 of the load management unit 641 corresponding to the class B. The execution selection means returns the method execution result to the application program 22. FIG. 19 shows the state of the distributed computer system at this point.

【0063】次に図2の546が実行される。546は
メソッドなので実行選択手段41が呼び出される。実行
選択手段41はメソッド546がクラスAのメソッドで
あるので負荷管理部641のクラス名6411、計算機
名6412を検索しクラスAのメソッド部が計算機61
1に割り当てられていることを知る。計算機611はア
プリケーションプログラム22を実行している計算機6
11(自計算機)なので実行選択手段41はメソッド実
行手段を呼び出す。メソッド実行手段33はメソッド5
46を実行し実行結果と処理時間を返す。実行選択手段
41は返ってきた処理時間を負荷管理部641の処理時
間6413のクラスAに対応したものに加える。実行選
択手段はメソッド実行結果をアプリケーションプログラ
ム22へ返す。この時点での分散計算機システムの状態
を示したのが図20である。
Next, step 546 of FIG. 2 is executed. Since 546 is a method, the execution selection unit 41 is called. Since the method 546 is the method of the class A, the execution selection means 41 searches the class name 6411 and the computer name 6412 of the load management unit 641 and the method section of the class A finds the computer 61.
Know that it is assigned to 1. The computer 611 is the computer 6 that is executing the application program 22.
Since it is 11 (own computer), the execution selection means 41 calls the method execution means. Method executing means 33 is method 5
46 is executed and the execution result and the processing time are returned. The execution selection unit 41 adds the returned processing time to the processing time 6413 of the load management unit 641 corresponding to the class A. The execution selection means returns the method execution result to the application program 22. FIG. 20 shows the state of the distributed computer system at this point.

【0064】次に、図2の547が実行される。547
はメソッドなので実行選択手段41が呼び出される。実
行選択手段41はメソッド547がクラスCのメソッド
でありクラスCが負荷管理部641のクラス名6411
にないのでクラスCを割り当てる計算機を決定する。負
荷管理部641の計算機名6412、処理時間6413
より計算機612の処理時間が0で最低値なので計算機
612に割り当てることにする。計算機612はアプリ
ケーションプログラム22を実行している計算機611
ではないのでクラス転送手段35を呼び出す。クラス転
送手段35は通信制御手段30を介して計算機612の
クラス格納手段38に対してクラスCのメソッド部を転
送する。クラス格納手段38は転送されたメソッド部を
記憶部653へ格納しクラスCをクラス管理部663の
クラス名6631へ記憶しクラスCの識別番号を決定し
識別番号6632へ記憶しその値を返す。実行選択手段
41は返ってきた識別番号とクラスCと計算機612を
負荷管理部641の識別番号6414、クラス名641
1、計算機名6412へ記憶し処理時間6413を初期
化する。そして実行選択手段41はメソッド実行依頼手
段34を呼び出す。メソッド実行依頼手段34は通信制
御手段30を介して計算機612のメソッド代理実行手
段37を呼び出す。メソッド代理実行手段37はメソッ
ド545指定しメソッド実行手段を呼び出す。メソッド
実行手段はメソッド545を実行し実行結果と処理時間
を返す。実行選択手段41は返ってきた処理時間を負荷
管理部641の処理時間6413のクラスBに対応した
ものに加える。実行選択手段はメソッド実行結果をアプ
リケーションプログラム22へ返す。この時点での分散
計算機システムの状態を示したのが図21である。
Next, 547 of FIG. 2 is executed. 547
Is a method, the execution selection means 41 is called. In the execution selection unit 41, the method 547 is a method of the class C, and the class C is the class name 6411 of the load management unit 641.
Since it does not exist, the computer to which class C is assigned is determined. Computer name 6412 of the load management unit 641, processing time 6413
Since the processing time of the computer 612 is 0, which is the lowest value, it is assigned to the computer 612. The computer 612 is the computer 611 executing the application program 22.
Therefore, the class transfer means 35 is called. The class transfer means 35 transfers the method part of the class C to the class storage means 38 of the computer 612 via the communication control means 30. The class storage means 38 stores the transferred method part in the storage part 653, stores the class C in the class name 6631 of the class management part 663, determines the identification number of the class C, stores it in the identification number 6632, and returns the value. The execution selection means 41 sets the returned identification number, class C, and computer 612 to the identification number 6414 of the load management unit 641 and class name 641.
1. Store in the computer name 6412 and initialize the processing time 6413. Then, the execution selecting means 41 calls the method execution requesting means 34. The method execution requesting means 34 calls the method proxy executing means 37 of the computer 612 via the communication control means 30. The method proxy execution means 37 specifies the method 545 and calls the method execution means. The method execution means executes the method 545 and returns the execution result and the processing time. The execution selection means 41 adds the returned processing time to the processing time 6413 of the load management unit 641 corresponding to the class B. The execution selection means returns the method execution result to the application program 22. FIG. 21 shows the state of the distributed computer system at this point.

【0065】次に、図2の548が実行される。548
はメソッドなので実行選択手段41が呼び出される。実
行選択手段41はメソッド548がクラスBのメソッド
であるので負荷管理部641のクラス名6411、計算
機名6412を検索しクラスBのメソッド部が計算機6
13に割り当てられていることを知る。計算機613は
アプリケーションプログラム22を実行している計算機
611でないので実行選択手段41はメソッド実行依頼
手段34を呼び出す。メソッド実行依頼手段34は通信
制御手段30を介して計算機613のメソッド代理実行
手段37を呼び出す。メソッド代理実行手段37はメソ
ッド545指定しメソッド実行手段を呼び出す。メソッ
ド実行手段はメソッド545を実行し実行結果と処理時
間を返す。実行選択手段41は返ってきた処理時間を負
荷管理部641の処理時間6413のクラスBに対応し
たものに加える。実行選択手段はメソッド実行結果をア
プリケーションプログラム22へ返す。この時点での分
散計算機システムの状態を示したのが図22である。
Next, step 548 of FIG. 2 is executed. 548
Is a method, the execution selection means 41 is called. Since the method 548 is the method of the class B, the execution selection means 41 searches the load management unit 641 for the class name 6411 and the computer name 6412, and the method unit for the class B is the computer 6
Know that it is assigned to 13. Since the computer 613 is not the computer 611 executing the application program 22, the execution selecting means 41 calls the method execution requesting means 34. The method execution requesting means 34 calls the method proxy executing means 37 of the computer 613 via the communication control means 30. The method proxy execution means 37 specifies the method 545 and calls the method execution means. The method execution means executes the method 545 and returns the execution result and the processing time. The execution selection means 41 adds the returned processing time to the processing time 6413 of the load management unit 641 corresponding to the class B. The execution selection means returns the method execution result to the application program 22. FIG. 22 shows the state of the distributed computer system at this point.

【0066】以上で、図2のアプリケーションプログラ
ム22のメインプログラム54の実行は終了するのでプ
ログラム終了手段42が呼び出される。プログラム終了
手段42は負荷管理部641のクラス名6411、計算
機名6412を検索しクラスAのメソッド部が計算機6
11に割り当ててあることを知る。計算機611はアプ
リケーションプログラム22を実行している計算機61
1(自計算機)なので識別番号6414を指定しクラス
消去手段39が呼び出される。クラス消去手段39は指
定された識別番号に対応するクラス管理部32のクラス
名321、識別番号322を削除する。
As described above, the execution of the main program 54 of the application program 22 of FIG. 2 is completed, so that the program terminating means 42 is called. The program terminating means 42 retrieves the class name 6411 and computer name 6412 of the load management section 641 and the method section of class A finds the computer
Know that it is assigned to 11. The computer 611 is the computer 61 that is executing the application program 22.
Since it is 1 (own computer), the identification number 6414 is designated and the class erasing means 39 is called. The class erasing means 39 deletes the class name 321 and the identification number 322 of the class management unit 32 corresponding to the designated identification number.

【0067】プログラム終了手段42は負荷管理部64
1のクラス名6411と対応する計算機名6412、処
理時間6413、識別番号6414を削除し検索を続
け、クラスBのメソッド部が計算機613に割り当てて
あることを知る。計算機613はアプリケーションプロ
グラム22を実行している計算機611ではないので計
算機名6412と識別番号6414を指定しクラス消去
依頼手段36が呼び出される。
The program terminating means 42 is a load management unit 64.
The computer name 6412 corresponding to the class name 6411 of 1, the processing time 6413, and the identification number 6414 are deleted and the search is continued, and it is known that the method part of class B is assigned to the computer 613. Since the computer 613 is not the computer 611 executing the application program 22, the computer name 6412 and the identification number 6414 are designated and the class deletion requesting means 36 is called.

【0068】クラス消去依頼手段36は通信制御手段3
0を介して計算機613のクラス消去手段39を呼び出
す。クラス消去手段39は指定された識別番号に対応す
るクラス管理部32のクラス名321、識別番号322
を削除する。プログラム終了手段42は負荷管理部64
1のクラス名6411と対応する計算機名6412、処
理時間6413、識別番号6414を削除し検索を続
け、クラスCのメソッド部が計算機612に割り当てて
あることを知る。
The class deletion request means 36 is the communication control means 3
The class erasing means 39 of the computer 613 is called via 0. The class erasing means 39 uses the class name 321 and the identification number 322 of the class management unit 32 corresponding to the designated identification number.
To delete. The program ending means 42 is a load management unit 64.
The computer name 6412 corresponding to the class name 6411 of 1, the processing time 6413, and the identification number 6414 are deleted and the search is continued, and it is known that the method part of class C is assigned to the computer 612.

【0069】計算機612はアプリケーションプログラ
ム22を実行している計算機611ではないので計算機
名6412と識別番号6414を指定しクラス消去依頼
手段36が呼び出される。クラス消去依頼手段36は通
信制御手段30を介して計算機612のクラス消去手段
39を呼び出す。クラス消去手段39は指定された識別
番号に対応するクラスのメソッドを記憶部31より削除
し対応するクラス管理部32のクラス名321、識別番
号322を削除する。プログラム終了手段42は負荷管
理部641のクラス名6411と対応する計算機名64
12、処理時間6413、識別番号6414を削除し検
索を続け、クラス名6411にもうクラスが記憶されて
いないことを知り処理を終える。この時点での分散計算
機システムの状態を示したのが図23でありアプリケー
ションプログラム22のメソッドすべてが分散計算機シ
ステムから消去されていることがわかる。
Since the computer 612 is not the computer 611 executing the application program 22, the computer name 6412 and the identification number 6414 are designated and the class deletion request means 36 is called. The class deletion request means 36 calls the class deletion means 39 of the computer 612 via the communication control means 30. The class deleting unit 39 deletes the method of the class corresponding to the specified identification number from the storage unit 31 and deletes the class name 321 and the identification number 322 of the corresponding class management unit 32. The program terminating means 42 is a computer name 64 corresponding to the class name 6411 of the load management unit 641.
12, the processing time 6413, the identification number 6414 are deleted, the search is continued, and it is found that the class is no longer stored in the class name 6411, and the processing ends. FIG. 23 shows the state of the distributed computer system at this point in time, and it can be seen that all the methods of the application program 22 have been deleted from the distributed computer system.

【0070】なお、以上の説明では、アプリケーション
プログラム22を計算機211上で実行させたが、計算
機212、213で実行させても同様に、その時点の計
算機システムの状態により自動的に負荷が分散するよう
にクラスの割り当てられ、同一の実行結果が得られる。
In the above description, the application program 22 is executed on the computer 211. However, if the application program 22 is executed on the computers 212 and 213, similarly, the load is automatically distributed depending on the state of the computer system at that time. The classes are assigned as in the above, and the same execution result is obtained.

【0071】また、以上の説明では、プログラミング言
語C++で記述したアプリケ−ションプログラムについ
て説明したが、たとえば、smalltalkとして知
られているプログラミング言語等、他のオブジェクト指
向型言語で記述されるたアプリケ−ションプログラムに
ついても本実施例で示した機構を適用することができ
る。
In the above description, the application program written in the programming language C ++ has been described. For example, the application program written in another object-oriented language such as a programming language known as smalltalk. The mechanism shown in this embodiment can also be applied to the application program.

【0072】以上説明してきたように本実施例によれ
ば、本発明によれば、アプリケーションプログラム実行
時に負荷を分散するようにクラスのメソッド部単位で分
散計算機システムを構成している各計算機へ自動的に割
り当てるので、前もってアプリケーション全体あるいは
その一部分を各計算機に備えておく必要がなくなる。ま
た、アプリケーションプログラムの終了時に別の計算機
に割り当てたメソッド群はすべて削除されるので、資源
の無駄遣いもなくなる。
As described above, according to the present embodiment, according to the present invention, it is possible to automatically distribute the load to each computer constituting the distributed computer system by the method part of the class so that the load is distributed when the application program is executed. Since it is allocated in advance, it is not necessary to prepare the entire application or a part thereof in each computer in advance. Further, since all the method groups assigned to another computer at the end of the application program are deleted, waste of resources is eliminated.

【0073】[0073]

【発明の効果】以上のように、本発明によれば、負荷分
散のために要する各計算機の資源量を増大させることな
く、充分にアプリケ−ションプログラム実行の負荷を分
散させることができる分散計算機システムを提供するこ
とができる。
As described above, according to the present invention, it is possible to sufficiently distribute the load of application program execution without increasing the resource amount of each computer required for load distribution. A system can be provided.

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

【図1】本発明の一実施例に係る分散計算機システムの
構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a distributed computer system according to an embodiment of the present invention.

【図2】アプリケ−ションプログラムの構成を示す説明
図である。
FIG. 2 is an explanatory diagram showing a configuration of an application program.

【図3】クラスの構成を示す説明図である。FIG. 3 is an explanatory diagram showing a class configuration.

【図4】本発明の一実施例に係る負荷分散手段の構成を
示すブロック図である。
FIG. 4 is a block diagram showing a configuration of a load distribution unit according to an exemplary embodiment of the present invention.

【図5】本発明の一実施例に係る負荷管理部の記憶する
テ−ブルを示す説明図である。
FIG. 5 is an explanatory diagram showing a table stored in a load management unit according to an embodiment of the present invention.

【図6】本発明の一実施例に係るクラス管理部の記憶す
るテ−ブルを示す説明図である。
FIG. 6 is an explanatory diagram showing a table stored in a class management unit according to an embodiment of the present invention.

【図7】本発明の一実施例に係る実行選択手段の行う処
理手順を示すフローチャートである。
FIG. 7 is a flowchart showing a processing procedure performed by execution selection means according to an embodiment of the present invention.

【図8】本発明の一実施例に係るクラス転送手段の処理
手順を示すフローチャートである。
FIG. 8 is a flowchart showing a processing procedure of a class transfer means according to an embodiment of the present invention.

【図9】本発明の一実施例に係るクラス格納手段の行う
処理手順を示すフローチャートである。
FIG. 9 is a flowchart showing a processing procedure performed by a class storage unit according to an embodiment of the present invention.

【図10】本発明の一実施例に係るメソッド実行手段ク
ラス格納手段の行う処理手順を示すフローチャートであ
る。
FIG. 10 is a flowchart showing a processing procedure performed by a method executing means class storing means according to an embodiment of the present invention.

【図11】本発明の一実施例に係るメソッド実行依頼手
段の行う処理手順を示すフローチャートである。
FIG. 11 is a flowchart showing a processing procedure performed by a method execution requesting unit according to an embodiment of the present invention.

【図12】本発明の一実施例に係るメソッド代理実行手
段の行う処理手順を示すフローチャートである。
FIG. 12 is a flowchart showing a processing procedure performed by a method proxy execution unit according to an embodiment of the present invention.

【図13】本発明の一実施例に係るプログラム終了手段
の行う処理手順を示すフローチャートである。
FIG. 13 is a flowchart showing a processing procedure performed by a program terminating means according to an embodiment of the present invention.

【図14】本発明の一実施例に係るクラス消去手段の行
う処理手順を示すフローチャートである。
FIG. 14 is a flowchart showing a processing procedure performed by a class erasing means according to an embodiment of the present invention.

【図15】本発明の一実施例に係るクラス消去依頼手段
の行う処理手順を示すフローチャートである。
FIG. 15 is a flowchart showing a processing procedure performed by a class deletion requesting means according to an embodiment of the present invention.

【図16】本発明の一実施例に係るオペレ−ティングシ
ステムのアプリケーションプログラム実行手順を示すフ
ローチャートである。
FIG. 16 is a flowchart showing an application program execution procedure of the operating system according to the embodiment of the present invention.

【図17】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行直前の状態を示す説
明図である。
FIG. 17 is an explanatory diagram showing a state immediately before execution of an application program of the distributed computer system according to an embodiment of the present invention.

【図18】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行途中の状態を示す説
明図である。
FIG. 18 is an explanatory diagram showing a state during execution of an application program of the distributed computer system according to an embodiment of the present invention.

【図19】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行途中の状態を示す説
明図である。分散計算機システムの一時点での状態図で
ある。
FIG. 19 is an explanatory diagram showing a state during execution of an application program of the distributed computer system according to an embodiment of the present invention. It is a state diagram at one point in time of a distributed computer system.

【図20】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行途中の状態を示す説
明図である。分散計算機システムの一時点での状態図で
ある。
FIG. 20 is an explanatory diagram showing a state during execution of an application program of the distributed computer system according to an embodiment of the present invention. It is a state diagram at one point in time of a distributed computer system.

【図21】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行途中の状態を示す説
明図である。分散計算機システムの一時点での状態図で
ある。
FIG. 21 is an explanatory diagram showing a state during execution of an application program of the distributed computer system according to an embodiment of the present invention. It is a state diagram at one point in time of a distributed computer system.

【図22】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行途中の状態を示す説
明図である。
FIG. 22 is an explanatory diagram showing a state during execution of an application program of the distributed computer system according to an embodiment of the present invention.

【図23】本発明の一実施例に係る分散計算機システム
のアプリケーションプログラム実行終了後の状態を示す
説明図である。
FIG. 23 is an explanatory diagram showing a state after execution of an application program in the distributed computer system according to an embodiment of the present invention.

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

20……通信媒体 22……アプリケーションプログラム 23……負荷分散手段 30……通信制御手段 31……記憶部 32……クラス管理部 33……メソッド実行手段 34……メソッド実行依頼手段 35……クラス転送手段 36……クラス消去依頼手段 37……メソッド代理実行手段 38……クラス格納手段 39……クラス消去手段 40……負荷管理部 41……実行選択手段 42……プログラム終了手段 211、212、213……計算機 231、232、233……負荷分散手段 20 ... communication medium 22 ... application program 23 ... load distribution means 30 ... communication control means 31 ... storage section 32 ... class management section 33 ... method execution means 34 ... method execution request means 35 ... class Transfer means 36 ...... Class deletion requesting means 37 ...... Method proxy execution means 38 ...... Class storage means 39 ...... Class deletion means 40 ...... Load management unit 41 ...... Execution selection means 42 ...... Program termination means 211, 212, 213 ... computer 231,232,233 ... load balancing means

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】通信媒体を介して接続された2以上の計算
機を有する計算機システムにおいて、特定の計算機で実
行されるプログラムの実行の負荷を、前記特定の計算機
を含む複数の計算機に分散させる方法であって、 前記特定の計算機に、前記プログラムを構成する処理の
単位である処理単位を割り当てた計算機を、割り当てた
処理単位に関連付けて登録するテ−ブルを設けるステッ
プと、 前記特定の計算機が、前記処理単位を順次実行するステ
ップと、 前記特定の計算機が前記処理単位を実行する際に、前記
テ−ブルを参照して、当該処理単位が割り当てられた計
算機が存在するか否かを判断するステップと、 処理単位が割り当てられた計算機が存在しないと判断さ
れた場合に、当該処理単位を前記複数の計算機の内の一
の計算機に割り当て、割り当てた計算機を割り当てた処
理単位に関連付けて前記テ−ブルに登録し、割り当てた
計算機に当該処理単位を前記特定の計算機より転送して
実行させるステップと、 処理単位が割り当てられた計算機が存在すると判断され
た場合には、当該計算機に当該処理単位を実行させるス
テップと、 前記特定の計算機が、前記プログラムの実行を終了した
際に、前記特定の計算機より他の計算機に転送した処理
単位をすべて、当該他の計算機より消去し、前記テ−ブ
ルを初期化するステップとを有することを特徴とする計
算機システムにおけるプログラム実行負荷分散方法。
1. In a computer system having two or more computers connected via a communication medium, a method of distributing a load of execution of a program executed by a specific computer among a plurality of computers including the specific computer. In the specific computer, a step of providing a table for registering a computer to which a processing unit, which is a unit of processing that constitutes the program, is registered in association with the allocated processing unit, and the specific computer is A step of sequentially executing the processing units, and, when the specific computer executes the processing units, refer to the table to determine whether or not there is a computer to which the processing unit is assigned. And when it is determined that there is no computer to which the processing unit is assigned, the processing unit is assigned to one of the plurality of computers. A step of registering the allocated computer in the table in association with the allocated processing unit, transferring the processing unit to the allocated computer from the specific computer and executing it, and the computer to which the processing unit is allocated. If determined to exist, the step of causing the computer to execute the processing unit, and the specific computer, when the execution of the program is completed, the processing unit transferred from the specific computer to another computer All of the above are erased from the other computer, and the table is initialized, the program execution load balancing method in the computer system.
【請求項2】請求項1記載の計算機システムにおけるプ
ログラム実行負荷分散方法であって、 前記テ−ブルは、登録されている計算機に対応付けて、
当該計算機に割り当てられた処理単位の実行に要した負
荷量を登録可能なテ−ブルであって、 処理単位の実行の終了時に、当該処理単位が割り当てら
れている計算機に対応づけられて既に登録されている負
荷量を、当該負荷量に前記実行を終了したメソッドの実
行に要した負荷量を加算した値に更新するステップをさ
らに備え、 前記処理単位の計算機への割り当ては、前記テ−ブルに
対応づけられて登録されている処理単位の実行の負荷量
の累積が最も小さい計算機に当該処理単位を割り当てる
ことにより行われることを特徴とする計算機システムに
おけるプログラム実行負荷分散方法。
2. A program execution load balancing method in a computer system according to claim 1, wherein the table is associated with a registered computer,
It is a table that can register the amount of load required to execute the processing unit assigned to the computer, and at the end of the execution of the processing unit, is already registered in association with the computer to which the processing unit is assigned. The method further comprises the step of updating the loaded load amount to a value obtained by adding to the load amount the load amount required to execute the method whose execution has ended, the allocation of the processing unit to the computer is performed in the table. A program execution load balancing method in a computer system, which is performed by assigning the processing unit to a computer having the smallest cumulative load of execution of the processing unit registered in association with.
【請求項3】通信媒体を介して接続された2以上の計算
機を有する計算機システムにおいて、特定の計算機で実
行されるプログラムの実行の負荷を、前記特定の計算機
を含む複数の計算機に分散させる方法であって、 前記特定の計算機に、前記プログラムを構成する処理群
の単位であるクラスを割り当てた計算機を、割り当てた
処理単位に関連付けて登録するテ−ブルを設けるステッ
プと、 前記特定の計算機が、前記クラスに属する処理であるメ
ソッドを順次実行するステップと、 前記特定の計算機が任意の前記メソッドを実行する際
に、前記テ−ブルを参照して、当該任意のメソッドの属
するクラスが割り当てられた計算機が存在するか否かを
判断するステップと、 前記任意のメソッドの属するクラスが割り当てられた計
算機が存在しないと判断された場合に、当該クラスを前
記複数の計算機の内の一の計算機に割り当て、割り当て
た計算機を割り当てたクラスに関連付けて前記テ−ブル
に登録し、割り当てた計算機に当該クラスに属する全て
のメソッドを前記特定の計算機より転送し、前記任意の
メソッドを実行させるステップと、 前記任意のメソッドの属するクラスが割り当てられた計
算機が存在すると判断された場合には、当該計算機に前
記任意のメソッドを実行させるステップと、 前記特定の計算機が、前記プログラムの実行を終了した
際に、前記特定の計算機より他の計算機に転送したメソ
ッドを、当該他の計算機より全て消去し、前記テ−ブル
を初期化するステップとを有することを特徴とする計算
機システムにおけるプログラム実行負荷分散方法。
3. A computer system having two or more computers connected via a communication medium, wherein a load of execution of a program executed on a specific computer is distributed to a plurality of computers including the specific computer. In the particular computer, a step of providing a table for registering a computer to which a class, which is a unit of a processing group constituting the program, is registered in association with the assigned processing unit, and the specific computer is A step of sequentially executing a method that is a process belonging to the class, and when the specific computer executes the arbitrary method, the class to which the arbitrary method belongs is assigned by referring to the table. Determining whether or not there is a computer that exists, and that there is no computer to which the class to which the arbitrary method belongs is assigned. If it is determined that the class is assigned to one of the plurality of computers, the assigned computer is associated with the assigned class and registered in the table, and the assigned computer belongs to the class Method of transferring the method from the specific computer, to execute the arbitrary method, and if it is determined that there is a computer to which the class to which the arbitrary method belongs is assigned, the arbitrary method to the computer. And the specific computer, when the specific computer finishes the execution of the program, erases all the methods transferred from the specific computer to another computer from the other computer, and saves the table. And a step of initializing the program execution load balancing method in a computer system.
【請求項4】請求項3記載の計算機システムにおけるプ
ログラム実行負荷分散方法であって、 前記テ−ブルは、登録されている計算機に対応付けて、
当該計算機に割り当てられたクラスの実行に要した負荷
量を登録可能なテ−ブルであって、 メソッドの実行の終了時に、当該メソッドの属するクラ
スが割り当てられている計算機に対応づけられて既に登
録されている負荷量を、当該負荷量に当該メソッドの実
行に要した負荷量を加算した値に更新するステップをさ
らに備え、 前記クラスの計算器への割り当ては、前記テ−ブルに対
応付けられて登録されているメソッドの実行の負荷量の
累積が最も小さい計算機に当該クラスを割り当てること
により行われることを特徴とする計算機システムにおけ
るプログラム実行負荷分散方法。
4. The program execution load balancing method in the computer system according to claim 3, wherein the table is associated with a registered computer,
It is a table that can register the amount of load required to execute the class assigned to the computer, and at the end of the method execution, the class to which the method belongs is associated with the computer to which it is already registered. The method further comprises the step of updating the loaded amount to a value obtained by adding the loaded amount required to execute the method to the loaded amount, and the assignment of the class to the calculator is associated with the table. A method for distributing program execution load in a computer system, wherein the method is performed by assigning the class to a computer that has the smallest accumulated load of execution of the registered method.
【請求項5】通信媒体と、当該通信媒体を介して互いに
接続された複数の計算機を有する計算機システムであっ
て、 前記計算機は、 実行するプログラムのメソッドを記憶した記憶部と、実
行するプログラムを構成する処理の単位であるクラスを
割り当てた計算機と、当該クラスに属する全てのメソッ
ドの実行の負荷量とを、割り当てた処理単位に関連付け
て記憶する負荷管理部と、実行を依頼されたメソッドを
実行するメソッドを実行し、当該メソッドの実行に要し
た負荷量の報告を依頼元に行うメソッド実行手段と、実
行の依頼を依頼されたメソッドの実行を前記メソッド実
行手段に依頼し、前記負荷量の報告を依頼元に中継する
メソッド代理実行手段と、実行の依頼を依頼されたメソ
ッドの実行を他の計算機のメソッドの代理実行手段に依
頼し、前記負荷量の報告を依頼元に中継するメソッド実
行依頼手段と、転送されたメソッドを前記記憶部に記憶
するクラス格納手段と、転送を依頼されたクラスに属す
る全てのメソッドを前記記憶部より他の計算機のクラス
格納手段に転送するクラス転送手段と、 任意の前記メソッドを処理する際に、前記負荷管理部の
記憶内容より、当該任意のメソッドの属するクラスが割
り当てられた計算機をチェックし、前記任意のメソッド
の属するクラスが割り当てられた計算機が存在しない場
合に、前記負荷管理部に対応付けられて記憶されている
メソッドの実行の負荷量の累積が最も小さい計算機を前
記任意のメソッドの属するクラスを割り当てる計算機と
して決定し、前記クラス転送手段に決定した計算機に前
記任意のメソッドの属するクラスの転送を依頼し、前記
任意のメソッドの属するクラスが自計算機に割り当てら
れている場合に、前記メソッド実行手段に前記任意のメ
ソッドの実行を依頼し、前記任意のメソッドの属するク
ラスが他計算機に割り当てられている場合に、当該他の
計算機への前記任意のメソッドの実行の依頼を前記メソ
ッド実行依頼手段に依頼し、前記負荷管理部に、前記負
荷料の報告に応じて、それまでに各クラスに属するメソ
ッドの実行に要した負荷量を、当該クラス単位を割り当
てる計算機に対応付けて前記負荷管理部に記憶する実行
選択手段と、 消去を依頼されたクラスに属するメソッドを前記記憶部
より消去し、依頼に応じて前記負荷管理部の記憶内容を
初期化するクラス消去手段と、消去の依頼を依頼された
クラスの消去と、前記負荷管理部の記憶内容の初期化を
他の計算機の前記クラス消去手段に依頼するクラス消去
依頼手段と、 前記プログラムの実行が終了した場合に、前記負荷管理
部の記憶内容に応じて、クラス消去手段に前記負荷管理
部の記憶内容の初期化を依頼し、前記クラス消去依頼手
段にクラスの消去の他装置のクラス消去手段への依頼を
依頼するプログラム終了手段とを有することを特徴とす
る計算機システム。
5. A computer system comprising a communication medium and a plurality of computers connected to each other via the communication medium, wherein the computer stores a storage unit storing a method of a program to be executed and a program to be executed. A computer to which a class, which is a unit of processing to be configured, is allocated, and a load management unit that stores the load amounts of execution of all methods belonging to the class in association with the allocated processing unit, and a method requested to be executed. The method execution means for executing the method to be executed and reporting the load amount required for executing the method to the request source, and the method execution means for executing the method requested to be executed, and the load amount Method execution method that relays the report of the request to the request source and method execution method of another computer that executes the method requested to be executed Method execution requesting means for requesting and relaying the load amount report to the request source, class storing means for storing the transferred method in the storage section, and storing all methods belonging to the requested transfer class Class transfer means for transferring from the copy to the class storage means of another computer, and when processing any of the methods, check the computer to which the class to which the arbitrary method belongs is assigned from the stored contents of the load management section. However, when there is no computer to which the class to which the arbitrary method belongs is assigned, the computer with the smallest accumulated load of execution of the method stored in association with the load management unit is the arbitrary method. The class to which the arbitrary method belongs is determined as the computer to which the class to which the arbitrary method belongs belongs, Requesting the transfer of the method, and when the class to which the arbitrary method belongs is assigned to the local computer, the method executing means is requested to execute the arbitrary method, and the class to which the arbitrary method belongs is stored in another computer. When assigned to the other computer, the method execution requesting unit is requested to execute the arbitrary method to the other computer, and the load management unit notifies the load management unit of the load charge by that time. Execution selection means for storing the load amount required for executing the method belonging to each class in the load management unit in association with the computer to which the class unit is assigned, and the method belonging to the class requested to be deleted from the storage unit. Class erasing means for erasing and initializing storage contents of the load management unit according to a request; erasing of a class requested to be erased; and the load management unit A class deletion requesting unit that requests the class deletion unit of another computer to initialize the storage content, and a class deletion unit that loads the load according to the storage content of the load management unit when the execution of the program is completed. A computer system comprising: a program terminating means for requesting initialization of the storage contents of the management section and for requesting the class erasing request means to request the class erasing means of another device to erase the class.
JP13604993A 1993-06-07 1993-06-07 Program execution load distribution method in computer system Pending JPH06348666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13604993A JPH06348666A (en) 1993-06-07 1993-06-07 Program execution load distribution method in computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13604993A JPH06348666A (en) 1993-06-07 1993-06-07 Program execution load distribution method in computer system

Publications (1)

Publication Number Publication Date
JPH06348666A true JPH06348666A (en) 1994-12-22

Family

ID=15165988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13604993A Pending JPH06348666A (en) 1993-06-07 1993-06-07 Program execution load distribution method in computer system

Country Status (1)

Country Link
JP (1) JPH06348666A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235127A (en) * 1995-02-28 1996-09-13 Chugoku Nippon Denki Software Kk Automatic load balancing method and apparatus
JPH09212364A (en) * 1995-12-27 1997-08-15 Internatl Business Mach Corp <Ibm> Method and system for managing object instance at execution
US6345311B1 (en) 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
KR100331519B1 (en) * 1998-08-01 2002-04-06 포만 제프리 엘 Computerized method and system for implementing distributed applications
US6421736B1 (en) 1995-12-27 2002-07-16 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235127A (en) * 1995-02-28 1996-09-13 Chugoku Nippon Denki Software Kk Automatic load balancing method and apparatus
JPH09212364A (en) * 1995-12-27 1997-08-15 Internatl Business Mach Corp <Ibm> Method and system for managing object instance at execution
US6345311B1 (en) 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
US6421736B1 (en) 1995-12-27 2002-07-16 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
US6886167B1 (en) 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
US6895587B2 (en) 1995-12-27 2005-05-17 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
KR100331519B1 (en) * 1998-08-01 2002-04-06 포만 제프리 엘 Computerized method and system for implementing distributed applications

Similar Documents

Publication Publication Date Title
CN110120940B (en) File system resource isolation method for Docker container
US6714949B1 (en) Dynamic file system configurations
US7349970B2 (en) Workload management of stateful program entities
US7783737B2 (en) System and method for managing supply of digital content
US20250181960A1 (en) Qubit allocation service
US7203941B2 (en) Associating a native resource with an application
US6279028B1 (en) Operating system having a mechanism for handling a group of related processes residing on separate machines
US5317728A (en) Storage management of a first file system using a second file system containing surrogate files and catalog management information
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
US20100017515A1 (en) Resource migration system and resource migration method
US7194594B2 (en) Storage area management method and system for assigning physical storage areas to multiple application programs
CN110196681B (en) Disk data write-in control method and device for business write operation and electronic equipment
JPH1074159A (en) Control method of computer system
US6985976B1 (en) System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks
US20210294597A1 (en) Application development support system and application development support method
US20100199058A1 (en) Data Set Size Tracking and Management
JP5969122B2 (en) Host bus adapter and system
CN114116189A (en) Task processing method and device and computing equipment
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
CN112631994A (en) Data migration method and system
CN120407201B (en) Memory resource allocation method and device, electronic equipment, medium and product
US11947532B2 (en) Lifecycle tracking of data objects
CA2176905A1 (en) Customer information control system and method with api start and cancel transaction functions in a loosely coupled parallel processing environment
JPH06348666A (en) Program execution load distribution method in computer system