JP3259682B2 - Program processing device - Google Patents

Program processing device

Info

Publication number
JP3259682B2
JP3259682B2 JP12653598A JP12653598A JP3259682B2 JP 3259682 B2 JP3259682 B2 JP 3259682B2 JP 12653598 A JP12653598 A JP 12653598A JP 12653598 A JP12653598 A JP 12653598A JP 3259682 B2 JP3259682 B2 JP 3259682B2
Authority
JP
Japan
Prior art keywords
function
load
component
database
computer system
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.)
Expired - Fee Related
Application number
JP12653598A
Other languages
Japanese (ja)
Other versions
JPH11327917A (en
Inventor
欣也 宮下
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP12653598A priority Critical patent/JP3259682B2/en
Publication of JPH11327917A publication Critical patent/JPH11327917A/en
Application granted granted Critical
Publication of JP3259682B2 publication Critical patent/JP3259682B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、プログラム処理装
置に関し、特に、ソースプログラムを逐次読み込み、コ
ンパイルと実行をほぼ同時に並行して行うプログラム処
理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program processing apparatus, and more particularly, to a program processing apparatus which sequentially reads a source program and compiles and executes the program almost simultaneously.

【0002】[0002]

【従来の技術】従来より、ソースプログラムの実行処理
方法において、ソースプログラム実行前にソースプログ
ラムの全ソースプログラムをコンパイル、リンクし実行
するコンパイラと、ソースプログラムをインタプリタし
ながら実行するインタプリタとが良く知られている。
2. Description of the Related Art Conventionally, in a source program execution processing method, a compiler that compiles, links, and executes all source programs of a source program before executing the source program, and an interpreter that executes the source program while interpreting the source program are well known. Have been.

【0003】これに対し、最近では、これらのコンパイ
ラとインタプリタの中間の方法が提案されている(例え
ば、特開平9−282174号公報)。この方法は、ソ
ースプログラムの実行に必要となったソースコードを逐
次読み込み、コンパイルと実行をほぼ同時に並行して行
う。
On the other hand, recently, an intermediate method between the compiler and the interpreter has been proposed (for example, Japanese Patent Application Laid-Open No. 9-282174). In this method, source codes required for executing a source program are sequentially read, and compilation and execution are performed almost simultaneously in parallel.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、特開平
9−282174号公報に開示された発明によれば、実
行コードが増加して実行ファイルのサイズが過剰となっ
たり、負荷そのものが大きくなるため、ソースプログラ
ムを処理するコンピュータシステムのハードウエアに大
きな負荷がかかる結果、処理が停止するおそれがあり、
ソースプログラム処理が円滑にできないおそれがある。
However, according to the invention disclosed in Japanese Patent Application Laid-Open No. 9-282174, the number of executable codes increases and the size of an executable file becomes excessive, or the load itself increases. As a result of the heavy load on the hardware of the computer system that processes the source program, the processing may be stopped,
Source program processing may not be smooth.

【0005】本発明は、上記事情に鑑みてなされたもの
であり、ソースプログラムを逐次読み込み、コンパイル
と実行を並行して行うに際して、ハードウエアの使用状
況を監視及び制御し、ソースプログラムの円滑な実行が
可能となるプログラム処理装置を提供することを目的と
する。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and monitors and controls the use state of hardware when sequentially reading a source program, compiling and executing the program in parallel, and smoothly executing the source program. An object of the present invention is to provide a program processing device that can be executed.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載のプログラム処理装置は、複数のコン
ポーネントから構成されるソースプログラムをマシンコ
ードに変換して実行するに際し、前記ソースプログラム
に含まれる関数の位置まで該ソースプログラムをコンパ
イル、実行した後、この関数の属する前記コンポーネン
ト及びこの関数に依存している前記コンポーネントを取
得し、この関数の実行に必要な部分をコンパイル、リン
クして再実行するコンピュータシステムと、このコンピ
ュータシステムとバスを介して接続され、前記ソースプ
ログラムに含まれる関数の属するコンポーネント及びこ
の関数に依存しているコンポーネントを格納し、前記コ
ンピュータシステムの要求により関数の属するコンポー
ネント及びこの関数に依存しているコンポーネントを前
記コンピュータシステムに与えるデータベースとを有す
るプログラム処理装置であって、前記コンピュータシス
テムが、前記コンピュータシステム内の前記ハードウエ
アの負荷履歴を一定時間ごとに監視する手段と、この監
視手段から報告された負荷履歴を保存する手段と、前記
関数の受け取り時刻と前記負荷履歴とから負荷の大きい
関数を推定する推定手段と、前記ハードウエアの負荷状
態と前記負荷の大きい関数の存在から過負荷状態となる
ことを予測する判定手段と、この判断手段からの情報を
受けて前記コンピュータシステムからの前記データベー
スへの前記関数の属するコンポーネント及びこの関数に
依存しているコンポーネントの要求を中断させ、高負荷
状態が解除されたときにコンポーネントの再要求を行う
負荷制御手段とを備え、自己内のハードウエアの負荷状
態を監視及び制御する負荷監視制御装置 を有する構成と
してある。
According to a first aspect of the present invention, there is provided a program processing apparatus for converting a source program including a plurality of components into machine code and executing the source code. After compiling and executing the source program up to the position of the included function, obtain the component to which the function belongs and the component dependent on the function, compile and link the part necessary for executing the function, A computer system to be re-executed, connected to the computer system via a bus, storing a component to which the function included in the source program belongs and a component that depends on the function, and belonging to the function according to a request of the computer system Component and this function A program processing apparatus having a database providing a component that is dependent on the computer system, said computer cis
The hardware in the computer system.
A means for monitoring the load history of the
Means for storing the load history reported from the viewing means,
The load is large based on the function reception time and the load history.
Estimating means for estimating a function; and a load state of the hardware.
State and the presence of a function with a large load causes an overload condition
Determining means for predicting that the information from the determining means
Receiving the database from the computer system.
Component to which the function belongs and the function
Suspends demands on dependent components and increases load
Reclaim component when state is removed
Load control means, and the load status of the hardware in the self
It is constituted with a load monitoring controller that monitors and controls the state.

【0007】[0007]

【0008】[0008]

【0009】[0009]

【0010】[0010]

【0011】このような構成の発明によれば、予め負荷
の大きな関数を推定しておき、受け取った関数と推定し
た負荷の大きな関数とが一致し、かつその関数によりハ
ードウエアの負荷が所定より大きくなることを予め予測
することができるため、コンピュータシステムが判断し
てハードウエアの使用状況に応じた処理をすることがで
きる。
According to the invention having such a configuration, a function having a large load is estimated in advance, and the received function matches the estimated function with a large load, and the function reduces the hardware load by a predetermined value. Since the increase can be predicted in advance, it is possible for the computer system to determine and perform processing according to the usage status of the hardware.

【0012】請求項2記載のプログラム処理装置は、前
記負荷監視制御装置が、前記コンピュータシステムの前
記ハードウエアが過負荷状態にあると判断した場合に、
前記データベースから受け取って未処理の前記コンポー
ネントを破棄し、該破棄したコンポーネントの再要求信
号を作成して保存する構成としてある。
According to a second aspect of the present invention, there is provided the program processing device, wherein the load monitoring control device determines that the hardware of the computer system is in an overloaded state.
The unprocessed component received from the database is discarded, and a re-request signal for the discarded component is created and stored.

【0013】このような構成の発明によれば、コンピュ
ータシステムのハードウエアの負荷を軽減してソースプ
ログラムの円滑な実行が可能となる。
According to the invention having such a configuration, the load on the hardware of the computer system can be reduced and the source program can be smoothly executed.

【0014】請求項3記載のプログラム処理装置は、前
記コンピュータシステムが、複数の異なるソースプログ
ラムを並行してマシンコードに変換する構成としてあ
る。
According to a third aspect of the present invention, the computer system converts the plurality of different source programs into machine codes in parallel.

【0015】このような構成の発明によれば、ソースプ
ログラムを逐次読み込み、コンパイルと実行を並行して
行うプログラム処理では、関数をデータベースに問い合
わせる度に、実行を一旦中断する必要があるが、この場
合でも、複数のプログラム処理を並行して行うことで、
一つのプログラムの処理が中断している間に他のプログ
ラムを処理できるので、全体の処理速度が向上する。
According to the invention having such a configuration, in the program processing in which the source program is sequentially read, and the compilation and the execution are performed in parallel, the execution needs to be temporarily interrupted every time the function is inquired to the database. Even in this case, by performing multiple program processes in parallel,
Since another program can be processed while the processing of one program is interrupted, the overall processing speed is improved.

【0016】請求項4記載のプログラム処理装置は、前
記コンピュータシステムが、ソースプログラム毎にその
ソースプログラムのコンポーネント間の依存関係を管理
し、該依存関係の変更を前記コンピュータシステム上の
みで保存するコンポーネント依存関係情報テーブルを備
え、前記ソースプログラの全てを実行した後、前記デー
タベースに対してコンポーネント依存関係情報テーブル
を反映させることができる構成としてある。
A program processing apparatus according to claim 4 , wherein the computer system manages a dependency relationship between components of the source program for each source program, and saves the change of the dependency relationship only on the computer system. It is provided with a dependency information table, and after executing all of the source programs, the component dependency information table can be reflected in the database.

【0017】このような構成の発明によれば、プログラ
ム処理の実行が終わったときにコンピュータシステムに
記録されたコンポーネント依存性をデータベースに反映
させることができるので、逐次データベースのコンポー
ネント依存性を変更する場合に比べて、ハードウエアの
負荷が少なくて済む。
According to the invention having such a configuration, the component dependency recorded in the computer system can be reflected in the database when the execution of the program processing is completed, so that the component dependency of the database is sequentially changed. The hardware load is smaller than in the case.

【0018】[0018]

【発明の実施の形態】以下、本発明のプログラム処理装
置の一実施形態について、図面を参照しながら説明す
る。図1及び図2は、本発明の実施形態にかかるプログ
ラム処理装置を示す構成図である。このプログラム処理
装置1は、異なる複数のソースプログラム(図面ではpr
og1,prog2,prog3)を並行処理するコンピュータシステ
ムであるサーバ2と、ソースプログラムに含まれる関数
のコンポーネント(図面ではA,B,C,D,E,・
・)を供給するデータベース3とがバス4によって接続
されたネットワークである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of a program processing device according to the present invention will be described below with reference to the drawings. 1 and 2 are configuration diagrams showing a program processing device according to an embodiment of the present invention. The program processing device 1 is configured to execute a plurality of different source programs (pr
og1, prog2, prog3) in parallel with the server 2, which is a computer system, and function components (A, B, C, D, E,.
.) Is a network connected by a bus 4.

【0019】サーバ2は、図示していないが、ソースコ
ードをオブジェクトコードに変換するコンパイルと、変
換されたオブジェクトコードを連結して実行可能なマシ
ンコードを作るリンカとを有する。また、データベース
3に関数を問い合わせる関数問い合わせフレームを格納
する関数問い合わせキューとデータベース3から転送さ
れたデータベース転送データフレームを格納するデータ
ベース転送データキューとを備える。サーバ2は、ソー
スプログラム毎に関数とその関数が所属するコンポーネ
ント及びその関数に依存しているコンポーネントの関係
を格納するコンポーネント依存関係情報テーブル10を
有し、ソースプログラム毎に管理している。また、この
コンポーネント依存関係情報テーブルを検索するコンポ
ーネント検索機能を有する。更に、データベース3から
取得したコンポーネントを格納する記憶手段11を有す
る。
Although not shown, the server 2 has a compile for converting a source code into an object code, and a linker for linking the converted object code to produce an executable machine code. It also has a function inquiry queue for storing a function inquiry frame for inquiring a function in the database 3 and a database transfer data queue for storing a database transfer data frame transferred from the database 3. The server 2 has, for each source program, a component dependency relationship information table 10 that stores a relationship between a function, a component to which the function belongs, and a component that depends on the function, and manages the relationship for each source program. Further, it has a component search function for searching the component dependency relationship information table. Further, it has a storage unit 11 for storing components obtained from the database 3.

【0020】サーバ2が実行するソースプログラムは、
全てデータベース3に格納されている関数を含んでい
る。サーバ2は、ソースプログラムを関数の位置までコ
ンパイル、実行し、ここで一時処理を中断し、その関数
をサーバ2内のコンポーネント依存関係情報テーブル1
0に問い合わせ、関数がここに記述されている場合は、
関数の属するコンポーネントから関数の実行に必要な分
だけコンパイル、リンクを行い、実行を再開する。コン
ポーネント依存関係情報テーブル10に関数が記述され
ていなかったときは、その関数をデータベース3に問い
合わせる。
The source program executed by the server 2 is
All include functions stored in the database 3. The server 2 compiles and executes the source program up to the position of the function, suspends the temporary processing here, and stores the function in the component dependency information table 1 in the server 2.
0 and if the function is described here,
Compile and link as many as necessary to execute the function from the component to which the function belongs, and resume execution. When the function is not described in the component dependency information table 10, the function is inquired to the database 3.

【0021】データベース3は、サーバ2によって登録
可能なコンポーネント依存関係情報テーブルをプログラ
ム毎に有し、一つのデータ依存関係を選択する。この場
合、前回実行に必要としたコンポーネント依存テーブル
をプログラムインデックスによってユーザが指定するこ
とができ、また、これをデータベースに登録、削除でき
るようになっている。なお、プログラム実行時に登録可
能なコンポーネントをもたない(つまり、コンポーネン
トと関数のデータのみ)とき、プログラムを実行する
と、サーバとデータベースとの問い合わせ回数が大きい
ので、予め1つの依存関係を用意して、問い合わせ回数
を減少させることが好ましい。サーバ2からの関数の問
い合わせに対して、選択した依存関係に基づいてこの関
数の属するコンポーネント及びこの時点でこの関数に依
存しているコンポーネントをサーバに転送する。サーバ
2は、データベース3から渡された1つ又は複数のコン
ポーネントの関数に必要な部分についてコンパイル、リ
ンクして実行を再開する。
The database 3 has a component dependency information table which can be registered by the server 2 for each program, and selects one data dependency. In this case, the user can designate the component-dependent table required for the previous execution by the program index, and can register and delete the table in the database. When the program is executed when there are no components that can be registered at the time of executing the program (that is, only the data of the component and the function), the number of inquiries between the server and the database is large. It is preferable to reduce the number of inquiries. In response to the function inquiry from the server 2, the component to which the function belongs and the component which depends on the function at this time are transferred to the server based on the selected dependency. The server 2 compiles and links a part necessary for the function of one or more components passed from the database 3 and resumes execution.

【0022】なお、データベース3は、図2に示すよう
に、全体のデータの転送量を下げるために、転送された
コンポーネントには転送済みマークSが付けられ、それ
以外のコンポーネントのみが転送可能になっている。サ
ーバ2のコンポーネント検索機能が故障した場合、実行
する毎に同一のコンポーネントがデータベースに対して
要求されデータ転送を行う結果、ディスクへの負荷がか
かるようになるが、データ転送の回数を制限すること
で、過負荷を防止している。
In the database 3, as shown in FIG. 2, in order to reduce the transfer amount of the entire data, the transferred components are marked with a transferred mark S, and only the other components can be transferred. Has become. When the component search function of the server 2 fails, the same component is requested to the database each time the component search function is executed and the data transfer is performed. As a result, the load on the disk increases, but the number of times of the data transfer is limited. This prevents overload.

【0023】図3に、サーバ2上のコンポーネント依存
関係情報テーブルの具体的な例を示す。図3に示すよう
に、コンポーネント依存関係情報テーブルは、関数イン
デックス、関数名、その関数が所属するコンポーネント
及びこの関数に依存しているコンポーネントが関係づけ
られている。関数インデックスはデータベースに記憶さ
れる関数の数が多くなると、対象となる関数を検索する
必要が生じた場合に必要となり、データベースによって
与えられる。
FIG. 3 shows a specific example of the component dependency information table on the server 2. As shown in FIG. 3, the component dependency relationship information table associates a function index, a function name, a component to which the function belongs, and a component that depends on the function. The function index becomes necessary when the number of functions stored in the database increases and it becomes necessary to search for a target function, and is provided by the database.

【0024】サーバ2は、データベース3から転送され
たコンポーネントを記憶手段11に保存すると共に、実
行時に変更された関数に対するコンポーネント間の依存
関係についてはコンポーネント依存関係情報テーブル1
0に保存する。
The server 2 stores the components transferred from the database 3 in the storage means 11 and determines the dependency between the components on the function changed at the time of execution.
Store to 0.

【0025】データベース3からコンポーネントが次々
と転送され、ソースプログラムを順次コンパイルするた
め、マシンコードが大きくなり、その分の処理も増加す
ることから、本発明においては、サーバ2のハードウエ
ア資源を監視し、制御する負荷監視制御装置5をサーバ
2に設けている。負荷監視制御装置5は、データベース
3から転送されてくる関数の属するコンポーネント情報
の獲得を行うと共に、コンパイル、リンク、実行に関す
るサーバ2のハードウエアの使用量の測定を行い、これ
らを解析して関数をデータベースへ問い合わせるかどう
か、更にはデータベースからコンポーネントを含むデー
タの転送を受けるかどうかを決定し、ハードウエアの負
荷を軽減するように制御する。
Since the components are successively transferred from the database 3 and the source programs are sequentially compiled, the machine code increases and the processing increases accordingly. In the present invention, the hardware resources of the server 2 are monitored. The server 2 is provided with a load monitoring control device 5 for controlling. The load monitoring control device 5 acquires the component information to which the function transferred from the database 3 belongs, measures the hardware usage of the server 2 regarding compiling, linking, and execution, and analyzes these to analyze the function. Is sent to the database, and whether data including components is transferred from the database is determined, and control is performed to reduce the hardware load.

【0026】図6は、負荷監視制御装置5の構成を示す
ブロック図である。負荷監視制御装置5は、サーバのハ
ードウエア21に対して、ディスクの使用量を計測する
ディスク使用量計測手段51、メモリの使用量を計測す
るメモリ使用量計測手段52、CPUの使用率を計測す
るCPU使用率計測手段53を介して監視アプリケーシ
ョン54と接続され、監視アプリケーション54によっ
て、ハードウエア内21の資源の使用量が一定時間毎に
監視される。監視アプリケーション54の情報は負荷検
知処理部6に送られる。また、データベース3から転送
されてきた関数についての情報は、サーバ2のハードウ
エア21からデータベース転送データ解析部55に渡さ
れる。
FIG. 6 is a block diagram showing the configuration of the load monitoring and control device 5. The load monitoring control device 5 measures a disk usage measuring unit 51 for measuring disk usage, a memory usage measuring unit 52 for measuring memory usage, and a CPU usage rate for the server hardware 21. The monitoring application 54 is connected to the monitoring application 54 via the CPU usage rate measuring unit 53, and the monitoring application 54 monitors the resource usage of the hardware 21 at regular intervals. The information of the monitoring application 54 is sent to the load detection processing unit 6. The information on the function transferred from the database 3 is passed from the hardware 21 of the server 2 to the database transfer data analysis unit 55.

【0027】データベース転送データ解析部55は、必
要な情報を抽出した後、関数に関する情報を負荷検知処
理部6へ渡す。負荷検知処理部6は、受け取ったデータ
ベースから転送されたデータの適当な部分とサーバのハ
ードウエア資源消費情報を合成してデータを作成し、こ
のデータから判断して、データベースへの関数の問い合
わせを行うかどうか、又はデータベースからのコンポー
ネントの受け取りを行うかどうかを決定する。
After extracting necessary information, the database transfer data analysis unit 55 passes information on the function to the load detection processing unit 6. The load detection processing unit 6 creates data by combining an appropriate part of the data transferred from the received database and the hardware resource consumption information of the server, judges from this data, and inquires of the database about a function. Determine whether to do so or whether to receive the component from the database.

【0028】図7は、負荷検知処理部6の構成を示すブ
ロック図である。負荷検知処理部6は、負荷情報保存部
61と負荷判断部62と負荷制御部63とから構成され
ている。
FIG. 7 is a block diagram showing the configuration of the load detection processing unit 6. The load detection processing unit 6 includes a load information storage unit 61, a load determination unit 62, and a load control unit 63.

【0029】図8は、負荷情報保存部61の構成を示す
ブロック図である。負荷情報保存部61は、サーバのハ
ードウエア資源の消費状況を監視する監視アプリケーシ
ョン54から報告されたデータを保存する負荷履歴保存
部611と、データベース転送データ解析部55から渡
された転送データから関数名やその関数が属するコンポ
ーネントを抽出したデータを保存するデータベース送信
記録保存部612と、これらの負荷履歴保存部611か
ら送られてくる負荷履歴データとデータベース送信記録
保存部612から送られてくる編集データとを合成する
負荷データ合成部613とから構成される。
FIG. 8 is a block diagram showing the configuration of the load information storage unit 61. The load information storage unit 61 includes a load history storage unit 611 that stores data reported from the monitoring application 54 that monitors the consumption status of the hardware resources of the server, and a function based on the transfer data passed from the database transfer data analysis unit 55. A database transmission record storage unit 612 for storing data obtained by extracting components to which names and functions belong, and load history data transmitted from the load history storage unit 611 and editing transmitted from the database transmission record storage unit 612 And a load data synthesizing unit 613 for synthesizing data.

【0030】図9は、図7に示した負荷判断部62の構
成を示すブロック図である。この負荷判断部62は、負
荷情報保存部61で作られたコールされる関数と負荷の
関係を示す合成データから、負荷が上昇した原因を割り
出す負荷原因推定手段621と、この推定結果を負荷原
因関数リストとして記憶する負荷原因記憶手段613
と、サーバのデータベースに対するアクセスを制御する
かどうかを判断する負荷制御判定手段623から構成さ
れる。
FIG. 9 is a block diagram showing a configuration of the load determining section 62 shown in FIG. The load determining unit 62 includes a load cause estimating unit 621 that determines the cause of the increase in load from the composite data indicating the relationship between the called function and the load created by the load information storage unit 61, Load cause storage means 613 for storing as a function list
And load control determining means 623 for determining whether to control access to the database of the server.

【0031】図10は、負荷制御部63の構成を示すブ
ロック図である。この負荷制御部63は、負荷判断部6
2で負荷制御が必要であるときに出されるフラグを発見
する負荷制御感知手段631と、サーバ2のデータベー
ス3に対するアクセスを実際に制御する負荷制御実行手
段632とから構成される。負荷制御実行手段632
は、負荷原因記憶手段622に記憶されている負荷原因
関数リストを参照して過負荷になることを予想するか、
あるいは過負荷のフラグが出されていることを受けて、
関数をデータベースに問い合わせるための関数問い合わ
せキューにエントリされている関数問い合わせフレー
ム、及びデータベース転送データキューに返されるデー
タベース転送データフレームを制御する。
FIG. 10 is a block diagram showing the configuration of the load control unit 63. The load control unit 63 includes a load determination unit 6
2 includes a load control sensing unit 631 for finding a flag issued when load control is required, and a load control execution unit 632 for actually controlling access to the database 3 of the server 2. Load control execution means 632
Refers to the load cause function list stored in the load cause storage means 622 to predict that an overload will occur,
Or in response to the overload flag being issued,
It controls the function inquiry frame entered in the function inquiry queue for inquiring the function to the database and the database transfer data frame returned to the database transfer data queue.

【0032】以上に示した本実施形態のプログラム処理
装置の動作について説明する。図1に示したサーバ2
は、異なる複数のユーザプログラムに対して、コンパイ
ルと実行を並行して行う。
The operation of the above-described program processing apparatus according to the present embodiment will be described. Server 2 shown in FIG.
Compiles and executes a plurality of different user programs in parallel.

【0033】これらのユーザプログラムは、複数のコン
ポーネントから構成され、これらのコンポーネントには
関数が含まれる。サーバ2がソースプログラム実行命令
時にこれらの関数に出会うと、まず、サーバ2内にある
ソースプログラム毎に管理されているコンポーネント依
存関係情報テーブル10を調べる。コンポーネント依存
関係情報テーブル10に関数が存在しなければ、関数問
い合わせデータフレームによって、関数問い合わせキュ
ーからデータベース3に関数を問い合わせる。データベ
ース3側では、プログラムインデックスからユーザが指
定したコンポーネント依存関係情報テーブルがこの関数
の属するコンポーネント、及びこの時点でこの関数につ
いて依存関係にあるコンポーネントを調べ、データベー
ス転送フレームによってこれをサーバ2に転送する。サ
ーバ2は、データベース転送データキューからこれを取
得する。
These user programs are composed of a plurality of components, and these components include functions. When the server 2 encounters these functions at the time of a source program execution instruction, the server 2 first checks the component dependency information table 10 managed for each source program in the server 2. If the function does not exist in the component dependence information table 10, the function inquiry queue inquires the database 3 of the function from the function inquiry queue. On the database 3 side, the component dependency information table specified by the user from the program index examines the component to which this function belongs and the component which is dependent on this function at this time, and transfers this to the server 2 by a database transfer frame. . The server 2 acquires this from the database transfer data queue.

【0034】サーバ2が関数の属するコンポーネントを
獲得すると、この関数が実行に必要とされる分のソース
コードをコンパイルして、それまでに処理されたユーザ
プログラムのオブジェクトプログラムとリンクを行った
後、再実行する。
When the server 2 acquires the component to which the function belongs, the function compiles the source code required for the execution and links the object program of the user program processed up to that time. Try again.

【0035】例えば、図4に示すように、ユーザプログ
ラムprog1をコンパイルして関数func1に出会うと、デー
タベースへ問い合わせ、データベースのコンポーネント
依存関係情報テーブルが所属コンポーネントAと関数fu
nc1に依存しているコンポーネントがB及びCをサーバ
に転送し、サーバはこれらのコンポーネントA,B,C
を取得し、必要な部分をコンパイル、リンクし、再実行
する。その後、その関数についてのコンポーネント依存
関係情報テーブルを新規作成又は更新する。
For example, as shown in FIG. 4, when the user program prog1 is compiled and the function func1 is encountered, an inquiry is made to the database, and the component dependency information table of the database shows the belonging component A and the function fu.
The component that depends on nc1 forwards B and C to the server, which in turn sends these components A, B, C
And compile, link, and re-run the necessary parts. Then, a component dependency information table for the function is newly created or updated.

【0036】特に、サーバ2は、実行中に前回に行った
処理と比較して関数に依存するコンポーネントに変更を
生じた場合には、サーバ上にこのコンポーネントが存在
している場合はこれを使用し、存在しない場合はデータ
ベース3にこのコンポーネントを要求する。
In particular, the server 2 uses this component if it exists on the server when a component that depends on the function changes during execution compared to the previous process. If it does not exist, the database 3 is requested for this component.

【0037】例えば、図5に示すように、関数func2()
が前回コールされたとき依存するコンポーネントとして
A、Cを有していたが、その後、何らかの理由によって
この関数の依存関係に変化が生じていたとする。関数fu
nc2()が最初にコールされたとき、サーバ2上のコンポ
ーネント依存関係情報テーブルに基づいて依存コンポー
ネントA、Cからコンパイル、リンクを試みるが、実行
に必要なコンポーネントが発見できないことになる。そ
こで、データベース3に関数を問い合わせると、データ
ベース3は、コンポーネントAとコンポーネントXが実
行に必要なコンポーネントであるという情報と、コンポ
ーネントXをサーバに転送する。サーバ2はこれらを受
け取った後、関数をコンパイル、リンクして実行し、更
にコンポーネント依存関係情報テーブルを更新する。以
上はコンポーネントXがサーバ2上に存在していない場
合であるが、サーバ2上に存在している場合は、コンポ
ーネントXを転送する必要はない。
For example, as shown in FIG. 5, the function func2 ()
Has the components A and C as dependencies when it was called last time, but it is assumed that the dependency of this function has changed for some reason thereafter. Function fu
When nc2 () is called for the first time, an attempt is made to compile and link from the dependent components A and C based on the component dependency information table on the server 2, but the component required for execution cannot be found. Therefore, when the database 3 is inquired about a function, the database 3 transfers information that the components A and X are components necessary for execution and the component X to the server. After receiving these, the server 2 compiles, links, and executes the function, and further updates the component dependency information table. The above is a case where the component X does not exist on the server 2. However, when the component X exists on the server 2, there is no need to transfer the component X.

【0038】本実施形態においては、サーバ2が管理し
ている各コンポーネント間の依存関係は、プログラム実
行中は、サーバ2上のコンポーネント依存関係情報テー
ブル10のみを変更して、データベース上のコンポーネ
ント依存関係情報テーブル10は変更せず、プログラム
終了後に、ユーザがデータベース3に対してこれを反映
させることが可能になっている。
In the present embodiment, during the execution of a program, only the component dependency information table 10 on the server 2 is changed, and the dependency between the components managed by the server 2 is changed. The relation information table 10 is not changed, and the user can reflect this in the database 3 after the program ends.

【0039】すなわち、プログラム終了後に、処理の過
程で追加、修正を施された依存関係に対して、これを表
示してユーザ側からこれらの依存関係の変更を許可する
かどうかを選択できる手段が設けられている。
That is, after the program is completed, there is provided a means for displaying the dependency added or corrected in the course of processing and allowing the user to select whether or not to permit the change of the dependency. Is provided.

【0040】これらの依存関係の変更は全てプログラム
を実行したサーバ2上で一時的に保存されており、依存
関係の変更を許可した場合は、変更された依存関係に更
新した後、これを保存する。許可しない場合は、この依
存関係の変更を削除して変更以前の依存関係に戻す。こ
れらの依存関係の変更についての許可、不許可はユーザ
(サーバ)の側からデフォルト値で設定することも可能
である。依存関係の変更を許可した場合は、サーバがデ
ータベースに対してこの変更を通知する。データベース
は、サーバから通知された依存関係の変更を受けて、排
他処理により依存関係を更新する。これによって、これ
以降に実行されるソースプログラムにおける関数の問い
合わせは、この依存関係が基準となって行われる。
All of these changes in the dependency are temporarily stored on the server 2 that has executed the program. If the change of the dependency is permitted, the dependency is updated and then stored. I do. If not, the change of the dependency is deleted and the dependency before the change is returned. Permission and non-permission for changing these dependencies can be set by default values from the user (server) side. If you allow a dependency change, the server notifies the database of the change. In response to the change of the dependency notified from the server, the database updates the dependency by exclusive processing. As a result, inquiries about functions in the source program to be executed thereafter are made based on this dependency.

【0041】本発明では、このような2つ以上のソース
プログラムを並行処理するプログラム処理装置における
問題点、すなわち、実行コードが増加して実行ファイル
のサイズが過剰となったり、負荷そのものが大きくなり
すぎると処理が停止し、ソースプログラム処理が円滑に
進められないおそれがある問題を解決するため、サーバ
2に負荷監視制御装置5を設けている。以下、負荷監視
制御装置によってサーバのハードウエアの負荷を判断す
る方法とデータベースへの問い合わせを制限する過程に
ついて説明する。
According to the present invention, there is a problem in such a program processing apparatus that processes two or more source programs in parallel, that is, the number of executable codes increases, the size of an executable file becomes excessive, or the load itself increases. If it is too long, the processing is stopped and the load monitoring control device 5 is provided in the server 2 in order to solve the problem that the source program processing may not proceed smoothly. Hereinafter, a method of determining the load on the hardware of the server by the load monitoring control device and a process of restricting an inquiry to the database will be described.

【0042】監視アプリケーション54は、ディスク使
用量計測手段51、メモリ使用率計測手段52、CPU
使用率計測手段53によって、一定時間毎にサーバのハ
ードウエア資源5を監視している。この情報を受けた負
荷検知処理部6の負荷履歴保存部611はその時の情報
に基づいて、図11に示すような表を管理する。この表
は、図11に示すように、例えばある時刻のCPU使用
率、メモリ使用率、ディスク使用率が記録され、負荷履
歴保存部611に負荷履歴リストとして管理される。
The monitoring application 54 includes a disk usage measuring unit 51, a memory usage measuring unit 52, a CPU
The usage resource measuring unit 53 monitors the hardware resources 5 of the server at regular intervals. The load history storage unit 611 of the load detection processing unit 6 receiving this information manages a table as shown in FIG. 11 based on the information at that time. As shown in FIG. 11, this table records, for example, a CPU usage rate, a memory usage rate, and a disk usage rate at a certain time, and is managed by the load history storage unit 611 as a load history list.

【0043】一方、データベース3から転送されてくる
データに関しては、次のように処理する。サーバ2のハ
ードウエア21は、データベース3から転送されてきた
コンポーネント情報をデータベース転送データ解析部5
5に渡し、データベース転送データ解析部55は、この
情報を図12に示すように編集する。編集された転送デ
ータ表は、例えば、サーバが受信した時刻に転送されて
きた関数名、その関数の所属するコンポーネント名、そ
の関数に依存するコンポーネント名が記述され、データ
ベース送信記録保持部612に保存する。
On the other hand, the data transferred from the database 3 is processed as follows. The hardware 21 of the server 2 converts the component information transferred from the database 3 to the database transfer data analysis unit 5
The database transfer data analysis unit 55 edits this information as shown in FIG. The edited transfer data table describes, for example, the name of the function transferred at the time of reception by the server, the name of the component to which the function belongs, and the name of the component dependent on the function, and is stored in the database transmission record holding unit 612. I do.

【0044】負荷データ合成部613は、図13に示す
ように、データベース送信記録保持部612からの編集
済み転送データ表を、負荷履歴保存部611からの編集
した時刻に最も近い負荷履歴リストの負荷履歴に対して
合成する。このようにして作成されたデータは負荷判断
部62に送られる。
As shown in FIG. 13, the load data synthesizing unit 613 converts the edited transfer data table from the database transmission record holding unit 612 from the load history list closest to the edited time from the load history storage unit 611. Combine with history. The data created in this way is sent to the load determination unit 62.

【0045】負荷判断部62では、負荷原因推定手段6
21が、負荷データ合成部613で合成された編集済み
転送データが連結された負荷履歴リストを走査し、監視
アプリケーションで設定した負荷の限界増加割合に近い
箇所を発見し、その原因を表現するフラグ、例えば、メ
モリ負荷急増のフラグを立てると共に、これから所定時
間前までに負荷履歴リストに連結している転送データ表
を探索する。
In the load judgment section 62, the load cause estimating means 6
21 scans the load history list to which the edited transfer data synthesized by the load data synthesis unit 613 is linked, finds a location close to the limit increase rate of the load set by the monitoring application, and indicates a flag representing the cause. For example, a flag of a memory load sudden increase is set, and a transfer data table linked to the load history list is searched for a predetermined time before this.

【0046】例えば、図14に示すように、メモリ使用
率が急上昇したときの転送データ表を探索し、原因とな
った関数を推定する。もし、特徴的な関数が存在しない
場合は、一定時間前までに実行していた複数の関数を負
荷の大きい関数と見なすという手段を用いる。負荷の原
因となった関数が特定できる場合は、負荷原因関数リス
トに登録する。負荷原因推定手段621は、負荷原因記
憶手段622に負荷原因関数リストを登録する。この負
荷原因関数リストの要素は、図15に示すように、例え
ばCPU使用率、メモリ使用率、ディスク使用率のいず
れかを一定以上の割合で上昇させる関数名と、その関数
のインデックス、関数が属するコンポーネント名、ハー
ドウエアの負荷原因である。
For example, as shown in FIG. 14, the transfer data table when the memory usage rate rises sharply is searched to estimate the function that caused the transfer data table. If there is no characteristic function, a method is used in which a plurality of functions executed up to a predetermined time before are regarded as functions having a large load. If the function that caused the load can be identified, it is registered in the load cause function list. The load cause estimating unit 621 registers the load cause function list in the load cause storage unit 622. As shown in FIG. 15, the elements of the load cause function list include, for example, a function name for increasing any one of the CPU usage rate, the memory usage rate, and the disk usage rate at a certain rate or more, an index of the function, and a function. The name of the component to which it belongs and the load on the hardware.

【0047】また、負荷判断部62は、監視アプリケー
ション54から直接ディスク使用率、メモリ使用率、C
PU使用率の情報を一定時間毎に取得し、これらのハー
ドウエア資源のうちいずれかが過剰に使用されているか
どうかの判断を行う。過剰に使用されていると判断した
とき、負荷過剰フラグを立てる。
The load determining unit 62 directly receives the disk usage rate, the memory usage rate,
Information on the PU usage rate is acquired at regular intervals, and it is determined whether any of these hardware resources is excessively used. When it is determined that it is being used excessively, an overload flag is set.

【0048】負荷制御部63の負荷制御感知手段631
は、負荷過剰フラグが立っていることを確認して、負荷
制御実行手段632に対して負荷過剰フラグが立ってい
ることを知らせる。負荷制御実行手段632は、負荷過
剰フラグが立っている情報が通知されている間は、全て
のデータベース3への問い合わせを保留させる。また、
図16に示すように、データベースからのデータ転送が
あった場合はこれを取り出してコンポーネントは削除し
て無効にし、再度この関数の関数問い合わせフレームを
作成した後、これを関数問い合わせキューの先頭に付け
る。後続がある場合はその順番で先頭から順次関数問い
合わせフレームを挿入していく。これにより、サーバ2
のハードウエア21の負荷が大きいときは、負荷を軽減
させるように制御できる。ハードウエア21の負荷が少
なくなったときは、負荷過剰フラグが解除され、関数問
い合わせキューから挿入した関数問い合わせフレームを
データベース3に送り、データベース3から関数の取得
を開始する。
The load control sensing means 631 of the load control unit 63
Confirms that the excess load flag is set, and notifies the load control execution means 632 that the excess load flag is set. The load control execution unit 632 suspends inquiries to all the databases 3 while the information indicating that the overload flag is on is notified. Also,
As shown in FIG. 16, when there is a data transfer from the database, it is taken out, the component is deleted and invalidated, a function inquiry frame of this function is created again, and this is added to the head of the function inquiry queue. . If there is a subsequent one, the function inquiry frame is inserted sequentially from the beginning in that order. Thereby, the server 2
When the load of the hardware 21 is large, control can be performed to reduce the load. When the load on the hardware 21 decreases, the overload flag is released, the function inquiry frame inserted from the function inquiry queue is sent to the database 3, and the acquisition of the function from the database 3 is started.

【0049】また、本実施形態では、負荷過剰フラグが
立っていない場合でも、負荷判断部62は、一定時間毎
に負荷原因記憶手段622に管理されている負荷原因関
数リストをプローブし、負荷原因関数リストの関数名
(又は関数インデックス)とデータベース3に対する問
い合わせキュー又は受信キューに記録されている関数名
が一致しているかどうかをチェックしている。一致して
いる場合は、現在の負荷の状況にこれらが原因となる処
理による負荷分の上昇分を加算して、負荷過剰フラグが
立つ領域に及ぶと判定した場合、準負荷制御フラグを立
てる。
Further, in this embodiment, even when the overload flag is not set, the load judgment unit 62 probes the load cause function list managed in the load cause storage unit 622 at regular time intervals, and reads the load cause function list. It is checked whether the function name (or function index) in the function list matches the function name recorded in the inquiry queue or the reception queue for the database 3. If they match, a load increase due to the processing caused by these factors is added to the current load status, and if it is determined that the load is over the area where the overload flag is set, a quasi-load control flag is set.

【0050】負荷制御実行手段632は、図17(a)
に示すように、これらの関数の問い合わせを保留するた
めにこの関数問い合わせフレームを関数問い合わせキュ
ーの最後尾に移動させる。この関数問い合わせフレーム
しかない場合は、このフレームの転送を準負荷制御フラ
グが解除されるまで保留する。
FIG. 17A shows the load control execution means 632.
The function inquiry frame is moved to the end of the function inquiry queue to hold the inquiry of these functions as shown in FIG. If there is only this function inquiry frame, the transfer of this frame is suspended until the semi-load control flag is cleared.

【0051】また、図17(b)に示すように、データ
ベースからの転送があった場合は、コンポーネントは削
除してこのデータ部分を無効にし、更に関数の関数問い
合わせフレームを作成し、問い合わせキューの最後尾に
このフレームを挿入する。これにより、サーバのハード
ウエアの過剰負荷を未然に防止して、ソースプログラム
処理を円滑に行うことができる。
As shown in FIG. 17B, when there is a transfer from the database, the component is deleted to invalidate the data portion, a function inquiry frame of the function is created, and the inquiry queue of the inquiry queue is created. Insert this frame at the end. As a result, it is possible to prevent an excessive load on the hardware of the server, and to smoothly execute the source program processing.

【0052】この実施形態のプログラム処理装置によれ
ば、サーバは、異なる複数のユーザプログラムに対し
て、コンパイルと実行を並行して行う。これにより、関
数の問い合わせの時間にも他のソースプログラムの処理
が可能であり、全体の処理時間が短縮する。本実施例で
はサーバのみを例示しているが、現実にはクライアント
サーバ方式が一般的であり、この場合、複数のクライア
ントが同時にそれぞれプログラムを実行することにな
る。
According to the program processing device of this embodiment, the server compiles and executes a plurality of different user programs in parallel. As a result, the processing of another source program can be performed at the time of the function inquiry, and the overall processing time is reduced. In the present embodiment, only the server is illustrated, but in reality, a client-server system is generally used. In this case, a plurality of clients execute programs simultaneously.

【0053】ソースプログラムに存在する関数をデータ
ベースに問い合わせた結果、その関数の属するコンポー
ネント及びその関数について依存関係にあるコンポーネ
ントを全てサーバがロードした後、これをコンパイル、
リンクして実行し、そのときに生じうるコンポーネント
同士の依存関係の変更をサーバ上のみで行い、ソースプ
ログラム終了後、この修正された依存関係をデータベー
スに反映するのかの判断をユーザに任せることができる
ので、柔軟なプログラミング環境の構築が可能である。
As a result of querying the database for a function present in the source program, the server loads all the components to which the function belongs and the components which are dependent on the function, and compiles it.
It is possible to link and execute, change the dependencies between components that may occur at that time only on the server, and leave the decision on whether to reflect the corrected dependencies to the database after the source program ends. It is possible to build a flexible programming environment.

【0054】また、サーバ上で実行されるユーザソース
プログラム単位でコンポーネント依存関係を管理するコ
ンポーネント依存関係情報テーブルを設けているので、
変更されたコンポーネントの依存関係が実行中の他のソ
ースプログラムに影響することはない。
Further, since a component dependency information table for managing component dependencies in units of user source programs executed on the server is provided,
The changed component dependencies do not affect other running source programs.

【0055】また、データベース上のコンポーネント
は、依存関係がしばらくの間変化していなければ、複数
のユーザがこれらのコンポーネントを共有して使用でき
る。
In addition, as for the components on the database, a plurality of users can share and use these components if their dependencies have not changed for a while.

【0056】また、ソースプログラムを必要としたその
後のソースプログラムの実行について一貫性が保たれる
という利用も可能である。
Further, it is also possible to use such that the execution of the source program after the source program is required is kept consistent.

【0057】更に、サーバ上の複数のソースプログラム
の処理によってサーバのハードウエア資源がかなりの規
模で消費されている場合に、データベースへの関数の問
い合わせを保留したりデータベースからのコンポーネン
トを含むデータ転送を無効にしてもう一度データ転送を
行わせることができる負荷監視制御装置を設けたことに
より、サーバ上の負荷を軽減し、ソースプログラム処理
の停止を未然に防止して複数の異なるソースプログラム
処理を円滑に進めることができる。
Further, when the processing of a plurality of source programs on the server consumes a considerable amount of hardware resources of the server, a function inquiry to the database is suspended or data transfer including a component from the database is performed. A load monitoring and control device that can disable and restart data transfer to reduce the load on the server, prevent the source program processing from being stopped, and facilitate multiple different source program processing. You can proceed to.

【0058】なお、ユーザが誤って実行時に必要なコン
ポーネントを削除した場合、上述した実施形態では、転
送済みマークが付けられたコンポーネントはサーバに転
送されないことになる。そのため、プログラムの実行開
始、終了はサーバがデータベースに対してフレームを送
るようにして、プログラムの実行が開始されたことをデ
ータベースに認識させる必要がある。これにより、サー
バが該当するコンポーネントがサーバ上にないことを検
知して、データベースからコンポーネントを転送させる
ことが可能となる。
If the user mistakenly deletes a necessary component at the time of execution, in the above-described embodiment, the component with the mark of transferred is not transferred to the server. For this reason, it is necessary for the server to send frames to the database when starting and ending the execution of the program so that the database can recognize that the execution of the program has started. As a result, the server can detect that the corresponding component is not present on the server and transfer the component from the database.

【0059】本実施形態では、サーバ、データベースが
それぞれ一つの場合で説明しているが、複数のサーバ、
複数のデータベースであってもよい。
In the present embodiment, the case where one server and one database are used has been described.
There may be a plurality of databases.

【0060】また、本実施形態では、サーバが複数のソ
ースプログラムを処理するとしたが、これらのソースプ
ログラムは、クライアントのエディタによって記述さ
れ、サーバが実行処理を行ったものでもよい。
Further, in the present embodiment, the server processes a plurality of source programs. However, these source programs may be described by an editor of a client and executed by the server.

【0061】[0061]

【発明の効果】本発明のプログラム処理装置によれば、
ソースコードを逐次読み込み、コンパイルと実行をほぼ
同時に並行して行うソースプログラムの実行処理に際
し、ソースプログラムの実行処理を円滑化することがで
きる。
According to the program processing device of the present invention,
When executing the source program, which sequentially reads the source code and compiles and executes the program almost simultaneously, it is possible to smoothly execute the source program.

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

【図1】本発明のプログラム処理装置の概略の構成を示
す構成図である。
FIG. 1 is a configuration diagram showing a schematic configuration of a program processing device of the present invention.

【図2】サーバとデータベースのそれぞれが所有するコ
ンポーネントを示す概念図である。
FIG. 2 is a conceptual diagram showing components owned by each of a server and a database.

【図3】コンポーネント依存関係情報とコンポーネント
依存関係情報テーブルを示す概念図である。
FIG. 3 is a conceptual diagram showing component dependency information and a component dependency information table.

【図4】サーバのコンポーネント依存関係情報テーブル
を示す概念図である。
FIG. 4 is a conceptual diagram illustrating a component dependency information table of a server.

【図5】サーバが読み込んだコンポーネント依存関係情
報テーブルとその後に変化が生じたときのサーバがデー
タベースから新しいコンポーネントを取得する状態を示
す概念図である。
FIG. 5 is a conceptual diagram illustrating a component dependency relationship information table read by a server and a state where the server acquires a new component from a database when a change occurs thereafter.

【図6】本発明にかかる負荷監視制御装置の構成を示す
ブロック図である。
FIG. 6 is a block diagram showing a configuration of a load monitoring control device according to the present invention.

【図7】負荷監視制御装置の負荷検知処理部の構成を示
すブロック図である。
FIG. 7 is a block diagram illustrating a configuration of a load detection processing unit of the load monitoring control device.

【図8】負荷検知処理部の負荷情報保存部の構成を示す
ブロック図である。
FIG. 8 is a block diagram illustrating a configuration of a load information storage unit of the load detection processing unit.

【図9】負荷検知処理部の負荷判断部の構成を示すブロ
ック図である。
FIG. 9 is a block diagram illustrating a configuration of a load determination unit of the load detection processing unit.

【図10】負荷検知処理部の負荷制御部の構成を示すブ
ロック図である。
FIG. 10 is a block diagram illustrating a configuration of a load control unit of the load detection processing unit.

【図11】負荷履歴保存部で作成される負荷履歴と負荷
履歴リストを示す概念図である。
FIG. 11 is a conceptual diagram showing a load history and a load history list created by a load history storage unit.

【図12】データベース転送データ解析部で編集される
転送データを示す概念図である。
FIG. 12 is a conceptual diagram showing transfer data edited by a database transfer data analysis unit.

【図13】データ合成器で合成される転送データと負荷
履歴リストを示す概念図である。
FIG. 13 is a conceptual diagram showing transfer data and a load history list synthesized by a data synthesizer.

【図14】負荷推定手段による探索を示す概念図であ
る。
FIG. 14 is a conceptual diagram showing a search by a load estimating unit.

【図15】負荷原因記憶手段により登録される負荷原因
関数リストの要素を示す概念図である。
FIG. 15 is a conceptual diagram showing elements of a load cause function list registered by a load cause storage unit.

【図16】負荷制御実行手段が負荷制御感知手段からの
通知によってデータベースから転送されたフレームを処
理する状態を示す概念図である。
FIG. 16 is a conceptual diagram showing a state in which a load control execution unit processes a frame transferred from a database in response to a notification from a load control sensing unit.

【図17】(a)は、準負荷制御時に関数問い合わせフ
レームを関数問い合わせキューの最後尾に移動させる状
態を示す概念図であり、(b)は、データベースから転
送されたフレームを処理する状態を示す概念図である。
17A is a conceptual diagram showing a state in which a function inquiry frame is moved to the end of a function inquiry queue at the time of semi-load control, and FIG. 17B shows a state in which a frame transferred from a database is processed. FIG.

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

1 プログラム処理装置 2 コンピュータシステム(サーバ) 21 ハードウエア 3 データベース 4 バス 5 負荷監視制御装置 54 監視アプリケーション 6 負荷検知処理部 61 負荷情報保存部 62 負荷判断部 53 負荷制御部 REFERENCE SIGNS LIST 1 program processing device 2 computer system (server) 21 hardware 3 database 4 bus 5 load monitoring and control device 54 monitoring application 6 load detection processing unit 61 load information storage unit 62 load determination unit 53 load control unit

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のコンポーネントから構成されるソ
ースプログラムをマシンコードに変換して実行するに際
し、前記ソースプログラムに含まれる関数位置まで該ソ
ースプログラムをコンパイル、実行した後、この関数の
属する前記コンポーネント及びこの関数に依存している
前記コンポーネントを取得し、この関数の実行に必要な
部分をコンパイル、リンクして再実行するコンピュータ
システムと、 このコンピュータシステムとバスを介して接続され、前
記ソースプログラムに含まれる関数の属するコンポーネ
ント及びこの関数に依存しているコンポーネントを格納
し、前記コンピュータシステムの要求により関数の属す
るコンポーネント及びこの関数に依存しているコンポー
ネントを前記コンピュータシステムに与えるデータベー
スとを有するプログラム処理装置であって、前記コンピュータシステムが、 前記コンピュータシステム内の前記ハードウエアの負荷
履歴を一定時間ごとに監視する手段と、 この監視手段から報告された負荷履歴を保存する手段
と、 前記関数の受け取り時刻と前記負荷履歴とから負荷の大
きい関数を推定する推定手段と、 前記ハードウエアの負荷状態と前記負荷の大きい関数の
存在から過負荷状態となることを予測する判定手段と、 この判断手段からの情報を受けて前記コンピュータシス
テムからの前記データベースへの前記関数の属するコン
ポーネント及びこの関数に依存しているコンポーネント
の要求を中断させ、高負荷状態が解除されたときにコン
ポーネントの再要求を行う負荷制御手段とを備え、 自己内のハードウエアの負荷状態を監視及び制御する負
荷監視制御装置を 有する ことを特徴とするプログラム処
理装置。
When converting a source program including a plurality of components into machine code and executing the same, the source program is compiled and executed up to a function position included in the source program, and then the component to which the function belongs is included. And a computer system that obtains the component dependent on this function, compiles, links, and re-executes a part necessary for executing the function, and is connected to the computer system via a bus, and A database for storing the component to which the included function belongs and the component depending on the function, and providing the component to which the function belongs and the component depending on the function to the computer system at the request of the computer system; A program processing apparatus comprising, the computer system, the hardware load in said computer system
Means for monitoring the history at regular time intervals, and means for storing the load history reported from the monitoring means
And the load history based on the reception time of the function and the load history.
Estimating means for estimating a threshold function; and a load state of the hardware and a function having a large load.
Determining means for predicting an overload condition from the presence of the computer system;
From the system to the database to which the function belongs.
Components and components that depend on this function
Request when the high load condition is released.
A load control means for re-requesting a component, and a load control means for monitoring and controlling the load state of the internal hardware.
A program processing device comprising a load monitoring control device.
【請求項2】 請求項記載のプログラム処理装置にお
いて、 前記負荷監視制御装置が、前記コンピュータシステムの
前記ハードウエアが過負荷状態にあると判断した場合
に、前記データベースから受け取って未処理の前記コン
ポーネントを破棄し、該破棄したコンポーネントの再要
求信号を作成して保存することを特徴とするプログラム
処理装置。
2. The program processing device according to claim 1 , wherein said load monitoring and control device receives said unprocessed hardware from said database when said hardware of said computer system is overloaded. A program processing apparatus for discarding a component, creating and storing a re-request signal for the discarded component.
【請求項3】 請求項1又は2に記載のプログラム処理
装置において、前記コンピュータシステムが、複数の異
なるソースプログラムを並行してマシンコードに変換す
ることを特徴とするプログラム処理装置。
3. The program processing device according to claim 1 , wherein said computer system converts a plurality of different source programs into machine codes in parallel.
【請求項4】 請求項1,2又は3に記載のプログラム
処理装置において、前記コンピュータシステムが、ソー
スプログラム毎にそのソースプログラムのコンポーネン
ト間の依存関係を管理し、該依存関係の変更を前記コン
ピュータシステム上のみで保存するコンポーネント依存
関係情報テーブルを備え、前記ソースプログラの全てを
実行した後、前記データベースに対してコンポーネント
依存関係情報テーブルを反映させることができることを
特徴とするプログラム処理装置。
4. The program processing apparatus according to claim 1, 2 or 3, wherein the computer system to manage the dependencies between the components of the source program for each source program, the computer changes the dependencies A program processing apparatus comprising: a component dependency relationship information table stored only on a system, wherein after executing all of the source programs, the component dependency relationship information table can be reflected in the database.
JP12653598A 1998-05-08 1998-05-08 Program processing device Expired - Fee Related JP3259682B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12653598A JP3259682B2 (en) 1998-05-08 1998-05-08 Program processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12653598A JP3259682B2 (en) 1998-05-08 1998-05-08 Program processing device

Publications (2)

Publication Number Publication Date
JPH11327917A JPH11327917A (en) 1999-11-30
JP3259682B2 true JP3259682B2 (en) 2002-02-25

Family

ID=14937613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12653598A Expired - Fee Related JP3259682B2 (en) 1998-05-08 1998-05-08 Program processing device

Country Status (1)

Country Link
JP (1) JP3259682B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6078515B2 (en) 2014-11-13 2017-02-08 京セラドキュメントソリューションズ株式会社 Electronic equipment and programs

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63111538A (en) * 1986-10-29 1988-05-16 Mitsubishi Electric Corp Control system for program translation
JPH0683650A (en) * 1992-08-31 1994-03-25 Fujitsu Ltd System resources monitoring method
JPH09282174A (en) * 1996-04-10 1997-10-31 Hitachi Ltd Program execution method

Also Published As

Publication number Publication date
JPH11327917A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JP4151977B2 (en) Prefetching device, prefetching method, and prefetching program
US5349656A (en) Task scheduling method in a multiprocessor system where task selection is determined by processor identification and evaluation information
US7243346B1 (en) Customized library management system
US7284238B2 (en) Multithread tracing method and apparatus
US8996811B2 (en) Scheduler, multi-core processor system, and scheduling method
JP4003830B2 (en) Method and system for transparent dynamic optimization in a multiprocessing environment
US7840957B2 (en) Computer program and apparatus for updating installed software programs by comparing update times
US6192513B1 (en) Mechanism for finding spare registers in binary code
US20070226715A1 (en) Application server system and computer product
US8190599B2 (en) Stream data processing method and system
US20050278318A1 (en) Iterative development with prioritized build
CN101681256A (en) It automation appliance imaging system and method
US5634120A (en) Computer system supporting utilization of utility functions applicable to concurrently executing jobs by monitoring job excution characteristics and determining eligible job combinations for utility function
JP2013504124A (en) A lightweight service-based dynamic binary rewriter framework
US6971102B2 (en) Computer system, memory management method, storage medium and program transmission apparatus
JPH05282266A (en) Self-organizing parallel computer system and its method
US6735761B1 (en) Compile method frame detection method and device code discarding method and computer
JP3259682B2 (en) Program processing device
JP2009251871A (en) Contention analysis device, contention analysis method, and program
JP3642772B2 (en) Computer apparatus and program execution method
RU2206119C2 (en) Method for producing object code
JP4380375B2 (en) Document collection device and computer program for document collection
JPH11328138A (en) Distributed computer system
JPH1153401A (en) Automatic index geenration system for database
JP5577518B2 (en) Memory management method, computer and memory management program

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees