JP2001092793A - Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position - Google Patents

Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position

Info

Publication number
JP2001092793A
JP2001092793A JP27138699A JP27138699A JP2001092793A JP 2001092793 A JP2001092793 A JP 2001092793A JP 27138699 A JP27138699 A JP 27138699A JP 27138699 A JP27138699 A JP 27138699A JP 2001092793 A JP2001092793 A JP 2001092793A
Authority
JP
Japan
Prior art keywords
distributed
information
description file
registered
server
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
JP27138699A
Other languages
Japanese (ja)
Inventor
Takashi Onoyama
隆 小野山
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP27138699A priority Critical patent/JP2001092793A/en
Publication of JP2001092793A publication Critical patent/JP2001092793A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method capable of properly standardizing loads of plural servers and contributing to securing of target responsiveness of client application or target performance in complicated execution environment. SOLUTION: Execution frequency of plural applications to use distributed objects in specified monitoring period is detected, the execution frequency of each distributed object per specified time is calculated based on the detected execution frequency of each application, information regarding mutual call relation between the distributed objects and information of the distributed objects to be used by each application, performance when each application is executed is further estimated based on information regarding execution characteristics of each server, information regarding execution characteristics of each distributed object and information of the execution frequency of the distributed objects per specified time after the loads of each server are estimated and its estimation result is outputted.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のサーバコン
ピュータにオブジェクトを分散配置し、各分散オブジェ
クトをクライアントコンピュータに搭載された複数のア
プリケーションプログラムから逐次呼び出して所定の処
理を実行するコンピュータシステムあるいはコンピュー
タネットワークシステムにおいて、分散オブジェクトの
適正配置条件を推定する方法および適正配置を決定する
方法並びに装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system or a computer which distributes objects to a plurality of server computers, sequentially calls each distributed object from a plurality of application programs mounted on a client computer, and executes predetermined processing. The present invention relates to a method for estimating a proper arrangement condition of a distributed object and a method and an apparatus for determining an appropriate arrangement in a network system.

【0002】[0002]

【従来の技術】コンピュータの利用形態はホストによる
バッチ処理やTSS処理から、PCやワークステーショ
ンの発達によりクライアント・サーバシステムなどのネ
ットワークを中心としたアーキテクチャーに推移してき
ている。特に最近ではプログラムの再利用性を高めるた
めに、オブジェクト指向に基づくシステム開発が増加し
ている。オブジェクトはプログラマが扱う現実世界をモ
デル化するに際し、より具体的なアプローチを提供する
と共に、オブジェクトの有するデータをオブジェクトの
有するインターフェイスを介してのみアクセスを許すこ
とによって情報の隠蔽を図り、不当なデータの書き換え
などの危険な操作を防止するものである。
2. Description of the Related Art Computer usage has shifted from batch processing and TSS processing by a host to an architecture centered on a network such as a client / server system due to the development of PCs and workstations. Particularly in recent years, system development based on object orientation has been increasing in order to enhance the reusability of programs. Objects provide a more specific approach to modeling the real world handled by programmers, as well as conceal information by permitting access to data in objects only through the interfaces in the objects, and It is intended to prevent dangerous operations such as rewriting data.

【0003】従来のオブジェクト指向技術にあっては、
1台のコンピュータの中に格納したオブジェクト間でや
り取りを行って計算を進めるものであったが、ネットワ
ーク上の複数のコンピュータにオブジェクトを分散配置
して計算を行う分散オブジェクト環境も実用化が進めら
れてきている。
[0003] In the conventional object-oriented technology,
Although the calculation is performed by exchanging objects stored in one computer, the distributed object environment for performing the calculation by distributing the objects to a plurality of computers on a network has been developed. Is coming.

【0004】このような分散オブジェクト環境としては
米国のOMG(オブジェクトマネージメントグループ)
が規格制定を進めたCORBA環境とJava言語に付
随したJava−RMIまたマイクロソフト社が提唱し
ているDCOMなどが挙げられる。分散オブジェクト環
境を利用すると、従来の単純なクライアント・サーバシ
ステムに比較して多くの利点があるが、問題点も多く残
っている。
As such a distributed object environment, there is an OMG (Object Management Group) in the United States.
And the Java-RMI attached to the Java language, and DCOM proposed by Microsoft. Using a distributed object environment has many advantages over conventional simple client-server systems, but it still has many problems.

【0005】分散オブジェクト環境では、1つのアプリ
ケーションの実行に関連するオブジェクトは多くのコン
ピュータ上に配置される。また、同一のネットワーク環
境で複数のアプリケーションが実行される。また、この
複数のアプリケーションでは同一の分散オブジェクトを
共有するなど非常に複雑な実行環境となっている。
[0005] In a distributed object environment, objects related to the execution of one application are located on many computers. Also, a plurality of applications are executed in the same network environment. Further, the plurality of applications have a very complicated execution environment such as sharing the same distributed object.

【0006】このような環境下でサーバの過負荷を回避
してアプリケーションを適切な性能(起動命令に対して
実行状態になるまでの応答時間などの性能)で実行させ
る環境を維持することは困難な作業である。このため、
システムの管理者は負荷の高いサーバコンピュータ(以
下、サーバと略記)へ配置している分散オブジェクトを
他のサーバへ再配置することによりシステムのレスポン
スの改善を図っている。
In such an environment, it is difficult to avoid an overload on the server and maintain an environment in which the application can be executed with appropriate performance (performance such as a response time until an execution state is reached in response to a start instruction). Work. For this reason,
The system administrator attempts to improve the response of the system by relocating the distributed objects located on the server computer (hereinafter abbreviated as a server) with a high load to another server.

【0007】しかし、このような人手による再配置で
は、どのように再配置を行うかは全て人間に委ねられて
おり、単純に負荷の高い分散オブジェクトを他のサーバ
に移すと、移されたサーバが過負荷に陥る危険性もあ
る。
However, in such a manual relocation, how to perform the relocation is entirely left to a human, and when a distributed object having a high load is simply moved to another server, the relocated server is relocated. May be overloaded.

【0008】一方、ネットワークシステムでは、サーバ
の配置を動的に変更することも試みられている。例えば
特開平10−105500号(ネットワーク・サーバの
動的再構成)では、サーバの負荷が高まると、そのサー
バへのクライアントコンピュータ(以下、クライアント
と略記)からの要求の一部を別サーバにリダイレクトす
ることにより、クライアント要求に対して別サーバを応
答させる方法が提案されている。しかし、この方法でも
サーバに対する過負荷発生時の代理サーバを予め決めて
おいたとしても、サーバ数が増大すると、リダイレクト
した後のクライアントへの応答性能を保証できなくなる
場合がある。
On the other hand, in a network system, attempts have been made to dynamically change the arrangement of servers. For example, in Japanese Patent Application Laid-Open No. H10-105500 (dynamic reconfiguration of a network server), when the load on a server increases, a part of a request from a client computer (hereinafter abbreviated as a client) to the server is redirected to another server. Thus, a method has been proposed in which another server responds to a client request. However, even in this method, even if the proxy server when the server is overloaded is determined in advance, if the number of servers increases, the response performance to the client after the redirect may not be guaranteed.

【0009】[0009]

【発明が解決しようとする課題】多数の分散オブジェク
トと多数のサーバから構成される複雑なコンピュータネ
ットワーク環境では、分散オブジェクトをどのサーバに
配置するかによりクライアントからの要求に対する応答
時間は大きく影響される。
In a complex computer network environment composed of a large number of distributed objects and a large number of servers, the response time to a request from a client is greatly affected by which server the distributed objects are located. .

【0010】分散システムの実行時における各サーバの
負荷のみによって多数の分散オブジェクトを動的もしく
は静的に再配置した場合、再配置により始め問題となっ
たサーバと異なるサーバに対し負荷状態を単に移すだけ
の結果となる場合もある。そこで、システム全体におい
て多数の分散オブジェクトを如何にして適正配置するか
が問題となる。
When a large number of distributed objects are dynamically or statically relocated only by the load of each server during execution of the distributed system, the load state is simply transferred to a server different from the server which has become a problem due to the relocation. May be the only result. Therefore, there is a problem how to properly arrange a large number of distributed objects in the entire system.

【0011】このような適正配置を考える場合に、特に
最近の企業等で用いられているイントラネットにおいて
は、サーバ数も多く、ネットワークのレスポンスを確保
するためにルータなどの機器によりネットワークは分割
されているなど、分散オブジェクトの実行環境が複雑さ
を増していることについて考慮しなければならない。
When considering such an appropriate arrangement, especially in an intranet used by a recent company or the like, the number of servers is large, and the network is divided by a device such as a router in order to secure a response of the network. Consideration must be given to the increasing complexity of distributed object execution environments.

【0012】すなわち、最近の企業等で用いられている
イントラネットにおいては、システムの安全性を確保す
る必要から、特定の分散オブジェクトはルータによって
分割された特定のサーバに配置しなければならないとい
う制約が課される場合がある。
That is, in an intranet used in recent enterprises and the like, there is a restriction that a specific distributed object must be placed on a specific server divided by a router in order to secure system security. May be imposed.

【0013】例えば、機密事項を扱うアプリケーション
に関連する分散オブジェクトは、そのアプリケーション
を扱うことが許されている特定部門に属するサーバに配
置しなければならないという制約が課される。また、大
容量のデータベースは、特定のサーバ上でしか運用でき
ず、他のマシンに移動することもできないため、そのデ
ータベースを直接利用する分散オブジェクトについて
は、データベースを運用する特定のサーバへ配置しなけ
ればならないという制約がある。
For example, there is a restriction that a distributed object related to an application that handles confidential matters must be placed on a server belonging to a specific department that is allowed to handle the application. In addition, since a large-capacity database can be operated only on a specific server and cannot be moved to another machine, distributed objects that directly use the database are allocated to a specific server that operates the database. There is a restriction that it must be.

【0014】本発明は、このような複雑な実行環境にお
いて複数のサーバの負荷を適切に平準化すると共に、目
標とするクライアントアプリケーションの応答性または
目標性能を確保するのに貢献できる分散オブジェクトの
適正配置条件を推定する方法および適正配置位置の決定
方法並びに装置を提供することを第1の目的とする。
According to the present invention, in such a complicated execution environment, the load of a plurality of servers is appropriately leveled, and the appropriateness of a distributed object that can contribute to ensuring the responsiveness or the target performance of a target client application. A first object is to provide a method for estimating an arrangement condition and a method and an apparatus for determining an appropriate arrangement position.

【0015】また、分散オブジェクトの配置制約がある
場合でも、この配置制約を満たすように、分散オブジェ
クトの適正配置を実現するのに貢献できる分散オブジェ
クトの適正配置条件の推定方法および適正配置位置の決
定方法並びに装置を提供することを第2の目的とする。
Further, even when there are restrictions on the arrangement of distributed objects, a method for estimating proper arrangement conditions of distributed objects and determining an appropriate arrangement position can contribute to realizing proper arrangement of distributed objects so as to satisfy the arrangement restrictions. It is a second object to provide a method and apparatus.

【0016】[0016]

【課題を解決するための手段】上記第1の目的を達成す
るために、本発明の適正配置推定方法は、分散オブジェ
クトを逐次呼び出して所定の処理を実行するクライアン
トコンピュータに搭載された複数のアプリケーションプ
ログラムの所定監視期間における実行回数を検出するア
プリケーション実行監視手段と、複数のサーバコンピュ
ータに分散配置した分散オブジェクト間の相互呼び出し
関係を登録した関係記述ファイルと、前記クライアント
コンピュータに搭載された複数のアプリケーションプロ
グラムがいずれの分散オブジェクトを使用するかを登録
したアプリケーション記述ファイルと、各サーバコンピ
ュータの実行性能を登録したサーバ記述ファイルと、ネ
ットワーク内の複数のサーバコンピュータにおける分散
オブジェクト間の呼び出し所要時間に関する情報を登録
したネットワーク呼び出し時間関係記述ファイルと、前
記複数のサーバコンピュータに分散配置した各分散オブ
ジェクトの実行特性を登録したオブジェクト特性記述フ
ァイルとを備え、前記アプリケーション実行監視手段に
よって検出した各アプリケーションプログラムの実行回
数の情報と前記関係記述ファイルに登録された分散オブ
ジェクト間の相互呼び出し関係の情報および前記アプリ
ケーション記述ファイルに登録された各アプリケーショ
ンプログラムが使用する分散オブジェクトの情報とに基
づき、所定時間当りの各分散オブジェクトの実行回数を
算出する第1のステップと、前記サーバ記述ファイルに
登録された各サーバコンピュータの実行特性に関する情
報および前記オブジェクト特性記述ファイルに登録され
た各分散オブジェクトの実行特性に関する情報と前記第
1のステップで算出された所定時間当りの分散オブジェ
クトの実行回数の情報に基づき、各サーバコンピュータ
の負荷を推定する第2のステップと、負荷の推定結果の
情報と前記ネットワーク特性記述ファイルに登録された
分散オブジェクト間の呼び出し所要時間に関する情報に
基づき、各アプリケーションプログラム実行時の性能を
推定し、その推定結果を分散オブジェクトの適正配置を
決定するための情報として出力する第3のステップとを
備えることを特徴とする分散オブジェクトの適正配置推
定方法。
In order to achieve the first object, a proper arrangement estimating method according to the present invention comprises a plurality of applications mounted on a client computer for sequentially calling a distributed object and executing a predetermined process. Application execution monitoring means for detecting the number of executions of the program during a predetermined monitoring period, a relation description file in which a mutual call relation between distributed objects distributed in a plurality of server computers is registered, and a plurality of applications mounted on the client computer An application description file that registers which distributed object the program uses, a server description file that registers the execution performance of each server computer, and a distributed object between multiple server computers in the network. A network call time relational description file in which information on a required time for taking out is registered, and an object characteristic description file in which execution characteristics of each distributed object distributed in the plurality of server computers are registered, and detected by the application execution monitoring means. Based on the information on the number of executions of each application program and information on the mutual call relationship between distributed objects registered in the relationship description file and information on distributed objects used by each application program registered in the application description file, A first step of calculating the number of executions of each distributed object per predetermined time, information on execution characteristics of each server computer registered in the server description file, and the object characteristic description A second step of estimating the load on each server computer based on the information on the execution characteristics of each distributed object registered in the file and the information on the number of executions of the distributed object per predetermined time calculated in the first step. Based on the information on the load estimation result and the information on the required call time between the distributed objects registered in the network characteristic description file, the performance at the time of executing each application program is estimated, and the estimation result is used to determine the proper arrangement of the distributed object. And a third step of outputting as information for determination.

【0017】また、本発明の分散オブジェクト配置位置
決定方法は、分散オブジェクトを逐次呼び出して所定の
処理を実行するクライアントコンピュータに搭載された
複数のアプリケーションプログラムの所定監視期間にお
ける実行回数を検出するアプリケーション実行監視手段
と、複数のサーバコンピュータに分散配置した分散オブ
ジェクト間の相互呼び出し関係を登録した関係記述ファ
イルと、前記クライアントコンピュータに搭載された複
数のアプリケーションプログラムがいずれの分散オブジ
ェクトを使用するかを登録したアプリケーション記述フ
ァイルと、各サーバコンピュータの実行性能を登録した
サーバ記述ファイルと、ネットワーク内の複数のサーバ
コンピュータにおける分散オブジェクト間の呼び出し所
要時間に関する情報を登録したネットワーク呼び出し時
間関係記述ファイルと、前記複数のサーバコンピュータ
に分散配置した各分散オブジェクトの実行特性を登録し
たオブジェクト特性記述ファイルと、前記各アプリケー
ションプログラム毎の目標性能に関する情報を登録した
アプリケーション目標性能記述ファイルとを備え、前記
アプリケーション実行監視手段によって検出した各アプ
リケーションプログラムの実行回数の情報と前記関係記
述ファイルに登録された分散オブジェクト間の相互呼び
出し関係の情報および前記アプリケーション記述ファイ
ルに登録された各アプリケーションプログラムが使用す
る分散オブジェクトの情報とに基づき、所定時間当りの
各分散オブジェクトの実行回数を算出する第1のステッ
プと、前記サーバ記述ファイルに登録された各サーバコ
ンピュータの実行特性に関する情報および前記オブジェ
クト特性記述ファイルに登録された各分散オブジェクト
の実行特性に関する情報と前記第1のステップで算出さ
れた所定時間当りの分散オブジェクトの実行回数の情報
に基づき、各サーバコンピュータの負荷を推定する第2
のステップと、負荷の推定結果の情報と前記ネットワー
ク特性記述ファイルに登録された分散オブジェクト間の
呼び出し所要時間に関する情報に基づき、各アプリケー
ションプログラム実行時の性能を推定する第3のステッ
プと、各アプリケーションプログラム実行時の性能の推
定結果に関する情報と前記アプリケーション目標性能記
述ファイルに登録された各アプリケーションプログラム
毎の目標性能に関する情報とに基づき、目標性能を満た
す分散オブジェクトの配置サーバを決定する第4のステ
ップとを備えることを特徴とする。
Further, the distributed object arrangement position determining method according to the present invention is an application execution method for detecting the number of executions in a predetermined monitoring period of a plurality of application programs mounted on a client computer for sequentially calling a distributed object and executing a predetermined process. A monitoring means, a relation description file in which mutual call relations between distributed objects distributed in a plurality of server computers are registered, and which distributed object is used by a plurality of application programs mounted on the client computer are registered. An application description file, a server description file in which the execution performance of each server computer is registered, and information on the time required for calling between distributed objects in a plurality of server computers in the network. A network call time relation description file, an object characteristic description file in which execution characteristics of each distributed object distributed in the plurality of server computers are registered, and an application target in which information on target performance for each application program is registered. A performance description file, information on the number of executions of each application program detected by the application execution monitoring means, information on mutual call relationships between distributed objects registered in the relationship description file, and information registered in the application description file. A first step of calculating the number of executions of each distributed object per predetermined time based on information on the distributed objects used by each application program; The information on the execution characteristics of each server computer, the information on the execution characteristics of each distributed object registered in the object characteristic description file, and the information on the number of executions of the distributed object per predetermined time calculated in the first step. A second method for estimating the load on each server computer based on the
And a third step of estimating the performance at the time of executing each application program based on the information on the load estimation result and the information on the required call time between the distributed objects registered in the network characteristics description file. A fourth step of determining a distributed object placement server that satisfies the target performance based on the information on the performance estimation result at the time of program execution and the information on the target performance for each application program registered in the application target performance description file. And characterized in that:

【0018】また、上記第2の目的を達成するために、
本発明の適正配置推定方法および配置位置決定方法は、
特定のサーバコンピュータもしくはサーバグループへ配
置することが制約される分散オブジェクトを登録した分
散オブジェクト配置制約ファイルをさらに備え、前記第
4のステップまたは第4の処理手段で目標性能を満たす
分散オブジェクトの配置サーバを決定するに際し、前記
分散オブジェクト配置制約ファイルに登録された配置制
約条件を満たす分散オブジェクトの配置サーバを決定す
ることを特徴とする。
Further, in order to achieve the second object,
The proper placement estimation method and the placement position determination method of the present invention,
A distributed object placement constraint file in which a distributed object restricted to be placed on a specific server computer or a server group is registered, and a distributed object placement server that satisfies a target performance in the fourth step or the fourth processing means; When determining the distribution object, a distribution server of a distributed object that satisfies the arrangement restriction conditions registered in the distributed object arrangement restriction file is determined.

【0019】また、本発明の適正配置推定装置は、前記
クライアントコンピュータに搭載された複数のアプリケ
ーションプログラムの所定監視期間における実行回数を
検出するアプリケーション実行監視手段と、複数のサー
バコンピュータに分散配置した分散オブジェクト間の相
互呼び出し関係を登録した関係記述ファイルと、前記ク
ライアントコンピュータに搭載された複数のアプリケー
ションプログラムがいずれの分散オブジェクトを使用す
るかを登録したアプリケーション記述ファイルと、各サ
ーバコンピュータの実行性能を登録したサーバ記述ファ
イルと、ネットワーク内の複数のサーバコンピュータに
おける分散オブジェクト間の呼び出し所要時間に関する
情報を登録したネットワーク呼び出し時間関係記述ファ
イルと、前記複数のサーバコンピュータに分散配置した
各分散オブジェクトの実行特性を登録したオブジェクト
特性記述ファイルと、前記アプリケーション実行監視手
段によって検出した各アプリケーションプログラムの実
行回数の情報と前記関係記述ファイルに登録された分散
オブジェクト間の相互呼び出し関係の情報および前記ア
プリケーション記述ファイルに登録された各アプリケー
ションプログラムが使用する分散オブジェクトの情報と
に基づき、所定時間当りの各分散オブジェクトの実行回
数を算出する第1の処理手段と、前記サーバ記述ファイ
ルに登録された各サーバコンピュータの実行特性に関す
る情報および前記オブジェクト特性記述ファイルに登録
された各分散オブジェクトの実行特性に関する情報と前
記第1の処理手段で算出された所定時間当りの分散オブ
ジェクトの実行回数の情報に基づき、各サーバコンピュ
ータの負荷を推定する第2の処理手段と、負荷の推定結
果の情報と前記ネットワーク特性記述ファイルに登録さ
れた分散オブジェクト間の呼び出し所要時間に関する情
報に基づき、各アプリケーションプログラム実行時の性
能を推定し、その推定結果を分散オブジェクトの適正配
置を決定するための情報として出力する第3の処理手段
とを備えることを特徴とする。
Further, the proper arrangement estimating apparatus of the present invention comprises an application execution monitoring means for detecting the number of executions of a plurality of application programs mounted on the client computer in a predetermined monitoring period, and a distributed execution distributed to a plurality of server computers. A relation description file in which a mutual call relationship between objects is registered, an application description file in which a plurality of application programs mounted on the client computer use which distributed object, and an execution performance of each server computer are registered. A server description file, and a network call time relationship description file in which information on a required call time between distributed objects in a plurality of server computers in the network is registered. An object property description file in which the execution properties of each distributed object distributed in the server computer are registered, information on the number of executions of each application program detected by the application execution monitoring means, and a distributed object registered in the relation description file. First processing means for calculating the number of executions of each distributed object per a predetermined time based on information on a mutual call relationship and information on distributed objects used by each application program registered in the application description file; Information on the execution characteristics of each server computer registered in the description file, information on the execution characteristics of each distributed object registered in the object characteristic description file, and the predetermined value calculated by the first processing means. Second processing means for estimating the load on each server computer based on information on the number of times of execution of the distributed object per interval; information on the load estimation result and call requirements between the distributed objects registered in the network characteristic description file; And a third processing unit for estimating the performance at the time of executing each application program based on the time information, and outputting the estimation result as information for determining an appropriate arrangement of the distributed objects.

【0020】また、本発明の配置位置決定装置は、分散
オブジェクトを逐次呼び出して所定の処理を実行するク
ライアントコンピュータに搭載された複数のアプリケー
ションプログラムの所定監視期間における実行回数を検
出するアプリケーション実行監視手段と、複数のサーバ
コンピュータに分散配置した分散オブジェクト間の相互
呼び出し関係を登録した関係記述ファイルと、前記クラ
イアントコンピュータに搭載された複数のアプリケーシ
ョンプログラムがいずれの分散オブジェクトを使用する
かを登録したアプリケーション記述ファイルと、各サー
バコンピュータの実行性能を登録したサーバ記述ファイ
ルと、ネットワーク内の複数のサーバコンピュータにお
ける分散オブジェクト間の呼び出し所要時間に関する情
報を登録したネットワーク呼び出し時間関係記述ファイ
ルと、前記複数のサーバコンピュータに分散配置した各
分散オブジェクトの実行特性を登録したオブジェクト特
性記述ファイルと、前記各アプリケーションプログラム
毎の目標性能に関する情報を登録したアプリケーション
目標性能記述ファイルと、前記アプリケーション実行監
視手段によって検出した各アプリケーションプログラム
の実行回数の情報と前記関係記述ファイルに登録された
分散オブジェクト間の相互呼び出し関係の情報および前
記アプリケーション記述ファイルに登録された各アプリ
ケーションプログラムが使用する分散オブジェクトの情
報とに基づき、所定時間当りの各分散オブジェクトの実
行回数を算出する第1の処理手段と、前記サーバ記述フ
ァイルに登録された各サーバコンピュータの実行特性に
関する情報および前記オブジェクト特性記述ファイルに
登録された各分散オブジェクトの実行特性に関する情報
と前記第1の処理手段で算出された所定時間当りの分散
オブジェクトの実行回数の情報に基づき、各サーバコン
ピュータの負荷を推定する第2の処理手段と、負荷の推
定結果の情報と前記ネットワーク特性記述ファイルに登
録された分散オブジェクト間の呼び出し所要時間に関す
る情報に基づき、各アプリケーションプログラム実行時
の性能を推定する第3の処理手段と、各アプリケーショ
ンプログラム実行時の性能の推定結果に関する情報と前
記アプリケーション目標性能記述ファイルに登録された
各アプリケーションプログラム毎の目標性能に関する情
報とに基づき、目標性能を満たす分散オブジェクトの配
置サーバを決定する第4の処理手段とを備えることを特
徴とする。
Further, the arrangement position determining apparatus of the present invention is an application execution monitoring means for detecting the number of executions in a predetermined monitoring period of a plurality of application programs mounted on a client computer for sequentially calling a distributed object and executing a predetermined process. A relationship description file in which a mutual call relationship between distributed objects distributed in a plurality of server computers is registered, and an application description in which a plurality of application programs mounted on the client computer use which distributed object File, a server description file in which the execution performance of each server computer is registered, and a network in which information on the time required for calling between distributed objects in a plurality of server computers in the network is registered. A work call time relation description file, an object characteristic description file in which execution characteristics of each distributed object distributed in the plurality of server computers are registered, and an application target performance description file in which information on target performance of each application program is registered And information on the number of executions of each application program detected by the application execution monitoring means, information on the mutual call relationship between the distributed objects registered in the relation description file, and each application program registered in the application description file. First processing means for calculating the number of executions of each distributed object per predetermined time based on the information of the distributed objects to be executed, and each server computer registered in the server description file. Based on the information on the execution characteristics of the distributed object, the information on the execution characteristics of each distributed object registered in the object characteristic description file, and the information on the number of times of execution of the distributed object per predetermined time calculated by the first processing means. Second processing means for estimating the load on each server computer, and the performance at the time of executing each application program based on information on the result of the load estimation and information on the required call time between distributed objects registered in the network characteristic description file. And a third processing means for estimating the target performance, and information on a performance estimation result at the time of execution of each application program and information on a target performance for each application program registered in the application target performance description file. Distribution of distributed objects And a fourth processing means for determining a server.

【0021】[0021]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。図1は、本発明を適用した
情報ネットワークシステムの一実施形態を示すシステム
構成図である。このシステムは、複数のサーバコンピュ
ータ(以下、サーバと略記)101とクライアントコン
ピュータ(以下、クライアントと略記)102から構成
されている複数のネットワークシステムNW1〜NW3
をルータ103,104により接続してイントラネット
環境の構成としたものである。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a system configuration diagram showing an embodiment of an information network system to which the present invention is applied. This system includes a plurality of network systems NW1 to NW3 each including a plurality of server computers (hereinafter abbreviated as servers) 101 and a client computer (hereinafter abbreviated as clients) 102.
Are connected by routers 103 and 104 to form an intranet environment.

【0022】分散オブジェクトは、このイントラネット
環境を構成する各サーバ101上に配置され、それらの
分散オブジェクト間で呼び出しを行うことで特定の業務
処理を実行するものである。
The distributed objects are arranged on each of the servers 101 constituting the intranet environment, and execute a specific business process by making a call between the distributed objects.

【0023】図2は、いずれか1つのサーバ101上に
配置され、分散オブジェクトの適正配置を実現する適正
配置決定装置の機能構成を示すブロック図であり、分散
オブジェクト関係記述ファイル201、アプリケーショ
ン記述ファイル202、特性記述ファイル203、ネッ
トワーク記述ファイル204、サーバ記述ファイル20
5、配置制約記述ファイル206、アプリケーション目
標記述ファイル207が設けられている。また、監視装
置208、定義解析部209、サーバ負荷テーブル21
0、オブジェクト配置テーブル211、レスポンステー
ブル212、最適化部213、表示部214、表示装置
215が設けられている。
FIG. 2 is a block diagram showing a functional configuration of a proper placement determining apparatus which is placed on one of the servers 101 and realizes proper placement of a distributed object. 202, characteristic description file 203, network description file 204, server description file 20
5. An arrangement constraint description file 206 and an application target description file 207 are provided. Also, the monitoring device 208, the definition analysis unit 209, the server load table 21
0, an object arrangement table 211, a response table 212, an optimization unit 213, a display unit 214, and a display device 215.

【0024】分散オブジェクト関係記述ファイル201
には、分散オブジェクト間の呼び出し関係の情報が格納
される。アプリケーション記述ファイル202には、各
クライアント上で実行されるアプリケーションで利用す
る分散オブジェクトの情報が格納されている。特性記述
ファイル203には、各分散オブジェクトの実行特性が
格納されている。ここで、実行特性とは、後述するよう
に、サーバ資源の単位時間当りの占有時間など、実行性
能を左右する情報のことである。
Distributed object relation description file 201
Stores information on a calling relationship between distributed objects. The application description file 202 stores information on distributed objects used in an application executed on each client. The characteristic description file 203 stores the execution characteristics of each distributed object. Here, the execution characteristic is information that affects execution performance, such as the occupation time of a server resource per unit time, as described later.

【0025】ネットワーク記述ファイル204には、各
サーバ101上に配置された分散オブジェクト間での呼
び出しに要する実行時間が格納されている。サーバ記述
ファイル205には各サーバ101の処理能力が格納さ
れている。
The network description file 204 stores the execution time required for calling between the distributed objects arranged on each server 101. The server description file 205 stores the processing capability of each server 101.

【0026】配置制約記述ファイル206には分散オブ
ジェクトを特定のサーバに配置する際に、その配置に関
する制約条件が格納されている。
In the arrangement constraint description file 206, when distributing a distributed object to a specific server, constraint conditions relating to the arrangement are stored.

【0027】アプリケーション目標記述ファイル207
には、アプリケーション毎のレスポンスタイムの目標値
および該目標値を目標にして適正配置を決定する際にど
のアプリケーションの目標値を優先させるかを示す優先
度の情報など、アプリケーションを実行させた際の目標
性能に関する情報が格納されている。
Application target description file 207
The target value of the response time for each application and priority information indicating which application target value should be prioritized when determining an appropriate arrangement with the target value as a target. Information on target performance is stored.

【0028】監視装置208は、イントラネットシステ
ム上で実行されるアプリケーションの実行回数を、予め
設定された監視時期に、設定された時間幅で監視して記
録するものである。
The monitoring device 208 monitors and records the number of executions of an application executed on the intranet system at a preset monitoring time within a set time width.

【0029】定義解析部209は、分散オブジェクト関
係記述ファイル201に格納された分散オブジェクト間
の呼び出し関係の関係記述とアプリケーション記述ファ
イル202に格納されたアプリケーション記述とに基づ
き、各アプリケーションで呼び出される分散オブジェク
トと、その回数を算出し、さらに監視装置208で得ら
れたアプリケーション実行回数から単位時間内での各分
散オブジェクトの実行回数を求めるなどの処理を行う部
分である。
The definition analysis unit 209 is a distributed object called by each application based on a relational description of a call relation between distributed objects stored in the distributed object relational description file 201 and an application description stored in the application description file 202. And the number of times of execution of each distributed object in a unit time from the number of times of execution of the application obtained by the monitoring device 208.

【0030】サーバ負荷テーブル210には、各サーバ
101の負荷値が記録されている。オブジェクト配置テ
ーブル211には、各分散オブジェクトが配置されてい
るサーバ名が設定されている。レスポンステーブル21
2には最適化部213で算出された各アプリケーション
のレスポンス情報が記録される。
The server load table 210 records the load value of each server 101. In the object arrangement table 211, a server name on which each distributed object is arranged is set. Response table 21
In 2, response information of each application calculated by the optimization unit 213 is recorded.

【0031】最適化部213は、定義解析部209で解
析した各分散オブジェクトの実行回数とサーバ記述ファ
イル205のサーバ性能及びネットワーク記述ファイル
204に格納されたサーバ間での分散オブジェクトの呼
び出し性能の情報を用い、各アプリケーションのレスポ
ンスを最適にする分散オブジェクトのサーバへの配置を
決定するものである。
The optimization unit 213 includes information on the number of executions of each distributed object analyzed by the definition analysis unit 209, the server performance of the server description file 205, and the performance of calling the distributed object between servers stored in the network description file 204. Is used to determine the arrangement of distributed objects on the server that optimizes the response of each application.

【0032】表示部214は最適化部213で決定され
た分散オブジェクトのサーバへの配置を表示装置215
に表示するものである。
The display unit 214 displays the arrangement of the distributed objects on the server determined by the optimization unit 213 on the display device 215.
Is displayed on the screen.

【0033】図3は、図2の分散オブジェクト関係記述
ファイル201に格納される分散オブジェクトの関連記
述を表すデータの一例である。この例では各分散オブジ
ェクトから、呼び出す分散オブジェクトの回数を記述し
ている。例えば、分散オブジェクトOb001(30
1)は、Ob002(302),Ob003(30
3),Ob005(305)をそれぞれ1回呼び出すこ
とを記述している。
FIG. 3 shows an example of data representing a related description of a distributed object stored in the distributed object relation description file 201 of FIG. In this example, the number of distributed objects to be called from each distributed object is described. For example, the distributed object Ob001 (30
1) are Ob002 (302) and Ob003 (30)
3) and Ob005 (305) are called once each.

【0034】図4(a)は、アプリケーション記述ファ
イル202に格納されるアプリケーションと分散オブジ
ェクトの対応を表すデータの一例である。このデータは
図1のネットワーク上で実行されるアプリケーションが
呼び出す分散オブジェクトの関係を定義するものであ
る。ここでは、例えば、アプリケーションA001(4
11)は分散オブジェクトOb002(402)および
Ob003(403)、Ob005(405)をそれぞ
れ1回呼び出し、他の分散オブジェクトの呼び出しは行
わないことが定義されている。
FIG. 4A is an example of data indicating the correspondence between an application and a distributed object stored in the application description file 202. This data defines the relationship of the distributed objects called by the application executed on the network of FIG. Here, for example, the application A001 (4
11) calls the distributed objects Ob002 (402), Ob003 (403), and Ob005 (405) once, and does not call other distributed objects.

【0035】図4(b)は、アプリケーション目標記述
ファイル207に格納されるデータの例を示すものであ
る。このアプリケーション目標記述ファイル207に
は、アプリケーション毎のレスポンスタイムの目標値で
ある目標レスポンスタイム423および該目標値を目標
にして適正配置を決定する際にどのアプリケーションの
目標値を優先させるかを示す優先度422の情報がアプ
リケーションID421で区分して格納されている。こ
こで、優先度422の数値が大きいほど優先度が高いこ
とを示している。また、目標レスポンスタイム423の
数値の単位は例えばミリ秒(ms)である。なお、これ
以外に、目標とする性能に関する単位を用いることがで
きる。
FIG. 4B shows an example of data stored in the application target description file 207. The application target description file 207 includes a target response time 423 which is a target value of a response time for each application, and a priority indicating which application target value is to be prioritized when determining an appropriate arrangement with the target value as a target. The information of the degree 422 is stored by being divided by the application ID 421. Here, the higher the numerical value of the priority 422, the higher the priority. The unit of the numerical value of the target response time 423 is, for example, millisecond (ms). In addition, a unit related to a target performance can be used.

【0036】図5は、分散オブジェクトの1回の呼び出
し時に必要なサーバの処理を表す実行特性記述ファイル
203のデータの一例を示すものであり、分散オブジェ
クトID501とその実行特性502が定義されるよう
になっている。例えば、分散オブジェクトOb001
(501)の1回の実行にはサーバ資源を単位時間あた
り25単位必要とすることを表している。ここで、1単
位とは、サーバ資源の単位時間当りの占有時間を表し、
数値が大きいほどサーバ資源の占有時間が長いことを意
味する。
FIG. 5 shows an example of the data of the execution characteristic description file 203 representing the processing of the server necessary for one call of the distributed object. The distributed object ID 501 and its execution characteristic 502 are defined. It has become. For example, distributed object Ob001
This means that one execution of (501) requires 25 units of server resources per unit time. Here, one unit represents the occupation time of the server resource per unit time,
The larger the numerical value, the longer the occupation time of the server resource.

【0037】図6は、ネットワーク記述ファイル204
のデータの一例を示すものである。ネットワーク記述と
は、図1におけるネットワークシステム利用時のサーバ
間での通信性能を表現するデータである。図6の例で
は、各サーバ101に配置された分散オブジェクト間で
の通信に要する時間を格納するものである。例えば、サ
ーバS001(601)内に配置された分散オブジェク
ト間での通信所用時間は1単位時間であり、同一ネット
ワークセグメント中に存在するS001(601)とS
002(602)間の通信所用時間は3単位時間、また
ルータをまたがる別セグメントに配置されているサーバ
S001(601)とサーバS004(604)の通信
所用時間は7単位時間を要することを表現している。
FIG. 6 shows a network description file 204.
3 shows an example of the data. The network description is data expressing communication performance between servers when using the network system in FIG. In the example of FIG. 6, the time required for communication between the distributed objects arranged in each server 101 is stored. For example, the communication station time between distributed objects arranged in the server S001 (601) is one unit time, and S001 (601) and S001 existing in the same network segment.
The time required for the communication station between 002 (602) and the server S001 (601) and the server S004 (604) arranged in separate segments spanning the router require 7 unit time. ing.

【0038】図7は、サーバ記述ファイル205のデー
タの一例を示すものであり、サーバID701と処理性
能702が定義されるようになっている。サーバ記述と
は、各サーバ101の処理能力を表現するものである。
図7の例では各サーバS001〜S006,……の単位
時間当りの処理能力(性能)を数値で記述している。例
えば、サーバS001(703)の処理能力値(70
4)が35単位であることを示している。処理能力値
(704)の数値が大きいほど処理能力が高いことを意
味している。
FIG. 7 shows an example of data in the server description file 205, in which a server ID 701 and a processing performance 702 are defined. The server description expresses the processing capability of each server 101.
In the example of FIG. 7, the processing capacity (performance) per unit time of each of the servers S001 to S006,. For example, the processing capability value (70) of the server S001 (703)
4) indicates 35 units. The larger the numerical value of the processing capacity value (704), the higher the processing capacity.

【0039】図8は、分散オブジェクトの配置制約記述
ファイル206のデータ例を示すものであり、分散オブ
ジェクトID801と配置制約802が定義されるよう
になっている。分散オブジェクトをサーバに配置する場
合、前述したように、ネットワーク上で完全に自由に配
置できるものではない。例えば、セキュリティの面から
特定部門でしか利用を許されないアプリケーションに関
連する分散オブジェクトは、その部門に属するサーバ上
にしか配置することはできない。また、データベース
(DB)をアクセスする分散オブジェクトは、DBの存
在するサーバ上に配置することが要求される。また、互
いの呼び出し頻度が高い分散オブジェクトも同一サーバ
もしくは同一セグメント内のサーバに配置する必要があ
る。分散オブジェクト配置制約は、このような分散オブ
ジェクトの配置条件を定義するものである。図8の例で
は分散オブジェクトOb001に対しては、サーバS0
01,S002,S003のどれかに配置する必要があ
ることを定義している。また、分散オブジェクトOb0
02に対しては必ずサーバS002に配置しなければな
らないことを表している。また、分散オブジェクトOb
004は分散オブジェクトOb001と同一のサーバへ
の配置が必要とされることを示している。
FIG. 8 shows an example of data of the placement constraint description file 206 of the distributed object, in which a distributed object ID 801 and a placement constraint 802 are defined. When a distributed object is arranged on a server, as described above, it cannot be arranged completely freely on a network. For example, a distributed object related to an application that is allowed to be used only in a specific department from the viewpoint of security can be placed only on a server belonging to the department. Further, a distributed object accessing a database (DB) is required to be arranged on a server where the DB exists. Also, distributed objects that are frequently called by each other need to be arranged on the same server or a server in the same segment. The distributed object arrangement constraint defines the arrangement condition of such a distributed object. In the example of FIG. 8, for the distributed object Ob001, the server S0
01, S002, and S003. Also, the distributed object Ob0
02 indicates that it must be arranged in the server S002. Also, the distributed object Ob
Reference numeral 004 indicates that the allocation to the same server as the distributed object Ob001 is required.

【0040】図9は、最適化部213で算出した分散オ
ブジェクトのサーバへの配置を決定した時点での監視装
置208で得られたアプリケーションの起動頻度(また
は実行回数)から、各サーバの負荷を算出した値を格納
したサーバ負荷テーブル210のデータ例を示すもので
ある。例えばサーバS001の負荷は0.75であると
いった数値が格納される。この数値の値が大きいほど負
荷が大きいことを意味している。
FIG. 9 shows the load on each server based on the application start frequency (or the number of times of execution) obtained by the monitoring device 208 at the time when the allocation of the distributed object to the server is determined by the optimization unit 213. 9 shows an example of data of a server load table 210 storing calculated values. For example, a numerical value indicating that the load of the server S001 is 0.75 is stored. The larger the value of this numerical value, the greater the load.

【0041】図10は、オブジェクト配置テーブル21
1のデータ例を示すものであり、各分散オブジェクトI
D1001と、これらが配置されるサーバID1002
が定義されるようになっている。このテーブル211に
は、最適化部213で算出した最も適正な配置先のサー
バIDが格納される。図10の例では、分散オブジェク
トOb001はサーバS001、Ob002はサーバS
002、Ob003はサーバS007に配置するのが最
適であることが格納されている。
FIG. 10 shows the object arrangement table 21.
1 shows an example of data of each distributed object I
D1001 and server ID 1002 where these are arranged
Is defined. In this table 211, the server ID of the most appropriate arrangement destination calculated by the optimization unit 213 is stored. In the example of FIG. 10, the distributed object Ob001 is the server S001 and the object Ob002 is the server S
002 and Ob003 are stored in the server S007 to be optimally arranged.

【0042】図11は、レスポンステーブル212のデ
ータ例を示すものであり、アプリケーションID110
1と、これに対応するレスポンス1102が格納される
ようになっている。レスポンス1102は、最適化部2
13における分散オブジェクト配置算出処理で分散オブ
ジェクトの配置を定めた段階で各サーバの負荷を計算す
ることによって得られる負荷値と、監視装置208で得
られたアプリケーションの実行回数とから待ち行列モデ
ルを用いて算出するものである。ここでは、レスポンス
1102の数値の単位は例えばミリ秒(ms)であり、
数値の値が小さいほど応答時間が短いことを意味してい
る。
FIG. 11 shows an example of data in the response table 212.
1 and a corresponding response 1102 are stored. Response 1102 is the optimization unit 2
A queue model is used based on the load value obtained by calculating the load on each server at the stage when the arrangement of the distributed objects is determined in the distributed object arrangement calculation process in 13 and the number of times of execution of the application obtained by the monitoring device 208. Is calculated. Here, the unit of the numerical value of the response 1102 is, for example, millisecond (ms),
The smaller the numerical value, the shorter the response time.

【0043】図12は、図2の最適化部213の処理の
概要を示すフローチャートである。
FIG. 12 is a flowchart showing an outline of the processing of the optimizing unit 213 in FIG.

【0044】最適化部213では、まず、各アプリケー
ションに対するレスポンスタイムの目標値と優先度を設
定する処理を行い、図4(b)のアプリケーション目標
記述ファイル207に登録する(ステップ1201)。
ここで、登録する目標レスポンスタイムおよび優先度
は、システムの管理者が図示しない入力装置から入力す
る。
The optimizing unit 213 first sets a response time target value and priority for each application, and registers it in the application target description file 207 of FIG. 4B (step 1201).
Here, the target response time and priority to be registered are inputted by an administrator of the system from an input device (not shown).

【0045】次に最適配置処理を行い(ステップ120
2)、各分散オブジェクトを配置する最適なサーバを決
定する。この処理の概要は、以下の通りである。まず、
サーバ記述ファイル205に登録された各サーバコンピ
ュータの実行特性に関する情報および特性記述ファイル
203に登録された各分散オブジェクトの実行特性に関
する情報と定義解析部209で算出された所定時間当り
の分散オブジェクトの実行回数の情報に基づき、各サー
バコンピュータの負荷を推定する。
Next, an optimal arrangement process is performed (step 120).
2), determine an optimal server to place each distributed object. The outline of this processing is as follows. First,
Information on the execution characteristics of each server computer registered in the server description file 205, information on the execution characteristics of each distributed object registered in the characteristic description file 203, and execution of the distributed object per predetermined time calculated by the definition analysis unit 209 The load of each server computer is estimated based on the information on the number of times.

【0046】次に、負荷の推定結果の情報とネットワー
ク記述ファイル204に登録された分散オブジェクト間
の呼び出し所要時間に関する情報に基づき、各アプリケ
ーション実行時の性能を推定する。次に、各アプリケー
ション実行時の性能の推定結果に関する情報と前記アプ
リケーション目標記述ファイル207に登録された各ア
プリケーション毎の目標性能に関する情報とに基づき、
目標性能を満たす分散オブジェクトの配置サーバを決定
する。最後に、その最適配置処理の結果を表示装置21
5に出力する。なお、処理結果に基づき、分散オブジェ
クトを実際に配置する処理、あるいは現在の配置を変更
する処理は、システム管理者からの指示を待って実行す
る方法、あるいは指示を待たずに自動的に実行する方法
があるが、いずれを採用してもよい。
Next, the performance at the time of executing each application is estimated based on the information on the load estimation result and the information on the required call time between the distributed objects registered in the network description file 204. Next, based on the information on the performance estimation result at the time of execution of each application and the information on the target performance for each application registered in the application target description file 207,
Determine the allocation server of the distributed object that satisfies the target performance. Finally, the result of the optimal arrangement processing is displayed on the display device 21.
5 is output. The process of actually arranging the distributed objects or the process of changing the current arrangement based on the processing result is executed by waiting for an instruction from the system administrator, or is automatically executed without waiting for the instruction. Although there is a method, any may be adopted.

【0047】以下、最適配置処理(ステップ1202)
の詳細について詳細に説明する。本実施形態において
は、最適配置処理を遺伝的アルゴリズムを用いて実現し
ている。遺伝的アルゴリズムにおいては、線形より難し
い関数の取り扱いが容易であること、目的が曖昧であっ
ても解が得易いなどの利点があるからである。
Hereinafter, the optimal arrangement processing (step 1202)
Will be described in detail. In the present embodiment, the optimal arrangement processing is realized using a genetic algorithm. This is because a genetic algorithm has advantages such as easy handling of a function that is more difficult than linearity and easy solution even if the purpose is ambiguous.

【0048】遺伝的アルゴリズムでは、分散オブジェク
トのサーバへの配置を図13に一例を示すように一次元
の配列で表現する。このような1つの分散オブジェクト
とサーバの対応を与える一次元配列を遺伝子と呼ぶ。図
13に示す例は、図10のオブジェクト配置テーブル2
11に示した分散オブジェクトのサーバへの配置を遺伝
子表現として表したものである。
In the genetic algorithm, the arrangement of distributed objects on the server is represented by a one-dimensional array as shown in FIG. A one-dimensional array that provides such a correspondence between one distributed object and a server is called a gene. The example shown in FIG. 13 is the object arrangement table 2 in FIG.
This is a representation of the arrangement of the distributed objects shown in FIG. 11 on the server as a genetic expression.

【0049】次に、図14に示すように複数の遺伝子か
らなる初期集団を作成し、選択、交差、突然変異、次世
代集団の生成というように、生物の進化を模して複数の
遺伝子に交差や突然変異を行い徐々に改良を行う。な
お、図14において、1つ1つの丸印が1つの遺伝子を
表している。
Next, as shown in FIG. 14, an initial population consisting of a plurality of genes is prepared, and the plurality of genes are imitated by imitating the evolution of an organism, such as selection, crossover, mutation, and generation of a next-generation population. Make crossovers and mutations to improve gradually. In FIG. 14, each circle represents one gene.

【0050】交差とは、図15に示すように、2つの遺
伝子1501と1502とを掛け合わせた場合に、15
03,1504で示すような遺伝子に変化させることで
ある。
As shown in FIG. 15, “crossing” means that when two genes 1501 and 1502 are multiplied,
03,1504.

【0051】図16を用いて遺伝的アルゴリズムによる
最適配置処理について詳細に説明する。まず、初期の遺
伝子の集団G1を作成する(ステップ1601)。初期
集団G1には所定数の遺伝子が含まれている。ここで
は、世代数を変数tで示し、初期集団はt1とする。初
期集団G1に含まれる遺伝子の生成方法の詳細を図17
に示している。図17の処理では、各分散オブジェクト
を図8に示した分散オブジェクトの配置制約記述ファイ
ル206で指定した条件を満足する範囲でランダムに配
置する。
Referring to FIG. 16, the optimal arrangement processing by the genetic algorithm will be described in detail. First, an initial gene group G1 is created (step 1601). The initial population G1 contains a predetermined number of genes. Here, the number of generations is indicated by a variable t, and the initial group is t1. FIG. 17 shows the details of the method for generating the genes included in the initial population G1.
Is shown in In the processing of FIG. 17, each distributed object is randomly arranged within a range that satisfies the conditions specified in the arrangement restriction description file 206 of the distributed object shown in FIG.

【0052】例えば図8の分散オブジェクトOb001
はサーバS001,S002,S003に配置する制約
があるので、この3つの中から割り当てるサーバをラン
ダムに選択する。Ob002は、サーバS002に限定
されているためにS002に割り当てる。Ob003は
配置制約がないため、図7のサーバ記述ファイル205
に登録されている全てのサーバから1つのサーバをラン
ダムに選択する。分散オブジェクトOb004はOb0
01と同一のサーバに配置する制約であるのでOb00
1と同一のサーバを選択する。初期集団G1に属する遺
伝子はこのようにランダムに生成する。図17の処理で
は,このようなランダムな遺伝子の生成と共に、サーバ
の処理性能を考慮した割り当てによる遺伝子の生成も行
っている。この方法は配置制約記述ファイル206で複
数のサーバへの割当てが可能な場合、確率的に処理能力
の高いサーバに優先して配置したいからである。
For example, the distributed object Ob001 of FIG.
Has a restriction of being placed in the servers S001, S002, and S003, and randomly selects a server to be assigned from the three. Ob002 is assigned to S002 because it is limited to server S002. Since Ob003 has no placement restriction, the server description file 205 in FIG.
One server is randomly selected from all the servers registered in. The distributed object Ob004 is Ob0
01 because it is a constraint to be placed on the same server as Ob00
Select the same server as 1. Genes belonging to the initial population G1 are randomly generated in this manner. In the processing of FIG. 17, along with the generation of such random genes, the generation of genes by assignment in consideration of the processing performance of the server is also performed. This is because, if allocation to a plurality of servers is possible in the allocation constraint description file 206, the allocation is desirably prioritized to a server having a high processing capacity.

【0053】分散オブジェクトの配置制約記述ファイル
206では、Ob001はサーバS001,S002,
S003の3つの選択肢がある。そして、これらのサー
バの処理能力は図7のサーバ記述ファイル205に定義
されているように、それぞれ「35」,「64」,「5
8」であるので、サーバS001が選択される確率を3
5/(35+64+58),S002の選択確率を64
/(35+64+58)、S003の選択確率を58/
(35+64+58)としてS001,S002,S0
03から1つのサーバを選択する。
In the arrangement restriction description file 206 of the distributed object, Ob001 indicates the servers S001, S002,
There are three options of S003. The processing capacities of these servers are "35", "64", and "5", respectively, as defined in the server description file 205 of FIG.
8 ”, the probability that the server S001 is selected is 3
5 / (35 + 64 + 58), the selection probability of S002 is 64
/ (35 + 64 + 58), the selection probability of S003 is 58 /
(35 + 64 + 58) as S001, S002, S0
Select one server from 03.

【0054】このようなランダムな操作を用いて複数の
遺伝子を作成して初期集団G1を構築する。このような
ランダムな操作を用いて遺伝子の初期集団G1を構築す
ることで、多様な遺伝子を生成することができ、遺伝的
アルゴリズムによる最適解の探索範囲を広げることがで
きる。また、処理能力の高いサーバを確率的に優先する
遺伝子を加えることで解の探索効率の向上が期待でき
る。
Using such a random operation, a plurality of genes are created to construct an initial population G1. By constructing the initial population G1 of genes using such a random operation, various genes can be generated, and the search range of the optimal solution by the genetic algorithm can be expanded. In addition, by adding a gene that gives a server with high processing capacity a probability priority, improvement in solution search efficiency can be expected.

【0055】次に、終了条件の判定を行う(ステップ1
602)。終了条件は、予め登録した各アプリケーショ
ンの性能目標が達成されたか、世代数tが所定値に到達
した場合である。
Next, a termination condition is determined (step 1).
602). The termination condition is when the performance target of each application registered in advance has been achieved or the number of generations t has reached a predetermined value.

【0056】次に、遺伝子の集団から所定の確率で遺伝
子を取り出して交差を実行して、新しい遺伝子を生成す
る(ステップ1603)。次に、遺伝子の集団から一定
の確率で遺伝子を取り出して突然変異の処理を行う(ス
テップ1604)。この処理は、一定の確率でランダム
に取り出した遺伝子のランダムな位置のコードを変更す
る処理である。
Next, a new gene is generated by taking out the gene from the group of genes with a predetermined probability and executing the intersection (step 1603). Next, the gene is taken out from the group of genes with a certain probability and a mutation process is performed (step 1604). This process is a process of changing a code at a random position of a gene randomly extracted with a certain probability.

【0057】次に、元の集団に属していた遺伝子に交差
と突然変異で生成した新たな遺伝子を加えた集団に属す
る遺伝子に対して、その遺伝子の評価を行う(ステップ
1605)。遺伝子の評価とは、各遺伝子のレスポンス
タイムが、優先度を含めた目標レスポンスタイムに対し
てどの程度満足しているかかを調べることであり、評価
値が低いほど満足していないことを示している。
Next, the genes belonging to the group obtained by adding the new genes generated by the crossover and mutation to the genes belonging to the original group are evaluated (step 1605). Gene evaluation refers to checking how much the response time of each gene satisfies the target response time including priority, and the lower the evaluation value, the less satisfied. I have.

【0058】次に、遺伝子毎の評価値に従って、遺伝子
の増殖を行い、次世代の遺伝子集団を生成する(ステッ
プ1606)。
Next, the gene is propagated in accordance with the evaluation value for each gene to generate a next-generation gene population (step 1606).

【0059】次に、終了条件が成立しているかを判定し
(ステップ1602)、成立していなければ、成立する
まで同様の処理を繰返す。
Next, it is determined whether the end condition is satisfied (step 1602). If not, the same processing is repeated until the end condition is satisfied.

【0060】図17は、図16の遺伝子の初期集団Gt
(t=1)を作成するステップ1601の詳細を示すフ
ローチャートである。この遺伝子の初期集団G1の作成
処理では、遺伝子集団の一部をランダムに生成して、残
りの遺伝子は、初期せっていとして、変数M1にランダ
ムに生成する遺伝子数、残りの遺伝子数をM2に予め設
定しておき、まず、変数Nに1を代入する(ステップ1
701)。次に、変数Nの値をM1と比較する(ステッ
プ1702)。NがM1以下の場合には、ランダム初期
解の生成を行う(ステップ1703)。
FIG. 17 shows the initial population Gt of the genes of FIG.
It is a flowchart which shows the detail of step 1601 which produces (t = 1). In the process of creating the initial population G1 of the genes, a part of the gene population is randomly generated, and the remaining genes are initialized, and the number of genes randomly generated in the variable M1 and the number of remaining genes are previously stored in the variable M2. First, 1 is assigned to a variable N (step 1
701). Next, the value of the variable N is compared with M1 (step 1702). If N is equal to or less than M1, a random initial solution is generated (step 1703).

【0061】このランダム初期解の生成は以下の手順で
行う。図13に示す遺伝子上の分散オブジェクトが図8
で説明した分散オブジェクト配置制約ファイル206に
配置制約が登録されていた場合には、その配置制約に合
致するサーバをランダムに選択する。例えば図8の分散
オブジェクトOb001は配置制約として(S001,
S002,S003)となっているので、この3つのサ
ーバのうち1つを配置サーバとしてランダムに選択す
る。
The generation of this random initial solution is performed in the following procedure. The distributed object on the gene shown in FIG.
If the placement constraint is registered in the distributed object placement constraint file 206 described in the above section, a server that matches the placement constraint is selected at random. For example, the distributed object Ob001 in FIG.
S002 and S003), one of the three servers is randomly selected as a placement server.

【0062】配置制約が登録されていない分散オブジェ
クトに関しては、図7に示したサーバ記述ファイル20
5に登録されているサーバからランダムに1つのサーバ
を選択する。
For a distributed object for which no placement constraint is registered, the server description file 20 shown in FIG.
5. One server is randomly selected from the servers registered in 5.

【0063】次に、変数Nに「1」を加える(ステップ
1704)。次にステップ1702に戻る。ステップ1
702で変数Nの値がM1を超えていた場合にはステッ
プ1705に移る。ステップ1705では変数Nに
「1」を代入する。次に変数Nの値を変数M2と比較す
る(ステップ1706)。もし、変数NがM2よりも大
きければ処理を終える。大きくなければ、次の処理を行
う。
Next, "1" is added to the variable N (step 1704). Next, the process returns to step 1702. Step 1
If the value of the variable N has exceeded M1 in step 702, the process moves to step 1705. In step 1705, “1” is substituted for the variable N. Next, the value of the variable N is compared with the variable M2 (step 1706). If the variable N is larger than M2, the process ends. If not, the following processing is performed.

【0064】ステップ1707ではステップ1703で
は、分散オブジェクトのサーバへの配置をランダムに行
ったが、ここでは図7に示したサーバ記述ファイル20
5に登録されているサーバの処理性能の大きなサーバを
優先して割当てを行う。
In step 1707, in step 1703, the distributed objects are randomly placed on the server. In this case, however, the server description file 20 shown in FIG.
5 is assigned with priority on the server with the higher processing performance of the server registered in 5.

【0065】図13に示す遺伝子の分散オブジェクトが
図8の分散オブジェクトの位置制約ファイル206に登
録されていた場合には、その配置制約に合致するサーバ
群の中で処理性能の割合に従って割当てを行う。例えば
図8の分散オブジェクトO001の例では配置制約は
(S001,S002,S003)であり、各サーバの
処理能力は図7に示すように,それぞれ35,64,5
8であるのでサーバS001が選択される確率を35/
(35+64+58),S002が選択される確率を6
4/(35+64+58),S003が選択される確率
を58/(35+64+58)としてサーバの選択を行
う。
If the distributed object of the gene shown in FIG. 13 is registered in the location constraint file 206 of the distributed object in FIG. 8, allocation is performed according to the processing performance ratio in the server group that matches the placement constraint. . For example, in the example of the distributed object O001 in FIG. 8, the placement constraint is (S001, S002, S003), and the processing capacity of each server is 35, 64, 5 as shown in FIG.
8, the probability that the server S001 is selected is 35 /
(35 + 64 + 58), the probability that S002 is selected is 6
4 / (35 + 64 + 58), the server is selected with the probability of S003 being selected as 58 / (35 + 64 + 58).

【0066】配置制約の無い分散オブジェクトに対して
は、図7のサーバ記述ファイル205に登録されている
全てのサーバから、処理性能の比率の確率でサーバの選
択を行う。
For a distributed object having no placement restriction, a server is selected from all the servers registered in the server description file 205 in FIG. 7 with the probability of the processing performance ratio.

【0067】次に変数Nに1を加える(ステップ170
8)。次に、再度ステップ1706に戻る。
Next, 1 is added to the variable N (step 170).
8). Next, the process returns to step 1706 again.

【0068】次に、図18を用いて、図16の交差の実
行処理(ステップ1603)を詳しく説明する。交差処
理では、まず、集団に含まれる遺伝子数に予め与えられ
ている交差確率を掛けて、交差数を求め、その値を変数
Nに代入する(ステップ1801)。次に、変数Iに
「1」を代入する(ステップ1802)。
Next, the intersection execution processing (step 1603) in FIG. 16 will be described in detail with reference to FIG. In the crossover process, first, the number of genes included in the population is multiplied by a predetermined crossover probability to obtain the number of crossings, and the value is substituted for a variable N (step 1801). Next, “1” is substituted for the variable I (step 1802).

【0069】変数Iと変数Nの値を比較する(ステップ
1803)。IがNよりも大きければ処理を終える。
The values of variable I and variable N are compared (step 1803). If I is greater than N, the process ends.

【0070】大きくない場合には、以下の処理を行う。
まず、乱数により遺伝子の集団から2つの遺伝子を選
び、その遺伝子を変数G1,G2に代入する(ステップ
1804)。
If not, the following processing is performed.
First, two genes are selected from a group of genes by random numbers, and the genes are substituted into variables G1 and G2 (step 1804).

【0071】次に図15に示すような2つの遺伝子に対
して、2つの交差点を設定して各位置のコードの入れ替
えを行う。すなわち、乱数により2つの交差点を決定し
て変数C1,C2に代入する(ステップ1805)。そ
して、変数G1,G2の2つの遺伝子に対して交差点C
1,C2で交差を行い、新しい遺伝子を2個生成する
(ステップ1806)。次に、変数Iに「1」を加えて
(ステップ1807)で次の交差処理に移る。
Next, two intersections are set for two genes as shown in FIG. 15, and codes at each position are exchanged. That is, two intersections are determined by random numbers and substituted into variables C1 and C2 (step 1805). Then, the intersection C for the two genes of the variables G1 and G2
Crossover is performed at 1 and C2 to generate two new genes (step 1806). Next, "1" is added to the variable I (step 1807), and the routine proceeds to the next intersection processing.

【0072】次に、図19を用いて、図16の処理フロ
ー中の突然変異の実行処理(ステップ1604)の詳細
を説明する。まず、予め設定されている突然変異率を遺
伝子集団の個対数に掛けて突然変異の発生数を算出して
変数Nに代入する(ステップ1901)。
Next, the details of the mutation execution process (step 1604) in the process flow of FIG. 16 will be described with reference to FIG. First, the number of occurrences of mutation is calculated by multiplying a preset mutation rate by the individual logarithm of the gene population, and is substituted into a variable N (step 1901).

【0073】次に、変数Iに「1」を代入する(ステッ
プ1902)。次に、変数Iと変数Nの値を比較する
(ステップ1903)。変数IがNよりも大きければ処
理を終える。変数IがN以下であれば以下の処理を行
う。
Next, "1" is substituted for the variable I (step 1902). Next, the values of the variables I and N are compared (step 1903). If the variable I is larger than N, the process ends. If the variable I is N or less, the following processing is performed.

【0074】まず、乱数により遺伝子集団から1つの遺
伝子を選択して変数Gに代入する(ステップ190
4)。次に、乱数により遺伝子中の突然変異点を決定し
て変数Mに代入する(ステップ1905)。次に、変数
Gの遺伝子のM番目の位置のコードをランダムに変更す
る。この処理でM番目の位置に対応する分散オブジェク
トが分散オブジェクト配置制約ファイル206に制約が
登録されている場合には、その制約に合致する範囲内で
ランダムにサーバを選択する。配置制約が無い場合には
全てのサーバからランダムに選択する(ステップ190
6)。次に、変数Iに「1」を加えて(ステップ190
7)次の突然変異処理に移る。
First, one gene is selected from the gene group by random numbers and assigned to a variable G (step 190).
4). Next, a mutation point in the gene is determined by a random number and assigned to a variable M (step 1905). Next, the code at the M-th position of the gene of the variable G is changed at random. In this process, if the distributed object corresponding to the M-th position has a constraint registered in the distributed object placement constraint file 206, a server is randomly selected within a range that matches the constraint. If there is no placement constraint, a random selection is made from all servers (step 190).
6). Next, "1" is added to the variable I (step 190).
7) Move to the next mutation process.

【0075】次に図20を用いて、図16中の淘汰処理
を説明する。まず、元の集団の遺伝子数に、交差処理及
び突然変異処理で加えた遺伝子数を合計して変数Nに代
入する(ステップ2001)。次に、変数Iに「1」を
代入する(ステップ2002)。
Next, the selection process in FIG. 16 will be described with reference to FIG. First, the number of genes added in the crossover process and the mutation process is added to the number of genes in the original population and substituted into a variable N (step 2001). Next, "1" is substituted for the variable I (step 2002).

【0076】変数IとNの値を比較する(ステップ20
03)。もし、Iが大きければ処理を終える。IがN以
下の場合には、以下の処理を行う。
The values of the variables I and N are compared (step 20).
03). If I is large, the process is terminated. When I is N or less, the following processing is performed.

【0077】まず、集団中のI番目の遺伝子で指定され
る分散オブジェクトのサーバへの配置にしたがって、定
義改正部209で算出した各アプリケーションの実行回
数と、図4に示したアプリケーション記述ファイル20
2及び図5に示す分散オブジェクトの実行特性記述ファ
イル203に定義されている実行特性(502)から、
各サーバでの分散オブジェクト実行によるサーバ資源の
利用量を算出し、さらに図7に示したサーバ記述ファイ
ルに登録されているサーバ処理能力と比較してサーバ負
荷を算出し、これを図9に示したサーバ負荷テーブル2
10に格納する(ステップ2004)。
First, according to the allocation of the distributed object specified by the I-th gene in the group to the server, the number of executions of each application calculated by the definition revision unit 209 and the application description file 20 shown in FIG.
2 and the execution characteristic (502) defined in the execution characteristic description file 203 of the distributed object shown in FIG.
The amount of server resources used by executing the distributed object in each server is calculated, and the server load is calculated by comparing it with the server processing capacity registered in the server description file shown in FIG. 7, and this is shown in FIG. Server load table 2
10 (step 2004).

【0078】次に、サーバ負荷テーブル210に登録さ
れた各サーバの負荷及び図6に示したネットワーク記述
ファイル204に格納された各サーバ間の通信所要時間
に関する情報から、待ち行列モデルを用いて各アプリケ
ーションのレスポンスタイムを求める(ステップ200
5)。
Next, based on the load of each server registered in the server load table 210 and the information on the required communication time between each server stored in the network description file 204 shown in FIG. Obtain the response time of the application (step 200
5).

【0079】次に、この各アプリケーションのレスポン
スタイムを図4(b)のアプリケーション目標記述ファ
イル207に登録した各アプリケーションの目標レスポ
ンスタイム及び優先度とに基づき、遺伝子で表現されて
いる分散オブジェクトのサーバへの割当てを評価する。
ここでの評価は目標レスポンスタイムからの遅れと優先
度の積を全てのアプリケーションについて合計したもの
である(ステップ2006)。次に、変数Iに1を加え
て次の遺伝子の処理に移る(ステップ2007)。
Next, the response time of each application is calculated based on the target response time and priority of each application registered in the application target description file 207 in FIG. 4B. Evaluate the assignment to
The evaluation here is the sum of the product of the delay from the target response time and the priority for all applications (step 2006). Next, 1 is added to the variable I, and the process proceeds to the next gene (step 2007).

【0080】図21は、図16の次世代の遺伝子集団G
tの作成処理(ステップ1606)の詳細を示すフロー
チャートである。まず、元の集団の遺伝子数に、交差処
理及び突然変異処理で加えた遺伝子数を合計して変数N
に代入する(ステップ2101)。次に変数Iに1を代
入する(ステップ2102)。
FIG. 21 shows the next-generation gene population G of FIG.
It is a flowchart which shows the detail of the preparation process of t (step 1606). First, the number of genes in the original population is added to the number of genes added in the crossover process and the mutation process to obtain a variable N
(Step 2101). Next, 1 is substituted for the variable I (step 2102).

【0081】次に、遺伝子を図20のフローで求めた評
価値の昇順にソートする(ステップ2103)。次に変
数IとNの値を比較する(ステップ2104)。もし、
変数Iの値が大きければ処理を終える。IがN以下の場
合には次の処理を行う。
Next, the genes are sorted in ascending order of the evaluation values obtained by the flow of FIG. 20 (step 2103). Next, the values of the variables I and N are compared (step 2104). if,
If the value of the variable I is large, the process ends. If I is less than or equal to N, the following processing is performed.

【0082】図22に一例を示すようなランクテーブル
から評価値の各順位に対応した複製個対数を求める(ス
テップ2105)。この複製個対数分I番目の遺伝子を
複製して次世代集団に追加する(ステップ2106)。
次に、変数Iに1を加えて次の順位の遺伝子の処理に移
る(ステップ2107)。
From the rank table, an example of which is shown in FIG. 22, the number of duplicate copies corresponding to each rank of the evaluation value is obtained (step 2105). The I-th gene is duplicated and added to the next generation population (step 2106).
Next, 1 is added to the variable I, and the process proceeds to the next-ranked gene (step 2107).

【0083】このように、本実施形態は、分散オブジェ
クトを逐次呼び出して所定の処理を実行するクライアン
トに搭載された複数のアプリケーションの所定監視期間
における実行回数を検出し、その検出した各アプリケー
ションの実行回数の情報と分散オブジェクト関係記述フ
ァイル201に登録された分散オブジェクト間の相互呼
び出し関係の情報およびアプリケーション記述ファイル
202に登録された各アプリケーションが使用する分散
オブジェクトの情報とに基づき、所定時間当りの各分散
オブジェクトの実行回数を算出し、さらに、サーバ記述
ファイル205に登録された各サーバの実行特性に関す
る情報およびオブジェクト特性記述ファイル203に登
録された各分散オブジェクトの実行特性に関する情報と
前記の所定時間当りの分散オブジェクトの実行回数の情
報に基づき、各サーバの負荷を推定した後、この負荷の
推定結果の情報とネットワーク特性記述ファイル204
に登録された分散オブジェクト間の呼び出し所要時間に
関する情報に基づき、各アプリケーション実行時の性能
を推定し、その推定結果を表示装置215に表示し、さ
らにその推定結果に関する情報とアプリケーション目標
性能記述ファイル207に登録された各アプリケーショ
ン毎の目標性能に関する情報とに基づき、目標性能を満
たす分散オブジェクトの配置サーバを決定するようにし
たものである。
As described above, the present embodiment detects the number of executions of a plurality of applications mounted on a client that sequentially calls a distributed object and executes a predetermined process in a predetermined monitoring period, and executes the detected execution of each application. Based on the information on the number of times, the information on the mutual call relationship between the distributed objects registered in the distributed object relationship description file 201, and the information on the distributed objects used by each application registered in the application description file 202, each The number of executions of the distributed object is calculated, and the information on the execution characteristics of each server registered in the server description file 205 and the information on the execution characteristics of each distributed object registered in the object characteristic description file 203 are compared with the predetermined time. Based of the information of the execution times of distributed objects, after estimating the load of each server, the estimation result of the load information and the network properties description file 204
The performance at the time of executing each application is estimated based on the information on the required call time between the distributed objects registered in the application, and the estimation result is displayed on the display device 215. Further, the information on the estimation result and the application target performance description file 207 are displayed. And a server for distributing objects that satisfies the target performance is determined on the basis of the information on the target performance for each application registered in.

【0084】これにより、分散オブジェクトが複雑な環
境において実行されるようになっているシステムであっ
ても、複数のサーバの負荷を適切に平準化するための推
定情報あるいは決定情報を管理者等に提示し、目標とす
るクライアントアプリケーションの応答性または目標性
能を確保するのに貢献することができる。
As a result, even in a system in which distributed objects are executed in a complex environment, estimated information or decision information for appropriately leveling the load on a plurality of servers is provided to an administrator or the like. It can be presented and contribute to ensuring targeted client application responsiveness or targeted performance.

【0085】また、特定のサーバコンピュータもしくは
サーバグループへ配置することが制約される分散オブジ
ェクトを登録した分散オブジェクト配置制約記述ファイ
ル206をさらに設け、目標性能を満たす分散オブジェ
クトの配置サーバを決定するに際し、分散オブジェクト
配置制約記述ファイル206に登録された配置制約条件
を満たす分散オブジェクトの配置サーバを決定するよう
にしたため、分散オブジェクトの配置制約がある場合で
も、この配置制約を満たすように、分散オブジェクトの
適正配置を実現するのに貢献することができる。
Further, a distributed object placement constraint description file 206 in which distributed objects restricted to be placed on a specific server computer or server group are further provided. When determining a distributed object placement server satisfying the target performance, Since the allocation server of the distributed object that satisfies the allocation constraint registered in the distributed object allocation constraint description file 206 is determined, even if there is the allocation restriction of the distributed object, the appropriateness of the distributed object is determined so as to satisfy the allocation constraint. Can contribute to the realization of the arrangement.

【0086】なお、本発明は上記実施形態に限定される
ものではなく、実施に際しては、細部を実際のネットワ
ーク環境に応じて種々変形して実施することができる。
また、実行性能や特性などの情報についても上記実施形
態で用いたものに限定されるものではなく、必要に応じ
てさらに詳細な情報を付加して適正配置を推定すること
もできる。
The present invention is not limited to the above-described embodiment, and can be implemented with various details modified in accordance with the actual network environment.
Further, information such as execution performance and characteristics is not limited to the information used in the above-described embodiment, and it is also possible to add more detailed information as needed to estimate an appropriate arrangement.

【0087】さらに、所定時間当りの各分散オブジェク
トの実行回数が実行ログとして既存システムの中で得ら
れる構成になっている場合には、これを利用することも
可能である。
Further, when the number of times of execution of each distributed object per predetermined time is obtained as an execution log in an existing system, this can be used.

【0088】[0088]

【発明の効果】以上のように本発明においては、分散オ
ブジェクトが複雑な環境において実行されるようになっ
ているシステムであっても、複数のサーバの負荷を適切
に平準化するための推定情報あるいは決定情報を管理者
等に提示し、目標とするクライアントアプリケーション
の応答性または目標性能を確保するのに貢献することが
できる。
As described above, according to the present invention, even in a system in which distributed objects are executed in a complex environment, estimation information for appropriately leveling loads on a plurality of servers is provided. Alternatively, the decision information can be presented to an administrator or the like, thereby contributing to ensuring the responsiveness or the target performance of the target client application.

【0089】また、分散オブジェクト配置制約記述ファ
イルに登録された配置制約条件を満たす分散オブジェク
トの配置サーバを決定することにより、分散オブジェク
トの配置制約がある場合でも、この配置制約を満たすよ
うに、分散オブジェクトの適正配置を実現するのに貢献
することができる。
Also, by deciding a distributed object placement server that satisfies the placement constraint registered in the distributed object placement constraint description file, even if there is a distributed object placement constraint, the distributed server can satisfy the placement constraint. This can contribute to realizing proper arrangement of objects.

【0090】このような推定結果あるいは決定結果にし
たがって分散オブジェクトを再配置あるいは適正な位置
に配置することによって、分散オブジェクトを用いたコ
ンピュータネットワークシステムの効率化を促進するこ
とが可能になる。
By rearranging the distributed objects or arranging them at appropriate positions in accordance with such estimation results or determination results, it becomes possible to promote the efficiency of the computer network system using the distributed objects.

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

【図1】本発明を適用したコンピュータネットワークシ
ステムの一実施形態を示すシステム構成図である。
FIG. 1 is a system configuration diagram showing an embodiment of a computer network system to which the present invention has been applied.

【図2】いずれかのサーバコンピュータに配置される分
散オブジェクト適正配置決定装置の機能構成を示すブロ
ック図である。
FIG. 2 is a block diagram showing a functional configuration of a distributed object proper arrangement determining apparatus arranged in any one of server computers.

【図3】分散オブジェクト関係記述ファイルの登録デー
タの例を示す図である。
FIG. 3 is a diagram illustrating an example of registration data of a distributed object relation description file.

【図4】アプリケーション記述ファイルおよびアプリケ
ーション目標記述ファイルの登録データの例を示す図で
ある。
FIG. 4 is a diagram showing an example of registration data of an application description file and an application target description file.

【図5】分散オブジェクト実行特性記述ファイルの登録
データの例を示す図である。
FIG. 5 is a diagram showing an example of registration data of a distributed object execution characteristic description file.

【図6】ネットワーク記述ファイルの登録データの例を
示す図である。
FIG. 6 is a diagram showing an example of registration data of a network description file.

【図7】サーバ記述ファイルの登録データの例を示す図
である。
FIG. 7 is a diagram illustrating an example of registration data of a server description file.

【図8】分散オブジェクト配置制約ファイルの登録デー
タの例を示す図である。
FIG. 8 is a diagram illustrating an example of registration data of a distributed object placement constraint file.

【図9】サーバ負荷テーブルの登録データの例を示す図
である。
FIG. 9 is a diagram illustrating an example of registration data of a server load table.

【図10】オブジェクト配置テーブルの登録データの例
を示す図である。
FIG. 10 is a diagram showing an example of registration data of an object arrangement table.

【図11】レスポンステーブルの登録データの例を示す
図である。
FIG. 11 is a diagram illustrating an example of registration data of a response table.

【図12】分散オブジェクトの最適化部の処理の概要を
示すフローチャートである。
FIG. 12 is a flowchart illustrating an outline of processing of a distributed object optimization unit.

【図13】遺伝子表現の一例を示す図である。FIG. 13 is a diagram showing an example of gene expression.

【図14】遺伝的アルゴリズムの説明図である。FIG. 14 is an explanatory diagram of a genetic algorithm.

【図15】交差処理の概念図である。FIG. 15 is a conceptual diagram of the intersection processing.

【図16】遺伝的アルゴリズムを用いた適性化処理の概
略フローチャートである。
FIG. 16 is a schematic flowchart of the suiting process using a genetic algorithm.

【図17】初期遺伝子集団の作成手順を示すフローチャ
ートである。
FIG. 17 is a flowchart showing a procedure for creating an initial gene population.

【図18】交差処理の手順を示すフローチャートであ
る。
FIG. 18 is a flowchart illustrating a procedure of an intersection process.

【図19】突然変異処理の手順を示すフローチャートで
ある。
FIG. 19 is a flowchart illustrating a procedure of a mutation process.

【図20】淘汰処理の手順を示すフローチャートであ
る。
FIG. 20 is a flowchart illustrating a procedure of a selection process.

【図21】次世代遺伝子集団の作成処理を示すフローチ
ャートである。
FIG. 21 is a flowchart showing a process of creating a next-generation gene population.

【図22】ランクテーブルの一例を示す図である。FIG. 22 is a diagram illustrating an example of a rank table.

【符合の説明】[Description of sign]

101…サーバコンピュータ、102…クライアントコ
ンピュータ、103…ルータ、201…分散オブジェク
ト関係記述ファイル、202…アプリケーション記述フ
ァイル、203…特性記述ファイル、204…ネットワ
ーク記述ファイル、205…サーバ記述ファイル、20
6…配置制約記述ファイル、207…アプリケーション
目標記述ファイル、208…監視装置、209…定義解
析部、210…サーバ負荷テーブル、211…オブジェ
クト配置テーブル、212…レスポンステーブル、21
3…最適化部、215…表示装置。
101 server computer, 102 client computer, 103 router, 201 distributed object relationship description file, 202 application description file, 203 characteristic description file, 204 network description file, 205 server description file, 20
6: placement constraint description file, 207: application target description file, 208: monitoring device, 209: definition analysis unit, 210: server load table, 211: object placement table, 212: response table, 21
3. Optimizer, 215 ... Display device.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 分散オブジェクトを逐次呼び出して所定
の処理を実行するクライアントコンピュータに搭載され
た複数のアプリケーションプログラムの所定監視期間に
おける実行回数を検出するアプリケーション実行監視手
段と、 複数のサーバコンピュータに分散配置した分散オブジェ
クト間の相互呼び出し関係を登録した関係記述ファイル
と、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムがいずれの分散オブジェクトを
使用するかを登録したアプリケーション記述ファイル
と、 各サーバコンピュータの実行性能を登録したサーバ記述
ファイルと、 ネットワーク内の複数のサーバコンピュータにおける分
散オブジェクト間の呼び出し所要時間に関する情報を登
録したネットワーク呼び出し時間関係記述ファイルと、 前記複数のサーバコンピュータに分散配置した各分散オ
ブジェクトの実行特性を登録したオブジェクト特性記述
ファイルとを備え、ネットワーク内の複数のサーバコン
ピュータに配置された各分散オブジェクトをクライアン
トコンピュータに搭載された複数のアプリケーションプ
ログラムから逐次呼び出して所定の処理を実行するコン
ピュータシステムにおける分散オブジェクトの適正配置
を推定する方法であって、 前記アプリケーション実行監視手段によって検出した各
アプリケーションプログラムの実行回数の情報と前記関
係記述ファイルに登録された分散オブジェクト間の相互
呼び出し関係の情報および前記アプリケーション記述フ
ァイルに登録された各アプリケーションプログラムが使
用する分散オブジェクトの情報とに基づき、所定時間当
りの各分散オブジェクトの実行回数を算出する第1のス
テップと、 前記サーバ記述ファイルに登録された各サーバコンピュ
ータの実行特性に関する情報および前記オブジェクト特
性記述ファイルに登録された各分散オブジェクトの実行
特性に関する情報と前記第1のステップで算出された所
定時間当りの分散オブジェクトの実行回数の情報に基づ
き、各サーバコンピュータの負荷を推定する第2のステ
ップと、 負荷の推定結果の情報と前記ネットワーク特性記述ファ
イルに登録された分散オブジェクト間の呼び出し所要時
間に関する情報に基づき、各アプリケーションプログラ
ム実行時の性能を推定し、その推定結果を分散オブジェ
クトの適正配置を決定するための情報として出力する第
3のステップとを備えることを特徴とする分散オブジェ
クトの適正配置推定方法。
An application execution monitoring means for detecting the number of executions in a predetermined monitoring period of a plurality of application programs mounted on a client computer for sequentially calling a distributed object and executing a predetermined process, and is distributed to a plurality of server computers. A relationship description file in which registered mutual call relationships between distributed objects are registered; an application description file in which a plurality of application programs mounted on the client computer use which distributed object; and an execution performance of each server computer And a network call time relationship description file in which information about the call time between distributed objects in a plurality of server computers in the network is registered. And an object characteristic description file in which execution characteristics of each distributed object distributed in the plurality of server computers are registered. Each distributed object disposed in the plurality of server computers in the network is mounted on the client computer. A method for estimating a proper arrangement of a distributed object in a computer system that sequentially calls a plurality of application programs to execute a predetermined process, comprising: information on the number of times of execution of each application program detected by the application execution monitoring unit; and the relationship description. The information of the mutual call relationship between the distributed objects registered in the file and the information of the distributed objects used by each application program registered in the application description file. A first step of calculating the number of executions of each distributed object per predetermined time; information on execution characteristics of each server computer registered in the server description file and each distributed object registered in the object characteristic description file A second step of estimating the load on each server computer based on the information on the execution characteristics of the server and the information on the number of times of execution of the distributed object per predetermined time calculated in the first step; Based on the information on the required call time between distributed objects registered in the network characteristics description file, the performance at the time of executing each application program is estimated, and the estimation result is output as information for determining an appropriate arrangement of the distributed objects. And the third step. A method for estimating the proper arrangement of distributed objects to be featured.
【請求項2】 分散オブジェクトを逐次呼び出して所定
の処理を実行するクライアントコンピュータに搭載され
た複数のアプリケーションプログラムの所定監視期間に
おける実行回数を検出するアプリケーション実行監視手
段と、 複数のサーバコンピュータに分散配置した分散オブジェ
クト間の相互呼び出し関係を登録した関係記述ファイル
と、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムがいずれの分散オブジェクトを
使用するかを登録したアプリケーション記述ファイル
と、 各サーバコンピュータの実行性能を登録したサーバ記述
ファイルと、 ネットワーク内の複数のサーバコンピュータにおける分
散オブジェクト間の呼び出し所要時間に関する情報を登
録したネットワーク呼び出し時間関係記述ファイルと、 前記複数のサーバコンピュータに分散配置した各分散オ
ブジェクトの実行特性を登録したオブジェクト特性記述
ファイルと、 前記各アプリケーションプログラム毎の目標性能に関す
る情報を登録したアプリケーション目標性能記述ファイ
ルと、を備え、ネットワーク内の複数のサーバコンピュ
ータに配置された各分散オブジェクトをクライアントコ
ンピュータに搭載された複数のアプリケーションプログ
ラムから逐次呼び出して所定の処理を実行するコンピュ
ータシステムにおける分散オブジェクトの適正配置位置
を決定する方法であって、 前記アプリケーション実行監視手段によって検出した各
アプリケーションプログラムの実行回数の情報と前記関
係記述ファイルに登録された分散オブジェクト間の相互
呼び出し関係の情報および前記アプリケーション記述フ
ァイルに登録された各アプリケーションプログラムが使
用する分散オブジェクトの情報とに基づき、所定時間当
りの各分散オブジェクトの実行回数を算出する第1のス
テップと、 前記サーバ記述ファイルに登録された各サーバコンピュ
ータの実行特性に関する情報および前記オブジェクト特
性記述ファイルに登録された各分散オブジェクトの実行
特性に関する情報と前記第1のステップで算出された所
定時間当りの分散オブジェクトの実行回数の情報に基づ
き、各サーバコンピュータの負荷を推定する第2のステ
ップと、 負荷の推定結果の情報と前記ネットワーク特性記述ファ
イルに登録された分散オブジェクト間の呼び出し所要時
間に関する情報に基づき、各アプリケーションプログラ
ム実行時の性能を推定する第3のステップと、 各アプリケーションプログラム実行時の性能の推定結果
に関する情報と前記アプリケーション目標性能記述ファ
イルに登録された各アプリケーションプログラム毎の目
標性能に関する情報とに基づき、目標性能を満たす分散
オブジェクトの配置サーバを決定する第4のステップと
を備えることを特徴とする分散オブジェクトの配置位置
決定方法。
2. An application execution monitoring means for detecting the number of times of execution of a plurality of application programs mounted on a client computer for sequentially calling a distributed object and executing a predetermined process during a predetermined monitoring period, and is distributed to a plurality of server computers. A relationship description file in which registered mutual call relationships between distributed objects are registered; an application description file in which a plurality of application programs mounted on the client computer use which distributed object; and an execution performance of each server computer And a network call time relationship description file in which information about the call time between distributed objects in a plurality of server computers in the network is registered. An object characteristic description file that registers execution characteristics of each distributed object distributed in the plurality of server computers, and an application target performance description file that registers information on target performance of each of the application programs. A method of determining an appropriate arrangement position of a distributed object in a computer system that executes predetermined processing by sequentially calling each distributed object arranged on a plurality of server computers in a network from a plurality of application programs installed on a client computer. Information on the number of executions of each application program detected by the application execution monitoring means, and information on mutual call relationships between distributed objects registered in the relationship description file. A first step of calculating the number of executions of each distributed object per a predetermined time based on information on distributed objects used by each application program registered in the application description file; and Based on the information on the execution characteristics of each server computer, the information on the execution characteristics of each distributed object registered in the object characteristic description file, and the information on the number of times of execution of the distributed object per predetermined time calculated in the first step, A second step of estimating the load of each server computer, and, based on the information on the load estimation result and the information on the required call time between the distributed objects registered in the network characteristic description file, the performance at the time of executing each application program. A distributed object satisfying the target performance based on information on the performance estimation result at the time of execution of each application program and information on the target performance for each application program registered in the application target performance description file. And a fourth step of deciding a placement server of the distributed object.
【請求項3】 特定のサーバコンピュータもしくはサー
バグループへ配置することが制約される分散オブジェク
トを登録した分散オブジェクト配置制約ファイルをさら
に備え、前記第4のステップで目標性能を満たす分散オ
ブジェクトの配置サーバを決定するに際し、前記分散オ
ブジェクト配置制約ファイルに登録された配置制約条件
を満たす分散オブジェクトの配置サーバを決定すること
を特徴とする請求項2記載の分散オブジェクトの配置位
置決定方法。
3. A distributed object placement constraint file in which a distributed object restricted to be placed on a specific server computer or server group is further registered, and the distributed object placement server satisfying the target performance in the fourth step. 3. The method according to claim 2, further comprising: determining a distribution object placement server satisfying the placement constraint registered in the distributed object placement constraint file.
【請求項4】 前記第4のステップで目標性能を満たす
分散オブジェクトの配置サーバを決定するに際し、前記
アプリケーション目標性能記述ファイルに付加的に登録
された各アプリケーションプログラムの目標性能の優先
度の情報に基づき、優先度の高い分散オブジェクトを優
先して適性配置位置を決定することを特徴とする請求項
2または3記載の分散オブジェクトの配置位置決定方
法。
4. When deciding a placement server of a distributed object satisfying the target performance in the fourth step, the priority information of the target performance of each application program additionally registered in the application target performance description file is used. The method according to claim 2 or 3, wherein an appropriate arrangement position is determined by giving priority to a distributed object having a higher priority.
【請求項5】 前記第4のステップで目標性能を満たす
分散オブジェクトの配置サーバを決定するに際し、前記
サーバ記述ファイルに登録された各サーバコンピュータ
の実行性能に比例した確率で各分散オブジェクトの配置
位置を決定することを特徴とする請求項2または3記載
の分散オブジェクトの適正配置決定方法。
5. When deciding a placement server of a distributed object that satisfies the target performance in the fourth step, a placement position of each distributed object with a probability proportional to an execution performance of each server computer registered in the server description file. 4. The method according to claim 2, further comprising: determining a proper arrangement of the distributed objects.
【請求項6】 遺伝的アルゴリズムを用いて適正配置位
置を決定することを特徴とする請求項2〜5記載の分散
オブジェクトの適正配置位置決定方法。
6. The method according to claim 2, wherein a proper arrangement position is determined by using a genetic algorithm.
【請求項7】 ネットワーク内の複数のサーバコンピュ
ータに配置された各分散オブジェクトをクライアントコ
ンピュータに搭載された複数のアプリケーションプログ
ラムから逐次呼び出して所定の処理を実行するコンピュ
ータシステムにおける分散オブジェクトの適正配置を推
定する装置であって、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムの所定監視期間における実行回
数を検出するアプリケーション実行監視手段と、 複数のサーバコンピュータに分散配置した分散オブジェ
クト間の相互呼び出し関係を登録した関係記述ファイル
と、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムがいずれの分散オブジェクトを
使用するかを登録したアプリケーション記述ファイル
と、 各サーバコンピュータの実行性能を登録したサーバ記述
ファイルと、 ネットワーク内の複数のサーバコンピュータにおける分
散オブジェクト間の呼び出し所要時間に関する情報を登
録したネットワーク呼び出し時間関係記述ファイルと、 前記複数のサーバコンピュータに分散配置した各分散オ
ブジェクトの実行特性を登録したオブジェクト特性記述
ファイルと、 前記アプリケーション実行監視手段によって検出した各
アプリケーションプログラムの実行回数の情報と前記関
係記述ファイルに登録された分散オブジェクト間の相互
呼び出し関係の情報および前記アプリケーション記述フ
ァイルに登録された各アプリケーションプログラムが使
用する分散オブジェクトの情報とに基づき、所定時間当
りの各分散オブジェクトの実行回数を算出する第1の処
理手段と、 前記サーバ記述ファイルに登録された各サーバコンピュ
ータの実行特性に関する情報および前記オブジェクト特
性記述ファイルに登録された各分散オブジェクトの実行
特性に関する情報と前記第1の処理手段で算出された所
定時間当りの分散オブジェクトの実行回数の情報に基づ
き、各サーバコンピュータの負荷を推定する第2の処理
手段と、 負荷の推定結果の情報と前記ネットワーク特性記述ファ
イルに登録された分散オブジェクト間の呼び出し所要時
間に関する情報に基づき、各アプリケーションプログラ
ム実行時の性能を推定し、その推定結果を分散オブジェ
クトの適正配置を決定するための情報として出力する第
3の処理手段とを備えることを特徴とする分散オブジェ
クトの適正配置推定装置。
7. Appropriate arrangement of distributed objects in a computer system that executes predetermined processing by sequentially calling each distributed object arranged on a plurality of server computers in a network from a plurality of application programs installed on a client computer. An application execution monitoring means for detecting the number of executions of a plurality of application programs mounted in the client computer during a predetermined monitoring period, and registering a mutual call relationship between distributed objects distributed on a plurality of server computers. Relationship description file, and an application description file that registers which distributed object is used by the plurality of application programs mounted on the client computer A server description file in which the execution performance of each server computer is registered; a network call time relation description file in which information about a call required time between distributed objects in a plurality of server computers in the network is registered; An object property description file in which the execution properties of each distributed object are registered, information on the number of executions of each application program detected by the application execution monitoring means, and a mutual call relationship between the distributed objects registered in the relation description file The number of executions of each distributed object per predetermined time is calculated based on the information of the distributed object used by each application program registered in the application description file. First processing means for outputting, information on execution characteristics of each server computer registered in the server description file, information on execution characteristics of each distributed object registered in the object characteristic description file, and the first processing means Second processing means for estimating the load on each server computer based on the information on the number of times of execution of the distributed object per predetermined time calculated in the above step; information on the load estimation result and the distribution registered in the network characteristic description file Third processing means for estimating the performance at the time of execution of each application program based on information on the required call time between objects, and outputting the estimation result as information for determining an appropriate arrangement of the distributed objects. Apparatus for estimating proper arrangement of distributed objects.
【請求項8】 ネットワーク内の複数のサーバコンピュ
ータに配置された各分散オブジェクトをクライアントコ
ンピュータに搭載された複数のアプリケーションプログ
ラムから逐次呼び出して所定の処理を実行するコンピュ
ータシステムにおける分散オブジェクトの適正配置を決
定する装置であって、 分散オブジェクトを逐次呼び出して所定の処理を実行す
るクライアントコンピュータに搭載された複数のアプリ
ケーションプログラムの所定監視期間における実行回数
を検出するアプリケーション実行監視手段と、 複数のサーバコンピュータに分散配置した分散オブジェ
クト間の相互呼び出し関係を登録した関係記述ファイル
と、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムがいずれの分散オブジェクトを
使用するかを登録したアプリケーション記述ファイル
と、 各サーバコンピュータの実行性能を登録したサーバ記述
ファイルと、 ネットワーク内の複数のサーバコンピュータにおける分
散オブジェクト間の呼び出し所要時間に関する情報を登
録したネットワーク呼び出し時間関係記述ファイルと、 前記複数のサーバコンピュータに分散配置した各分散オ
ブジェクトの実行特性を登録したオブジェクト特性記述
ファイルと、 前記各アプリケーションプログラム毎の目標性能に関す
る情報を登録したアプリケーション目標性能記述ファイ
ルと、 前記アプリケーション実行監視手段によって検出した各
アプリケーションプログラムの実行回数の情報と前記関
係記述ファイルに登録された分散オブジェクト間の相互
呼び出し関係の情報および前記アプリケーション記述フ
ァイルに登録された各アプリケーションプログラムが使
用する分散オブジェクトの情報とに基づき、所定時間当
りの各分散オブジェクトの実行回数を算出する第1の処
理手段と、 前記サーバ記述ファイルに登録された各サーバコンピュ
ータの実行特性に関する情報および前記オブジェクト特
性記述ファイルに登録された各分散オブジェクトの実行
特性に関する情報と前記第1の処理手段で算出された所
定時間当りの分散オブジェクトの実行回数の情報に基づ
き、各サーバコンピュータの負荷を推定する第2の処理
手段と、 負荷の推定結果の情報と前記ネットワーク特性記述ファ
イルに登録された分散オブジェクト間の呼び出し所要時
間に関する情報に基づき、各アプリケーションプログラ
ム実行時の性能を推定する第3の処理手段と、 各アプリケーションプログラム実行時の性能の推定結果
に関する情報と前記アプリケーション目標性能記述ファ
イルに登録された各アプリケーションプログラム毎の目
標性能に関する情報とに基づき、目標性能を満たす分散
オブジェクトの配置サーバを決定する第4の処理手段と
を備えることを特徴とする分散オブジェクトの配置位置
決定装置。
8. An appropriate arrangement of distributed objects in a computer system that executes predetermined processing by sequentially calling each distributed object arranged on a plurality of server computers in a network from a plurality of application programs installed on a client computer. An application execution monitoring means for detecting the number of executions of a plurality of application programs mounted on a client computer which sequentially calls a distributed object and executing a predetermined process during a predetermined monitoring period, and distributed to a plurality of server computers. A relationship description file in which a mutual call relationship between the arranged distributed objects is registered, and a plurality of application programs mounted on the client computer determine which of the distributed objects An application description file that registers whether to use it, a server description file that registers the execution performance of each server computer, and a network call time relationship description that registers information about the call time between distributed objects on multiple server computers in the network A file, an object property description file in which execution characteristics of each distributed object distributed in the plurality of server computers are registered, an application target performance description file in which information on a target performance for each of the application programs is registered, and the application execution The information on the number of executions of each application program detected by the monitoring means, the information on the mutual call relationship between the distributed objects registered in the relationship description file, and the First processing means for calculating the number of executions of each distributed object per predetermined time based on information on distributed objects used by each application program registered in the application description file; On the basis of the information on the execution characteristics of the server computer, the information on the execution characteristics of each distributed object registered in the object characteristics description file, and the information on the number of times of execution of the distributed object per predetermined time calculated by the first processing means, Second processing means for estimating the load of each server computer; and performance at the time of executing each application program, based on information on the result of the load estimation and information on the required call time between distributed objects registered in the network characteristics description file. Third to estimate Processing means, based on the information on the performance estimation result at the time of execution of each application program and the information on the target performance for each application program registered in the application target performance description file, a distributed object arrangement server that satisfies the target performance. And a fourth processing means for determining the position of the distributed object.
【請求項9】 ネットワーク内の複数のサーバコンピュ
ータに配置された各分散オブジェクトをクライアントコ
ンピュータに搭載された複数のアプリケーションプログ
ラムから逐次呼び出して所定の処理を実行するコンピュ
ータネットワークシステムであって、 分散オブジェクトを逐次呼び出して所定の処理を実行す
るクライアントコンピュータに搭載された複数のアプリ
ケーションプログラムの所定監視期間における実行回数
を検出するアプリケーション実行監視手段と、 複数のサーバコンピュータに分散配置した分散オブジェ
クト間の相互呼び出し関係を登録した関係記述ファイル
と、 前記クライアントコンピュータに搭載された複数のアプ
リケーションプログラムがいずれの分散オブジェクトを
使用するかを登録したアプリケーション記述ファイル
と、 各サーバコンピュータの実行性能を登録したサーバ記述
ファイルと、 ネットワーク内の複数のサーバコンピュータにおける分
散オブジェクト間の呼び出し所要時間に関する情報を登
録したネットワーク呼び出し時間関係記述ファイルと、 前記複数のサーバコンピュータに分散配置した各分散オ
ブジェクトの実行特性を登録したオブジェクト特性記述
ファイルと、 前記各アプリケーションプログラム毎の目標性能に関す
る情報を登録したアプリケーション目標性能記述ファイ
ルと、 前記アプリケーション実行監視手段によって検出した各
アプリケーションプログラムの実行回数の情報と前記関
係記述ファイルに登録された分散オブジェクト間の相互
呼び出し関係の情報および前記アプリケーション記述フ
ァイルに登録された各アプリケーションプログラムが使
用する分散オブジェクトの情報とに基づき、所定時間当
りの各分散オブジェクトの実行回数を算出する第1の処
理手段と、 前記サーバ記述ファイルに登録された各サーバコンピュ
ータの実行特性に関する情報および前記オブジェクト特
性記述ファイルに登録された各分散オブジェクトの実行
特性に関する情報と前記第1の処理手段で算出された所
定時間当りの分散オブジェクトの実行回数の情報に基づ
き、各サーバコンピュータの負荷を推定する第2の処理
手段と、 負荷の推定結果の情報と前記ネットワーク特性記述ファ
イルに登録された分散オブジェクト間の呼び出し所要時
間に関する情報に基づき、各アプリケーションプログラ
ム実行時の性能を推定する第3の処理手段と、 各アプリケーションプログラム実行時の性能の推定結果
に関する情報と前記アプリケーション目標性能記述ファ
イルに登録された各アプリケーションプログラム毎の目
標性能に関する情報とに基づき、目標性能を満たす分散
オブジェクトの配置サーバを決定する第4の処理手段
と、から構成された分散オブジェクトの配置位置決定装
置を備えることを特徴とするコンピュータネットワーク
システム。
9. A computer network system for executing predetermined processing by sequentially calling each of distributed objects arranged on a plurality of server computers in a network from a plurality of application programs mounted on a client computer, comprising: Application execution monitoring means for detecting the number of executions during a predetermined monitoring period of a plurality of application programs mounted on a client computer which sequentially executes and executes a predetermined process; and a mutual call relationship between distributed objects distributed and arranged on a plurality of server computers And a description file that registers which distributed objects are used by the plurality of application programs mounted on the client computer. A description file, a server description file in which the execution performance of each server computer is registered, a network call time relation description file in which information about a required call time between distributed objects in a plurality of server computers in the network is registered, and the plurality of servers. An object characteristic description file in which execution characteristics of each distributed object distributed in the computer are registered; an application target performance description file in which information on target performance for each of the application programs is registered; and each application detected by the application execution monitoring means Information on the number of executions of the program, information on the mutual call relationship between the distributed objects registered in the relationship description file, and information registered in the application description file. First processing means for calculating the number of executions of each distributed object per predetermined time based on information on distributed objects used by each application program, and information on execution characteristics of each server computer registered in the server description file And estimating a load on each server computer based on information on execution characteristics of each distributed object registered in the object characteristic description file and information on the number of times of execution of the distributed object per predetermined time calculated by the first processing means. A second processing means for performing, and a third processing for estimating a performance at the time of executing each application program based on information on a load estimation result and information on a required call time between distributed objects registered in the network characteristic description file. Means and each application pro A fourth process of determining a distributed object allocation server that satisfies the target performance based on the information on the performance estimation result at the time of executing the program and the information on the target performance for each application program registered in the application target performance description file. And a means for deciding the arrangement position of the distributed objects constituted by the means.
JP27138699A 1999-09-24 1999-09-24 Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position Pending JP2001092793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27138699A JP2001092793A (en) 1999-09-24 1999-09-24 Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27138699A JP2001092793A (en) 1999-09-24 1999-09-24 Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position

Publications (1)

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

Family

ID=17499357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27138699A Pending JP2001092793A (en) 1999-09-24 1999-09-24 Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position

Country Status (1)

Country Link
JP (1) JP2001092793A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101134A (en) * 1999-09-30 2001-04-13 Fujitsu Ltd Service distribution device
JP2005505850A (en) * 2001-10-15 2005-02-24 ヤコブ リンメル リミティッド Object distribution
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101134A (en) * 1999-09-30 2001-04-13 Fujitsu Ltd Service distribution device
JP2005505850A (en) * 2001-10-15 2005-02-24 ヤコブ リンメル リミティッド Object distribution
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring

Similar Documents

Publication Publication Date Title
EP3525096B1 (en) Resource load balancing control method and cluster scheduler
US8230424B2 (en) General interface with arbitrary job managers
Chang et al. An ant algorithm for balanced job scheduling in grids
Zomaya et al. Observations on using genetic algorithms for dynamic load-balancing
Lee et al. Practical scheduling of bag-of-tasks applications on grids with dynamic resilience
US5854754A (en) Scheduling computerized backup services
US8612980B2 (en) Distribution of job in a portable format in distributed computing environments
US20060047794A1 (en) Application of genetic algorithms to computer system tuning
JPH04299414A (en) Interface for dynamically modeling performance of computer system
JP2010287255A (en) Information processor and information processing system
Diekmann et al. Load balancing strategies for distributed memory machines
Xhafa A hybrid evolutionary heuristic for job scheduling on computational grids
CN111966495B (en) Data processing method and device
CN108038215A (en) Data processing method and system
Manikandan et al. Virtualized load balancer for hybrid cloud using genetic algorithm
Khodar et al. New scheduling approach for virtual machine resources in cloud computing based on genetic algorithm
CN104969197A (en) Data set multiplicity change device, server, and data set multiplicity change method
Khanli et al. An approach to grid resource selection and fault management based on ECA rules
CN105827744A (en) Data processing method of cloud storage platform
CN116302448B (en) Task scheduling method and system
JP2001092793A (en) Method for estimating proper arrangement of distributed object, method and device for determining proper arranging position
Thakor et al. PDLB: an effective prediction-based dynamic load balancing algorithm for clustered heterogeneous computational environment
CN113407336B (en) Full-comparison data distribution method based on tabu search optimization algorithm
CN113377866A (en) Load balancing method and device for virtualized database proxy service
Pham et al. A general and practical consolidation framework in CloudNFV