JP2000047890A - Distributed object managing system, its object selecting method and storage medium recording its processing program - Google Patents

Distributed object managing system, its object selecting method and storage medium recording its processing program

Info

Publication number
JP2000047890A
JP2000047890A JP10217327A JP21732798A JP2000047890A JP 2000047890 A JP2000047890 A JP 2000047890A JP 10217327 A JP10217327 A JP 10217327A JP 21732798 A JP21732798 A JP 21732798A JP 2000047890 A JP2000047890 A JP 2000047890A
Authority
JP
Japan
Prior art keywords
client
server
management system
information
distributed
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
JP10217327A
Other languages
Japanese (ja)
Inventor
Mayuko Shimizu
麻由子 清水
Yutaka Otsu
豊 大津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10217327A priority Critical patent/JP2000047890A/en
Publication of JP2000047890A publication Critical patent/JP2000047890A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a distributed object managing system, its object selecting method which improve the performance of the whole distributed object system and a storage medium recording its processing program. SOLUTION: The system is provided with a means for selecting an optimal object by considering the number of references of each object of a calling object, the machine performance of a host and the CPU using rate and memory using rate of a server machine in which objects 2b and 3b exists, and the speed of a network between a client 1 and hosts in which the objects 2b and 3b exist. Thus, the client 1 can use an optimal target object without caring about the load of the target object in a distributed object environment.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、分散オブジェクト
システムにおけるクライアントからのオブジェクト呼び
出し要求に対して、複数のオブジェクトから一つのター
ゲットオブジェクトを選択する技術に係わり、特に、シ
ステム全体の性能を向上させるのに好適な分散オブジェ
クト管理システムとそのオブジェクト選択方法およびそ
の処理プログラムを記録した記録媒体に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for selecting one target object from a plurality of objects in response to an object call request from a client in a distributed object system, and more particularly to improving the performance of the entire system. More particularly, the present invention relates to a distributed object management system, an object selection method thereof, and a recording medium recording a processing program thereof.

【0002】[0002]

【従来の技術】分散オブジェクト環境(システム)で
は、オブジェクトがローカルコンピュータに存在しよう
と、あるいはネットワーク上のリモートコンピュータに
存在しようと、ORB(Object Request Broker;オブジ
ェクト・リクエスト・ブローカー)が提供する通信機能
により、オブジェクトの存在位置を意識せずに、クライ
アント側のアプリケーションとサーバ側のオブジェクト
とは通信を行うことができる。
2. Description of the Related Art In a distributed object environment (system), a communication function provided by an ORB (Object Request Broker) regardless of whether an object exists on a local computer or a remote computer on a network. Thus, the application on the client side and the object on the server side can communicate with each other without being aware of the location of the object.

【0003】そのため、オブジェクトの存在位置を管理
するための、オブジェクト管理システムが用意されてい
る。このオブジェクト管理システムは、クライアントが
オブジェクト呼び出しの対象としているオブジェクトを
探し出し、ターゲットオブジェクトとして選択する。し
かしながら、従来のオブジェクト管理システムは、クラ
イアントから要求されたオブジェクトと同じものが複数
ある場合、すなわち、複数のサーバ上で同一アプリケー
ションが動作する場合、オブジェクトの負荷状況を考慮
せずに、ラウンドロビン(総当たり)でターゲットオブ
ジェクトを選択していた。
Therefore, an object management system for managing the location of an object is provided. This object management system finds an object that the client calls for an object and selects it as a target object. However, the conventional object management system, when there are a plurality of objects that are the same as the object requested from the client, that is, when the same application runs on a plurality of servers, without considering the load state of the object, round robin ( The target object was selected by brute force.

【0004】また、特開平10−40118号公報の
「クライアント/サーバシステム及びクライアント端末
装置」では、同一サーバの複数プロセス上に同じ処理を
行うオブジェクトが存在する場合においての負荷分散技
術が提案されている。しかし、この技術では、同一アプ
リケーションが複数のサーバ上で動作する場合、プロセ
スが使用されているか否かに基づき処理の振り分けを行
っているだけであり、ターゲットオブジェクトの選択時
に、サーバの負荷について十分な考慮がなされていな
い。
Japanese Patent Application Laid-Open No. 10-40118 discloses a "client / server system and client terminal device" which proposes a load distribution technique in a case where objects performing the same processing exist in a plurality of processes of the same server. I have. However, with this technology, when the same application runs on multiple servers, only the distribution of processing is performed based on whether or not a process is being used. Has not been taken into account.

【0005】[0005]

【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、サーバの負荷について十分に考
慮されたターゲットオブジェクトの選択が行なわれてい
ない点である。本発明の目的は、これら従来技術の課題
を解決し、分散オブジェクトシステム全体の性能の向上
を図ることが可能な分散オブジェクト管理システムとそ
のオブジェクト選択方法およびその処理プログラムを記
録した記録媒体を提供することである。
The problem to be solved is that, in the prior art, the selection of the target object is not performed in consideration of the load on the server. SUMMARY OF THE INVENTION An object of the present invention is to provide a distributed object management system capable of solving the problems of the prior art and improving the performance of the distributed object system as a whole, an object selecting method thereof, and a recording medium recording a processing program thereof. That is.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、本発明の分散オブジェクト管理システムとそのオブ
ジェクト選択方法およびその処理プログラムを記録した
記録媒体では、同一のオブジェクト(共通オブジェク
ト)が複数ある場合、各共通オブジェクトが存在するサ
ーバマシンの性能(CPU速度)や、クライアントとサー
バマシン間のネットワークの速さ、および、サーバマシ
ンのメモリ/CPU使用率等、各共通オブジェクトの実
行に影響を与える情報を収集し、この情報に基づき、最
適なオブジェクトをターゲットオブジェクトとして選択
する。
In order to achieve the above object, in a distributed object management system according to the present invention, a method for selecting an object thereof, and a recording medium on which a processing program is recorded, a plurality of identical objects (common objects) are provided. Information that affects the execution of each common object, such as the performance (CPU speed) of the server machine where each common object exists, the speed of the network between the client and the server machine, and the memory / CPU usage of the server machine And the best object is selected as the target object based on this information.

【0007】また、選択したオブジェクトの呼び出しに
用いる識別情報を自管理システムの識別情報に変換し
て、外部ネットワーク上のクライアントに通知し、変換
後の識別情報を用いてクライアントからのオブジェクト
の呼び出しを受けることにより、インターネットなどの
外部ネットワーク上のクライアントからのターゲットオ
ブジェクトへの直接接続を回避する。
[0007] Also, the identification information used for calling the selected object is converted into the identification information of the self-management system, and is notified to the client on the external network, and the object calling from the client is called using the converted identification information. Receiving avoids a direct connection to the target object from a client on an external network such as the Internet.

【0008】[0008]

【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の分散オブジェク
ト管理システムの本発明に係る構成とそれを用いた分散
オブジェクトシステムの第1の実施例を示すブロック図
である。本例は、LAN(Local Area Network、ローカ
ルエリアネットワーク)7環境における分散オブジェク
トシステムの構成を示すものであり、オブジェクト管理
システム(図中、「管理プログラム」と記載)6がター
ゲットオブジェクトを選択すると、コンピュータ装置か
らなるクライアント1とターゲットオブジェクトが直接
通信を行うものであり、クライアント1と、各々コンピ
ュータ装置からなるサーバ2,3および管理サーバ4は
ORB(オブジェクト・リクエスト・ブローカ)5で接
続されている。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a distributed object management system according to the present invention according to the present invention and a first embodiment of a distributed object system using the same. This example shows a configuration of a distributed object system in a LAN (Local Area Network) environment, and when an object management system (described as “management program” in the figure) 6 selects a target object, A client 1 composed of a computer device and a target object directly communicate with each other, and the client 1 is connected to an ORB (Object Request Broker) 5 with servers 2, 3 and a management server 4 each composed of a computer device. .

【0009】クライアント1上のクライアントアプリケ
ーション(図中、「AP−C1」と記載)1aと、サー
バ2,3上のサーバアプリケーション(図中、「AP−
S1」,「AP−S2」と記載)2a,3a、および、
管理サーバ4上のオブジェクト管理システム6は、OR
B5によりメッセージの送受信を行う。オブジェクト管
理システム6は、図示していないFD(フレキシブルデ
ィスク)等の記録媒体に記録されたプログラムを管理サ
ーバ4内のハードディスク装置等に読み込み構成された
ものであり、オブジェクト管理部6aとターゲット選択
部6bおよび負荷情報収集部6c、そして、オブジェク
ト管理情報部6dからなる。
A client application ("AP-C1" in the figure) 1a on the client 1 and a server application ("AP-C" in the figure) on the servers 2 and 3 are shown.
S1 "," AP-S2 ") 2a, 3a, and
The object management system 6 on the management server 4
A message is transmitted and received by B5. The object management system 6 is configured by reading a program recorded on a recording medium (not shown) such as an FD (flexible disk) into a hard disk device or the like in the management server 4, and includes an object management unit 6a and a target selection unit. 6b, a load information collection unit 6c, and an object management information unit 6d.

【0010】オブジェクト管理システム6は、CORB
A(Common ORB architecture、コルバ)オブジェクト
の情報を管理しており、ドメイン内で少なくとも一つ起
動する必要がある。また、このようなオブジェクト管理
システム6は、複数起動が可能性であり、オブジェクト
管理システム単位で異なる評価方法を適用することが考
えられる。この場合、グループ毎に1つのオブジェクト
管理システムを起動し、そのグループで最適と思われる
本発明に係わるオブジェクトの選択方法を使用すること
が望ましい。
The object management system 6 uses CORB
A (Common ORB architecture, Colva) object information is managed, and it is necessary to start at least one in the domain. Further, such an object management system 6 can be activated plural times, and it is conceivable to apply different evaluation methods for each object management system. In this case, it is desirable to activate one object management system for each group and use the object selection method according to the present invention which is considered to be optimal for the group.

【0011】このように、同一ドメイン内で複数のオブ
ジェクト管理システムが起動される場合も考えられる
が、説明を簡略化するために、本例では、一つのオブジ
ェクト管理システムを利用するシステムについて説明を
していく。また、オブジェクト管理システム6は、クラ
イアントアプリケーション1aあるいはサーバアプリケ
ーション2a,3aが動作するコンピュータ(クライア
ント1、サーバ2,3)上での動作も可能であるが、本
図1の例では、管理サーバ4として専用のコンピュータ
を設け、この管理サーバ4上で一つのオブジェクト管理
システム6が起動されることを示している。
As described above, there may be a case where a plurality of object management systems are activated in the same domain. For the sake of simplicity, in this example, a system using one object management system will be described. I will do it. Further, the object management system 6 can operate on a computer (client 1, server 2, 3) on which the client application 1a or the server applications 2a, 3a operate, but in the example of FIG. Shows that an object management system 6 is activated on the management server 4.

【0012】サーバアプリケーション2a,3aを起動
すると、Rep1インタフェースのオブジェクト(図中、
「Obj1」,「Obj2」と記載)2b,3bが、そ
れぞれサーバ2、サーバ3上に生成される。尚、サーバ
アプリケーション2a,3aがそれぞれ複数のオブジェ
クトを生成することが想定されるが、ここでは説明の簡
略化のため、単一オブジェクトを生成するものとする。
When the server applications 2a and 3a are started, objects of the Rep1 interface (in the figure,
2b and 3b are generated on the server 2 and the server 3, respectively. It is assumed that each of the server applications 2a and 3a generates a plurality of objects. Here, for simplification of description, it is assumed that a single object is generated.

【0013】サーバアプリケーション2a,3aのそれ
ぞれが、起動後にRep1インタフェースのオブジェクト
2b,3bを生成すると、オブジェクト管理システム6
にオブジェクト情報が登録される。そして、クライアン
ト1上のクライアントアプリケーション1aが、Rep1
インタフェースのオブジェクトの呼び出し要求を行った
場合には、オブジェクト管理システム6は、登録されて
いるオブジェクト2b,3bの中から、最適な処理を行
うオブジェクトをターゲットオブジェクトとして選択
し、クライアントアプリケーション1aにターゲットオ
ブジェクトの情報を与える。
When each of the server applications 2a and 3a generates the objects 2b and 3b of the Rep1 interface after starting, the object management system 6
Is registered in the object information. Then, the client application 1a on the client 1 executes Rep1
When a request for invoking an object of the interface is made, the object management system 6 selects an object that performs optimal processing from among the registered objects 2b and 3b as a target object, and notifies the client application 1a of the target object. Give information.

【0014】尚、このように、サーバアプリケーション
2a,3aのそれぞれが、オブジェクト管理システム6
にオブジェクトの情報を登録するので、サーバアプリケ
ーション2a,3aの起動前にオブジェクト管理システ
ム6を起動しておく必要がある。 以下、図2〜図7を
用いて、クライアント1、サーバ2,3、管理サーバ
4、オブジェクト管理システム6の動作を詳細に説明す
る。
As described above, each of the server applications 2a and 3a is
Since the object information is registered in the object management system 6, it is necessary to start the object management system 6 before starting the server applications 2a and 3a. Hereinafter, the operations of the client 1, the servers 2, 3, the management server 4, and the object management system 6 will be described in detail with reference to FIGS.

【0015】図2は、図1におけるサーバの処理動作例
を示すフローチャートである。サーバ2,3上で、サー
バアプリケーション2a,3aが実行されると、オブジ
ェクト管理システム6をネットワーク(LAN7)上か
ら探し出し(「初期フェーズ」)(ステップ101)、オ
ブジェクト作成を契機にオブジェクト管理システム6に
オブジェクトの登録を依頼する(「登録フェーズ」)(ス
テップ102)。その後、処理要求の待ち状態となり、
クライアント1から処理の実行要求を受けつける(「実
行フェーズ」)(ステップ103)。
FIG. 2 is a flowchart showing an example of the processing operation of the server in FIG. When the server applications 2a and 3a are executed on the servers 2 and 3, the object management system 6 is searched for on the network (LAN 7) ("initial phase") (step 101), and the object management system 6 is triggered by object creation. Is requested to register an object ("registration phase") (step 102). After that, it becomes a waiting state for processing request,
A process execution request is received from the client 1 ("execution phase") (step 103).

【0016】図3は、図1におけるクライアントの処理
動作例を示すフローチャートである。クライアント1で
は、クライアントアプリケーション1aの起動後、オブ
ジェクト管理システム6を探索し(「初期フェーズ」)
(ステップ201)、オブジェクトの呼び出し(「オブ
ジェクト呼び出しフェーズ」)を行うと(ステップ20
2)、オブジェクト管理システム6に対してターゲット
オブジェクトの情報の取得を要求し、オブジェクト管理
システム6からオブジェクトリファレンス(オブジェク
ト識別情報)を取得し、このオブジェクトリファレンス
を用いて、サーバ2,3へ処理の依頼を行う(「実行フ
ェーズ」)(ステップ203)。尚、ここでは、事前に
登録されているオブジェクトでなければクライアント1
は呼び出しをすることができない。
FIG. 3 is a flowchart showing an example of the processing operation of the client in FIG. After the client application 1a is started, the client 1 searches the object management system 6 ("initial phase").
(Step 201), when an object is called (“object calling phase”) (Step 20)
2) requesting the object management system 6 to acquire information on the target object, acquiring an object reference (object identification information) from the object management system 6, and using this object reference to the servers 2 and 3 A request is made ("execution phase") (step 203). Here, if the object is not registered in advance, the client 1
Cannot make a call.

【0017】図4は、図1におけるオブジェクト管理シ
ステムの処理動作例を示すフローチャートである。オブ
ジェクト管理システム6は、サーバ2,3からのオブジ
ェクトの登録要求の受信(「登録フェーズ」)後(ステ
ップ301)、クライアント1からのオブジェクトの呼
び出し要求を受ける(ステップ302)。このオブジェ
クト呼び出し要求を受けると、オブジェクト管理システ
ム6は、最適な処理を行うオブジェクト(ターゲットオ
ブジェクト)を選択する(「ターゲット選択フェーズ」)
(ステップ303〜308/後で詳細を説明する)。そ
して、サーバアプリケーション2a,3aから終了の通
知を受けると、登録されているオブジェクト情報を削除
する(「終了フェーズ」)(ステップ309)。
FIG. 4 is a flowchart showing an example of the processing operation of the object management system in FIG. After receiving the object registration request from the servers 2 and 3 (“registration phase”) (step 301), the object management system 6 receives the object call request from the client 1 (step 302). Upon receiving this object call request, the object management system 6 selects an object (target object) that performs the optimal processing (“target selection phase”).
(Steps 303 to 308 / details will be described later). Then, upon receiving the end notification from the server applications 2a and 3a, the registered object information is deleted ("end phase") (step 309).

【0018】図5は、図1における分散オブジェクトシ
ステムでの処理の流れの例を示す説明図であり、図6
は、図1におけるオブジェクト管理情報部に登録された
オブジェクト管理情報例を示す説明図、図7は、図1に
おけるターゲット選択部で用いるターゲット選択基準情
報例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example of a processing flow in the distributed object system in FIG. 1, and FIG.
Is an explanatory diagram showing an example of object management information registered in the object management information section in FIG. 1, and FIG. 7 is an explanatory diagram showing an example of target selection criterion information used in the target selecting section in FIG.

【0019】図6に例示するオブジェクト管理情報6e
を構成する項目は、ホスト名6f、リポジトリID6
g、オブジェクト名6h、オブジェクトリファレンス6
i、リファレンス数6j、マシンの性能6k、ネットワ
ークの速さ6l、ホストの利用状況6mからなる。
Object management information 6e illustrated in FIG.
Are the host name 6f and the repository ID 6
g, object name 6h, object reference 6
i, the number of references 6j, the machine performance 6k, the network speed 61, and the host usage status 6m.

【0020】ホスト名6aには「Server1」や
「Server2」などのサーバマシンを識別するため
の情報が、リポジトリID6gには同じオブジェクトに
共通する識別情報が、オブジェクト名6hには各オブジ
ェクト固有の識別情報が、オブジェクトリファレンス6
iにはクライアントからのオブジェクト呼び出し用に決
められたオブジェクトリファレンスが、リファレンス数
6jには呼び出し元のクライアント数が登録され、ま
た、マシンの性能6kにはサーバマシンに設けられたメ
モリの容量やサーバマシンのCPUの動作クロック数
が、ネットワークの速さ6lにはサーバとクライアント
間のネットワークの転送速度が、そして、ホストの利用
状況6mにはサーバマシンが有するメモリとCPUのそ
れぞれの使用率が登録される。
The host name 6a has information for identifying the server machine such as "Server1" or "Server2", the repository ID 6g has identification information common to the same object, and the object name 6h has an identification unique to each object. Information is Object Reference 6
In i, an object reference determined for calling an object from a client is registered. In reference number 6j, the number of clients of the caller is registered. In machine performance 6k, the capacity of a memory provided in the server machine or the server The number of operating clocks of the CPU of the machine is registered in the network speed 6l, the transfer rate of the network between the server and the client, and in the host usage state 6m, the respective usage rates of the memory and the CPU of the server machine are registered. Is done.

【0021】この図6の例では、同じオブジェクトを有
する二つのサーバが登録されている。すなわち、「Se
rver1」と「Server2」をホスト名とする二
つのサーバマシン上で、リボジトリID6gが「ID
L:Rep1:1.0」の同じオブジェクトが、それぞ
れ異なるオブジェクト名(「o1」,「o2」)で管理
されている。
In the example of FIG. 6, two servers having the same object are registered. That is, "Se
On two server machines having host names “rver1” and “Server2”, the repository ID 6g is “ID”
The same object of “L: Rep1: 1.0” is managed with different object names (“o1”, “o2”).

【0022】特に、マシンの性能6kとネットワークの
速さ6lおよびホストの利用状況6mは本例に特有のも
のであり、これらの登録情報により、「Server
1」と「Server2」の二つのサーバマシンの性能
が管理されている。すなわち、「Server1」は、
「Server2」に比べて、メモリ容量は半分で、C
PU速度(動作クロック)は2倍、ネットワーク速度が
半分であるとの情報が登録され、また、メモリ使用率が
2倍、CPU使用率が1/3倍との状況が登録されてい
る。
In particular, the machine performance 6k, the network speed 6l, and the host use situation 6m are unique to the present embodiment, and the registration information indicates "Server"
The performance of two server machines, "1" and "Server2", is managed. That is, “Server1” is
The memory capacity is half that of “Server2” and C
Information that the PU speed (operation clock) is twice and the network speed is half is registered, and a situation where the memory usage is twice and the CPU usage is 1/3 times is registered.

【0023】図7に示すターゲット選択基準情報6nを
構成する項目は、優先度6o、マシン情報の更新タイミ
ング6v、マシン情報以外の更新タイミング6wからな
り、マシン情報の更新タイミング6vにおいて、24時
間毎に負荷情報を更新するよう指定され、マシン情報以
外の更新タイミング6wにおいて、オブジェクト呼び出
し毎に他の情報(マシンの負荷情報以外)を更新するよ
う指定されている。
The items constituting the target selection criterion information 6n shown in FIG. 7 include a priority 6o, an update timing 6v for machine information, and an update timing 6w other than machine information. In the update timing 6w other than the machine information, it is specified that the other information (other than the machine load information) is updated every time the object is called.

【0024】さらに、優先度6oは、リファレンス数6
p、メモリ6q、クロック6r、ネットワークの速さ6
s、メモリ占有率6t、CPU使用率6uの各項目から
なり、この優先度6oにおける各項目(リファレンス数
6p、メモリ6q、クロック6r、ネットワークの速さ
6s、メモリ占有率6t、CPU使用率6u)に対して
は、サーバマシンの負荷となるそれぞれの割合(R1〜
R6%)が予め付与されている。
Further, the priority 6o is the number of references 6
p, memory 6q, clock 6r, network speed 6
s, memory occupancy 6t, and CPU usage 6u. Each item in this priority 6o (reference number 6p, memory 6q, clock 6r, network speed 6s, memory occupancy 6t, CPU usage 6u) ), The respective ratios (R1 to
R6%) is given in advance.

【0025】以下、図5〜図7および図2〜図4を用い
て、図1における分散オブジェクトシステムでの動作に
ついて説明する。前述したように、サーバ2,3でサー
バアプリケーション2a,3aが起動されると、ORB
5の機能により、ネットワーク(LAN7)上のオブジ
ェクト管理システム6が探索される(図2のステップ1
01)。続いて、サーバアプリケーション2a,3aで
オブジェクト2b,3bが生成されると、オブジェクト
管理システム6にオブジェクトの登録要求が行われる
(図2のステップ102)。
The operation of the distributed object system in FIG. 1 will be described below with reference to FIGS. 5 to 7 and FIGS. As described above, when the server applications 2a, 3a are started on the servers 2, 3, the ORB
The object management system 6 on the network (LAN 7) is searched by the function 5 (step 1 in FIG. 2).
01). Subsequently, when the objects 2b and 3b are generated by the server applications 2a and 3a, a request for registering the objects is made to the object management system 6.
(Step 102 in FIG. 2).

【0026】この要求に対し、オブジェクト管理部6a
は、オブジェクト管理情報部6dにオブジェクト2b,
3bの情報を追加する。オブジェクトの登録要求が完了
すると、オブジェクト管理システム6内のオブジェクト
管理情報部6dには、図6で示す情報のうち、ホスト
名、オブジェクト名、リポジトリID(IDentifier、識
別子)、および、クライアント1がオブジェクト呼び出
し要求に用いるオブジェクトリファレンスが設定される
(図4のステップ301)。このようなオブジェクトの登
録処理は、サーバアプリケーション2a,3aがオブジ
ェクト2b,3bを生成したときのみ行われる。
In response to this request, the object management unit 6a
Indicates that the object 2b,
3b is added. When the registration request of the object is completed, the host name, the object name, the repository ID (IDentifier, identifier), and the client 1 are stored in the object management information section 6d in the object management system 6 in the information shown in FIG. Object reference used for call request is set
(Step 301 in FIG. 4). Such object registration processing is performed only when the server applications 2a and 3a generate the objects 2b and 3b.

【0027】このようにして、サーバ2,3上のオブジ
ェクト2b,3bがオブジェクト管理情報部6dに登録
される。また、クライアント1において、クライアント
アプリケーション1aが起動されると、ORB5の機能
により、ネットワーク(LAN7)上のオブジェクト管
理システム6が探し出される(図3のステップ201)。
Thus, the objects 2b and 3b on the servers 2 and 3 are registered in the object management information section 6d. When the client application 1a is started in the client 1, the object management system 6 on the network (LAN 7) is searched by the function of the ORB 5 (step 201 in FIG. 3).

【0028】クライアントアプリケーション1aがオブ
ジェクトの呼び出し要求を行うと(図3のステップ20
2)、ORB5を通じて、オブジェクト管理システム6
にターゲットオブジェクトの要求が行われ、オブジェク
ト管理部6aは、ターゲット選択部6bにターゲットオ
ブジェクト選択要求を送信する(図4のステップ30
2)。ここではクライアントアプリケーション1aが、
ホスト名やオブジェクト名を指定せずに、Rep1オブジ
ェクトの呼び出し要求を行ったものとする(図4のステ
ップ303)。
When the client application 1a issues a request for calling an object (step 20 in FIG. 3).
2), through the ORB 5, the object management system 6
The object management unit 6a transmits a target object selection request to the target selection unit 6b (step 30 in FIG. 4).
2). Here, the client application 1a
It is assumed that a call request for the Rep1 object has been made without specifying a host name or an object name (step 303 in FIG. 4).

【0029】ターゲット選択部6bは、オブジェクト管
理情報部6dを参照し、クライアントアプリケーション
1aから指定されたRep1オブジェクトと同一のものを
全て探し出す(図4のステップ304)。Rep1オブジェ
クトは、オブジェクト管理情報部6dにおいて、オブジ
ェクト2bとオブジェクト3bの2つが登録されている
ので、オブジェクト2b,3bおよびサーバ2,3の負
荷を考慮して、ターゲットオブジェクトを決定する(図
4のステップ305)。
The target selection unit 6b refers to the object management information unit 6d and searches for all the same Rep1 objects specified by the client application 1a (step 304 in FIG. 4). For the Rep1 object, the object 2b and the object 3b are registered in the object management information section 6d. Therefore, the target object is determined in consideration of the loads of the objects 2b and 3b and the servers 2 and 3 (see FIG. 4). Step 305).

【0030】すなわち、ターゲット選択部6bは、予め
設定されている図7に示すターゲット選択基準情報に従
い、ターゲットオブジェクトの選択に必要とされる情報
を負荷情報収集部6cに要求する。図7に例示すよう
に、ターゲット選択基準情報は、各項目の優先度とし
て、負荷情報全体で占める割合(R1〜R6)および負
荷情報を更新するタイミング等が指定できる。この例
で、負荷情報全体で占める割合を0%と指定された項目
は、負荷情報の対象とはならない。尚、このターゲット
選択基準情報は、オブジェクト管理システム6が起動中
であっても更新可能であり、動的にその設定を変更する
ことができる。
That is, the target selection unit 6b requests the load information collection unit 6c for information required for selecting a target object according to the preset target selection reference information shown in FIG. As illustrated in FIG. 7, in the target selection criterion information, as a priority of each item, a ratio (R1 to R6) of the entire load information, a timing of updating the load information, and the like can be designated. In this example, an item designated as having a ratio of 0% in the entire load information is not a target of the load information. The target selection criterion information can be updated even while the object management system 6 is running, and its setting can be dynamically changed.

【0031】図6には、ターゲットオブジェクトの選択
に使用する情報が示されており、オブジェクトのリファ
レンス数、サーバマシンの性能情報(メモリ容量、CP
Uクロック)、サーバとクライアント間のネットワーク
の速さ、および、サーバ(ホスト)の使用率(メモリ/C
PU使用率)等が収集される。ターゲット選択部6b
は、負荷情報収集部6cに、図6に示す負荷情報の取得
を依頼する。
FIG. 6 shows information used for selecting a target object. The reference number of the object, the performance information of the server machine (memory capacity, CP
U clock), network speed between server and client, and server (host) usage rate (memory / C
PU usage rate) is collected. Target selector 6b
Requests the load information collecting unit 6c to acquire the load information shown in FIG.

【0032】負荷情報収集部6cは、負荷情報の収集
時、図7に示したターゲット選択基準情報を参照し、最
新の情報をサーバ2,3から取得するべきかを確認し、
必要な情報のみを収集する。そして、取得したサーバ
2,3の負荷情報でオブジェクト管理情報部6dの内容
を更新する(図4のステップ306)。ターゲット選択部
6bは、オブジェクト管理情報部6dの内容、および、
図7のターゲット選択基準情報に基づき、最適な、すな
わち、負荷の少ないターゲットオブジェクトを選択す
る。
When collecting the load information, the load information collecting unit 6c refers to the target selection reference information shown in FIG. 7 and checks whether the latest information should be obtained from the servers 2 and 3.
Gather only the information you need. Then, the contents of the object management information section 6d are updated with the acquired load information of the servers 2 and 3 (Step 306 in FIG. 4). The target selection unit 6b includes the contents of the object management information unit 6d,
Based on the target selection criterion information of FIG. 7, an optimal target object, that is, a target object with a small load is selected.

【0033】このようなターゲットオブジェクトの選択
における負荷情報を総合的に評価するために、各項目で
最も負荷のあるもの、あるいは最も性能が悪いものを基
準値とし、この基準に対して、どれだけ負荷がないかを
数値化し、この値に全体評価における任意の割合を掛け
合わせることで、各オブジェクトの負荷状況を判断する
例を、以下に挙げる。
In order to comprehensively evaluate the load information in the selection of such a target object, the one with the most load or the one with the worst performance in each item is set as a reference value. An example in which the load status of each object is determined by numerically determining whether or not there is a load and multiplying the value by an arbitrary ratio in the overall evaluation is described below.

【0034】図7で示したオブジェクト管理情報の例で
は、説明上、各オブジェクトの負荷情報は基準値に対す
る倍率で値を表している。この場合を考えてみると、サ
ーバ2のオブジェクト2bに対する負荷値L1は、 L1=(r×2×R1)+(m×R2)+(c×2×R
3)+(n×R4)+(w×2×R5)+(b×R6) となる。
In the example of the object management information shown in FIG. 7, for the sake of explanation, the load information of each object represents a value by a magnification relative to a reference value. Considering this case, the load value L1 for the object 2b of the server 2 is: L1 = (r × 2 × R1) + (m × R2) + (c × 2 × R
3) + (n × R4) + (w × 2 × R5) + (b × R6)

【0035】同様にして、サーバ3のオブジェクト3b
に対する負荷値L2を計算し、ターゲット選択部6b
は、それぞれの負荷値L1,L2を比較して、値が大き
いほど負荷のかかっていないものと判断し、ターゲット
オブジェクトとして選択する。ここで、負荷値L1<負
荷値L2が成立したとすると、ターゲット選択部6bは
ターゲットオブジェクトとしてオブジェクト3bを選択
する(図4のステップ307)。
Similarly, the object 3b of the server 3
Load value L2 is calculated for the target selection unit 6b
Compares the load values L1 and L2, determines that the larger the value is, the less the load is applied, and selects the target object. Here, assuming that the load value L1 <the load value L2 holds, the target selection unit 6b selects the object 3b as the target object (Step 307 in FIG. 4).

【0036】そして、ターゲット選択部6bは、オブジ
ェクト管理部6aにサーバ3上のオブジェクト3bのオ
ブジェクトリファレンスを渡し、オブジェクト管理部6
aは、クライアントアプリケーション1aに、ターゲッ
ト選択部6bから渡されたオブジェクトリファレンスを
送信する(図4のステップ308)。以上が、ターゲット
選択フェーズである。
Then, the target selection unit 6b passes the object reference of the object 3b on the server 3 to the object management unit 6a,
a transmits the object reference passed from the target selection unit 6b to the client application 1a (step 308 in FIG. 4). The above is the target selection phase.

【0037】クライアントアプリケーション1aは、受
信したオブジェクトリファレンスを利用して、オブジェ
クト3bにより処理の実行を行うと、サーバアプリケー
ション3aはクライアントアプリケーション1aの要求
に応じる(図3のステップ203、図2のステップ10
3)。このステップ203とステップ103を繰り返
し、クライアントアプリケーション1aはオブジェクト
3bにサービスの要求を行う。
When the client application 1a executes the processing by the object 3b using the received object reference, the server application 3a responds to the request of the client application 1a (step 203 in FIG. 3, step 10 in FIG. 2).
3). Steps 203 and 103 are repeated, and the client application 1a issues a service request to the object 3b.

【0038】そして、オブジェクト管理システム6にサ
ーバアプリケーション3aの終了が通知されると、オブ
ジェクト管理部6aは、オブジェクト管理情報6dから
オブジェクト3bの情報を削除する(図4のステップ3
09)。
When the object management system 6 is notified of the end of the server application 3a, the object management unit 6a deletes the information of the object 3b from the object management information 6d (step 3 in FIG. 4).
09).

【0039】次に、本発明の第2の実施例として、イン
ターネットを介してクライアント1がイントラネット内
のオブジェクトにアクセスする場合を例に、特に、ファ
イアウォール上で動作するプロキシ(代理サーバ)によ
り、クライアント1からはプロキシのみを意識するよう
にして、外部のクライアント1からイントラネット内の
オブジェクトに直接アクセスさせない例を説明する。
Next, as a second embodiment of the present invention, taking the case where the client 1 accesses an object in the intranet via the Internet, in particular, the client (1) is operated by a proxy (proxy server) operating on a firewall. An example will be described in which an external client 1 does not directly access an object in an intranet by making only a proxy aware of the object from the outside.

【0040】図8は、本発明の分散オブジェクト管理シ
ステムの本発明に係る構成とそれを用いた分散オブジェ
クトシステムの第2の実施例を示すブロック図である。
本例では、ファイアウォール41上で本発明の分散オブ
ジェクト管理システムとしての管理プロキシ60が起動
される。図示するように、クライアント10と外部接続
コンピュータ40は、インターネット70で接続されて
おり、外部接続コンピュータ40とサーバ2およびサー
バ3はLAN7上でORB5により接続されている。
FIG. 8 is a block diagram showing a configuration of the distributed object management system according to the present invention and a distributed object system using the same according to a second embodiment of the present invention.
In this example, the management proxy 60 as the distributed object management system of the present invention is activated on the firewall 41. As shown, the client 10 and the externally connected computer 40 are connected via the Internet 70, and the externally connected computer 40 and the server 2 and the server 3 are connected over the LAN 7 by the ORB 5.

【0041】クライアント10上では、クライアントア
プリケーション(図中、「AP−C2」と記載)11が
動作する。また、サーバアプリケーション2aはサーバ
2上で、サーバアプリケーション3aはサーバ3上で動
作し、それぞれクライアントアプリケーション11から
の要求に応じる同一のサーバアプリケーションである。
このサーバアプリケーション2a,3aを起動すると、
Rep1オブジェクト2b,3bがそれぞれサーバ2、サ
ーバ3上に生成される。
On the client 10, a client application (described as "AP-C2" in the figure) 11 operates. The server application 2a operates on the server 2 and the server application 3a operates on the server 3, and are the same server application responding to a request from the client application 11, respectively.
When the server applications 2a and 3a are started,
Rep1 objects 2b and 3b are generated on server 2 and server 3, respectively.

【0042】外部接続コンピュータ40はファイアウォ
ール41と管理プロキシ60から構成されている。管理
プロキシ60は、ファイアウォール41を通してクライ
アントアプリケーション11からの接続を受けるが、オ
ブジェクトの登録と選択/管理動作は、図1における実
施例と同じである。また、管理プロキシ60は、図1の
オブジェクト管理システム6が有するオブジェクト管理
部6a、ターゲット選択部6b、負荷情報収集部6c、
オブジェクト管理情報部6dに加え、中継通信部61お
よび中継情報管理部62を備えている。
The external connection computer 40 comprises a firewall 41 and a management proxy 60. Although the management proxy 60 receives a connection from the client application 11 through the firewall 41, the registration and selection / management operation of the object are the same as those in the embodiment in FIG. The management proxy 60 includes an object management unit 6a, a target selection unit 6b, a load information collection unit 6c,
A relay communication unit 61 and a relay information management unit 62 are provided in addition to the object management information unit 6d.

【0043】管理プロキシ60が起動されている状態
で、各サーバ2,3のサーバアプリケーション2a,3
aを起動すると、サーバアプリケーション2a,3aの
オブジェクト情報は、管理プロキシ60に登録される。
クライアントアプリケーション11は、インターネット
70を介してサーバアプリケーション2a,3aによる
処理を実行する場合、ファイアウォール41を通して、
管理プロキシ60からサーバアプリケーション2a,3
aのオブジェクト情報を取得し、取得した情報を元に処
理の実行をする。
While the management proxy 60 is running, the server applications 2a, 3
When a is started, the object information of the server applications 2a and 3a is registered in the management proxy 60.
When executing the processing by the server applications 2a and 3a via the Internet 70, the client application 11
From the management proxy 60 to the server application 2a, 3
The object information of “a” is acquired, and processing is executed based on the acquired information.

【0044】以下、このようなファイアウォール41上
で動作する管理プロキシ60の動作説明を行なう。図9
は、図8における管理プロキシの本発明に係わる動作例
を示すフローチャートである。本例は、図8のファイア
ウォール41上で動作する管理プロキシ60の処理概要
を示し、サーバ2,3およびクライアント10側の処理
は、前述の図2,3のものと同様であり、ここでの説明
は省略する。
The operation of the management proxy 60 operating on the firewall 41 will be described below. FIG.
9 is a flowchart showing an operation example of the management proxy in FIG. 8 according to the present invention. This example shows an outline of the processing of the management proxy 60 operating on the firewall 41 of FIG. 8, and the processing on the server 2, 3 and client 10 side is the same as that of FIG. Description is omitted.

【0045】図9において、管理プロキシ60は、サー
バアプリケーション2a,3aからオブジェクトの登録
要求を受けつけると、オブジェクト管理部6aにより、
オブジェクト管理情報部6dにオブジェクトの登録を行
う(「登録フェーズ」)(ステップ401)。その後、ク
ライアントアプリケーション11がオブジェクトの呼び
出し要求を行うと、ORB5を通じ、管理プロキシ60
に、ターゲットオブジェクトの選択が依頼される(ター
ゲット選択フェーズ)(ステップ402〜409)。
In FIG. 9, when the management proxy 60 receives an object registration request from the server applications 2a, 3a, the management proxy 60
The object is registered in the object management information section 6d (“registration phase”) (step 401). Thereafter, when the client application 11 issues a request for calling an object, the management proxy 60 is transmitted through the ORB 5.
Is requested to select a target object (target selection phase) (steps 402 to 409).

【0046】ターゲットオブジェクトの決定後、クライ
アントアプリケーション11が処理の要求を行うと、管
理プロキシ60は、クライアントアプリケーション11
とサーバアプリケーション2a,3aの通信の中継をす
る。そして、クライアントアプリケーション11から通
信の終了通知を受けると、クライアント10とサーバ
2,3間の通信を終了する(中継通信フェーズ)(ステッ
プ410〜412)。さらに、サーバアプリケーション
2a,3aが不活性になるかオブジェクト2b,3bが
消去した場合、オブジェクト管理情報部6dに登録され
ているオブジェクト情報を削除する(終了フェーズ)(ス
テップ413)。
After the target object is determined, when the client application 11 makes a processing request, the management proxy 60
And relay the communication between the server application 2a and the server application 3a. Then, upon receiving the communication end notification from the client application 11, the communication between the client 10 and the servers 2 and 3 is ended (relay communication phase) (steps 410 to 412). Further, when the server applications 2a and 3a become inactive or the objects 2b and 3b are deleted, the object information registered in the object management information section 6d is deleted (end phase) (step 413).

【0047】図10は、図8における分散オブジェクト
システムでの処理の流れの例を示す説明図であり、図1
1は、図8における中継情報管理部の登録例を示す説明
図である。図11に示する中継情報62aにおいては、
各オブジェクト(「Obj1」、「Obj2」)62
b,62c毎に、クライアントのアドレス62d、リポ
ジトリID62e、オブジェクト名62f、オブジェク
トリファレンス62g、識別情報62hの各項目が設け
られている。この識別情報62hには、クライアントの
アドレス62dとオブジェクトリファレンス62gおよ
びリポジトリID62eとオブジェクト名62fで対応
付けられたクライアントアプリケーションから要求され
た処理を実行するサーバを識別するための情報が設定さ
れる。
FIG. 10 is an explanatory diagram showing an example of the processing flow in the distributed object system in FIG.
FIG. 1 is an explanatory diagram showing a registration example of the relay information management unit in FIG. In the relay information 62a shown in FIG.
Each object (“Obj1”, “Obj2”) 62
Items b, 62c include a client address 62d, a repository ID 62e, an object name 62f, an object reference 62g, and identification information 62h. In the identification information 62h, information for identifying a server that executes a process requested by a client application associated with the client address 62d, the object reference 62g, the repository ID 62e, and the object name 62f is set.

【0048】以下、図10、図11、および、図2、図
3、図9を用いて、図8における分散オブジェクトシス
テムでの動作について説明する。図5での説明と同様に
して、サーバ2,3上でサーバアプリケーション2a,
3aが起動されると、サーバアプリケーション2a,3
aは、ORB5の機能により、管理プロキシ60の存在
位置を取得する(図2のステップ101)。その後、サー
バアプリケーション2a,3aは、オブジェクト管理部
6aにオブジェクト登録要求を行い(図2のステップ1
02)、オブジェクト管理情報部6dへオブジェクト2
b,3bが登録される(図9のステップ401)。
The operation of the distributed object system in FIG. 8 will be described below with reference to FIGS. 10, 11, and 2, 3, and 9. In the same manner as described with reference to FIG.
When the server application 2a, 3a is started,
a obtains the location of the management proxy 60 by the function of the ORB 5 (step 101 in FIG. 2). Thereafter, the server applications 2a and 3a make an object registration request to the object management unit 6a (step 1 in FIG. 2).
02), the object 2 is stored in the object management information section 6d.
b and 3b are registered (step 401 in FIG. 9).

【0049】クライアントアプリケーション11は、O
RB5の機能により、管理プロキシ60の存在位置を取
得した後(図3のステップ201)、Rep1オブジェクト
の呼び出しを行う(図3のステップ202)。以下、ター
ゲット選択フェーズについて説明を行う。
The client application 11
After the location of the management proxy 60 is obtained by the function of the RB 5 (step 201 in FIG. 3), the Rep1 object is called (step 202 in FIG. 3). Hereinafter, the target selection phase will be described.

【0050】管理プロキシ60が、クライアントアプリ
ケーション11のオブジェクト呼び出し要求をORB5
を通して受け取ると、ターゲット選択部6bは、負荷情
報収集部6cが取得した情報を基に最適なターゲットオ
ブジェクトの選択を行う(図9のステップ402〜40
7)。このターゲットオブジェクトの選択方法は、図5
での説明と同様でありここでの説明は省略する。尚、こ
こでは、図5での場合と同様に、オブジェクト3bが最
適なオブジェクト(ターゲットオブジェクト)として選
択されたものとする。
The management proxy 60 transmits the object call request of the client application 11 to the ORB 5
Received through the server, the target selection unit 6b selects an optimal target object based on the information acquired by the load information collection unit 6c (Steps 402 to 40 in FIG. 9).
7). This target object selection method is shown in FIG.
Therefore, the description is omitted here. Here, as in the case of FIG. 5, it is assumed that the object 3b has been selected as the optimal object (target object).

【0051】このようにして、ターゲットオブジェクト
が決定すると、ターゲット選択部6bは、ターゲットオ
ブジェクトであるオブジェクト3bのオブジェクトリフ
ァレンス内のアドレスを、管理プロキシ60のアドレス
に変更した後、オブジェクト管理部6aに渡し、変更前
のオブジェクトリファレンスとリポジトリIDおよびオ
ブジェクト名をクライアント10のアドレスと共に、図
11で示す中継情報として中継情報管理部62に格納す
る(図9のステップ408)。
When the target object is determined in this way, the target selection unit 6b changes the address in the object reference of the object 3b, which is the target object, to the address of the management proxy 60, and then passes it to the object management unit 6a. Then, the object reference, repository ID, and object name before the change are stored in the relay information management unit 62 as the relay information shown in FIG. 11 together with the address of the client 10 (step 408 in FIG. 9).

【0052】また、オブジェクト管理部6aは、変更後
のオブジェクトリファレンスをクライアントアプリケー
ション11に送信する。(図9のステップ409)。クラ
イアントアプリケーション11は、このようにしてオブ
ジェクト管理部6aから受信したオブジェクトリファレ
ンスを使用してオブジェクト呼び出しの要求を送信し、
例えばRep1オブジェクトの呼び出しを行う。
Further, the object management section 6a transmits the changed object reference to the client application 11. (Step 409 in FIG. 9). The client application 11 transmits an object invocation request using the object reference received from the object management unit 6a in this manner,
For example, a Rep1 object is called.

【0053】クライアントアプリケーション11からの
オブジェクト呼び出しの要求を受けた管理プロキシ60
は、通信中継部6cにより、リポジトリIDとオブジェ
クト名をキーに中継情報管理部62の登録内容を参照
し、クライアントアプリケーション11の本来の接続先
がサーバ3であることを判別し、さらに、通信中継部6
cは、中継情報管理部62からオブジェクトリファレン
スを取得し、このオブジェクトリファレンスを用いてサ
ーバ3のオブジェクト3bの呼び出しを行う(図9のス
テップ410)。
The management proxy 60 that has received an object invocation request from the client application 11
The communication relay unit 6c refers to the registration contents of the relay information management unit 62 using the repository ID and the object name as keys, determines that the original connection destination of the client application 11 is the server 3, and furthermore, Part 6
c obtains the object reference from the relay information management unit 62, and calls the object 3b of the server 3 using this object reference (step 410 in FIG. 9).

【0054】そして、クライアントアプリケーション1
1が、オブジェクト管理部6aから受信したオブジェク
トリファレンスを使用して、処理の実行を依頼すると
(図3のステップ203)と、管理プロキシ60は、通
信中継部6cにより、ORB5を通し、クライアントア
プリケーション11からの要求を受け取り、中継情報管
理部62内からサーバ3のアドレスと識別情報を取得
し、オブジェクト3bにサービスの要求を行う。
Then, the client application 1
1 requests execution of a process using the object reference received from the object management unit 6a.
(Step 203 in FIG. 3), the management proxy 60 receives the request from the client application 11 through the ORB 5 by the communication relay unit 6c, and acquires the address and the identification information of the server 3 from within the relay information management unit 62. , Request a service to the object 3b.

【0055】そして、通信中継部6cは、オブジェクト
3bからの返答を受けると、中継情報管理部62内の識
別情報とクライアント10のアドレスにより、クライア
ント10へ、オブジェクト3bからの受信情報を送信す
ることにより通信の中継を行なう(図9のステップ41
1)。以降、図3のステップ203と図2のステップ1
03の処理を繰り返し、クライアントアプリケーション
11とオブジェクト3bは、メッセージの送受信を行
う。
When receiving the reply from the object 3b, the communication relay unit 6c transmits the reception information from the object 3b to the client 10 based on the identification information in the relay information management unit 62 and the address of the client 10. (Step 41 in FIG. 9).
1). Hereinafter, step 203 in FIG. 3 and step 1 in FIG.
03 is repeated, and the client application 11 and the object 3b transmit and receive a message.

【0056】この場合、クライアントアプリケーション
11では、あたかもターゲットオブジェクトであるオブ
ジェクト3bからサービスを受けているように見える
が、実際には、受信したオブジェクトリファレンスを用
いて、管理プロキシ60に接続し、管理プロキシ60で
動的にオブジェクトリファレンスを変更し、ターゲット
オブジェクト(オブジェクト3b)にクライアント10
からの要求を送信している。
In this case, the client application 11 looks as if it is receiving a service from the object 3b which is the target object, but actually connects to the management proxy 60 using the received object reference and 60, the object reference is dynamically changed and the client 10 is changed to the target object (object 3b).
Is sending a request from

【0057】クライアントアプリケーション11からオ
ブジェクト3bへ接続終了要求が送信されると、中継通
信部6cは、中継情報管理部62からクライアントアプ
リケーション11とオブジェクト3bの中継通信情報を
削除する(図9のステップ412)。そして、サーバアプ
リケーション3aでオブジェクト3bが消去されたり、
サーバアプリケーション3aが不活性になると、オブジ
ェクト管理部6aはオブジェクト管理情報6dからオブ
ジェクト3bの情報を削除する(図9のステップ41
3)。
When the connection termination request is transmitted from the client application 11 to the object 3b, the relay communication unit 6c deletes the relay communication information of the client application 11 and the object 3b from the relay information management unit 62 (step 412 in FIG. 9). ). Then, the object 3b is deleted by the server application 3a,
When the server application 3a becomes inactive, the object management unit 6a deletes information on the object 3b from the object management information 6d (step 41 in FIG. 9).
3).

【0058】以上、図1〜図11を用いて説明したよう
に、本実施例の分散オブジェクト管理システムとそのオ
ブジェクト選択方法では、分散オブジェクト環境でのク
ライアントからのオブジェクト呼び出し要求において、
要求の対象オブジェクトが複数存在する場合、オブジェ
クトやオブジェクトを実行しているサーバ(ホストマシ
ン)の負荷を考慮した上で、ターゲットオブジェクトを
選択する。
As described above with reference to FIGS. 1 to 11, in the distributed object management system and the object selection method according to the present embodiment, an object call request from a client in a distributed object environment is
When there are a plurality of request target objects, the target object is selected in consideration of the load of the object and the server (host machine) executing the object.

【0059】すなわち、オブジェクト呼び出し時に、呼
び出し対象の各オブジェクトのリファレンス数、オブジ
ェクトが存在するサーバ(ホスト)のマシン性能、サー
バマシンのCPU利用率およびメモリ利用率、クライア
ントとオブジェクトが存在するサーバ間のネットワーク
の速さなどを考慮して、最適なオブジェクトを選択す
る。これにより、分散オブジェクト環境で、クライアン
トアプリケーションは、アプリケーションの変更を行う
ことなく、また、ターゲットオブジェクトの負荷を意識
せずに、最適なターゲットオブジェクトを使用すること
ができ、システム全体の処理を向上させることができ
る。
That is, when an object is called, the reference number of each object to be called, the machine performance of the server (host) where the object exists, the CPU utilization and the memory utilization of the server machine, and the communication between the client and the server where the object exists. Select the optimal object considering the speed of the network. As a result, in the distributed object environment, the client application can use the optimum target object without changing the application and without being conscious of the load on the target object, thereby improving the processing of the entire system. be able to.

【0060】また、外部ネットワークのクライアントか
らの接続に対しては、クライアントに対してターゲット
オブジェクトを完全に隠蔽した形で、最適な処理を行う
ターゲットオブジェクトを使用することができる。
For a connection from a client on the external network, a target object that performs optimal processing can be used in a form in which the target object is completely hidden from the client.

【0061】尚、本発明は、図1〜図11を用いて説明
した実施例に限定されるものではなく、その要旨を逸脱
しない範囲において種々変更可能である。また、本発明
の目的は、クライアントアプリケーションからの要求に
最適な処理を行うターゲットオブジェクトを選択するこ
とにあるため、複数のサーバアプリケーションが、同一
データベースを更新する場合などについての説明は行わ
ない。
The present invention is not limited to the embodiment described with reference to FIGS. 1 to 11, and can be variously modified without departing from the gist thereof. Further, since an object of the present invention is to select a target object that performs processing optimal for a request from a client application, a case where a plurality of server applications update the same database will not be described.

【0062】[0062]

【発明の効果】本発明によれば、同一アプリケーション
が複数のサーバ上で動作する場合、オブジェクト呼び出
し時、プロセスが使用されているか否かの情報だけでな
く、呼び出し対象のオブジェクト(ターゲットオブジェ
クト)が存在する各サーバの負荷についても考慮された
ターゲットオブジェクトの選択を行なうことができ、分
散オブジェクトシステム全体の性能の向上を図ることが
可能である。
According to the present invention, when the same application runs on a plurality of servers, when an object is called, not only information on whether or not a process is used, but also the object to be called (target object) A target object can be selected in consideration of the load of each existing server, and the performance of the entire distributed object system can be improved.

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

【図1】本発明の分散オブジェクト管理システムの本発
明に係る構成とそれを用いた分散オブジェクトシステム
の第1の実施例を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a distributed object management system according to the present invention and a first embodiment of a distributed object system using the configuration.

【図2】図1におけるサーバの処理動作例を示すフロー
チャートである。
FIG. 2 is a flowchart illustrating an example of a processing operation of a server in FIG. 1;

【図3】図1におけるクライアントの処理動作例を示す
フローチャートである。
FIG. 3 is a flowchart illustrating an example of a processing operation of a client in FIG. 1;

【図4】図1におけるオブジェクト管理システムの処理
動作例を示すフローチャートである。
FIG. 4 is a flowchart illustrating an example of a processing operation of the object management system in FIG. 1;

【図5】図1における分散オブジェクトシステムでの処
理の流れの例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example of a processing flow in the distributed object system in FIG. 1;

【図6】図1におけるオブジェクト管理情報部に登録さ
れたオブジェクト管理情報例を示す説明図である。
FIG. 6 is an explanatory diagram showing an example of object management information registered in an object management information section in FIG. 1;

【図7】図1におけるターゲット選択部で用いるターゲ
ット選択基準情報例を示す説明図である。
FIG. 7 is an explanatory diagram showing an example of target selection criterion information used in a target selection unit in FIG. 1;

【図8】本発明の分散オブジェクト管理システムの本発
明に係る構成とそれを用いた分散オブジェクトシステム
の第2の実施例を示すブロック図である。
FIG. 8 is a block diagram showing a configuration of a distributed object management system according to the present invention and a second embodiment of a distributed object system using the same.

【図9】図8における管理プロキシの本発明に係わる動
作例を示すフローチャートである。
FIG. 9 is a flowchart illustrating an operation example of the management proxy in FIG. 8 according to the present invention;

【図10】図8における分散オブジェクトシステムでの
処理の流れの例を示す説明図である。
FIG. 10 is an explanatory diagram showing an example of a processing flow in the distributed object system in FIG. 8;

【図11】図8における中継情報管理部の登録例を示す
説明図である。
FIG. 11 is an explanatory diagram showing a registration example of a relay information management unit in FIG. 8;

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

1,10:クライアント、1a,11:クライアントア
プリケーション(「AP−C」)、2,3:サーバ、2
a,3a:サーバアプリケーション(「AP−S1」,
「AP−S2」)、2b,3b:オブジェクト(「Ob
j1」,「Obj2」)、4:管理サーバ、5:ORB
(オブジェクト・リクエスト・ブローカ)、6:オブジ
ェクト管理システム(「管理プログラム」)、6a:オ
ブジェクト管理部、6b:ターゲット選択部、6c:負
荷情報収集部、6d:オブジェクト管理情報部、6e:
オブジェクト管理情報、6f:ホスト名、6g:リポジ
トリID、6h:オブジェクト名、6i:オブジェクト
リファレンス、6j:リファレンス数、6k:マシンの
性能、6l:ネットワークの速さ、6m:ホストの利用
状況、6n:ターゲット選択基準情報、6o:優先度、
6p:リファレンス数、6q:メモリ、6r:クロッ
ク、6s:ネットワークの速さ、6t:メモリ占有率、
6t:CPU使用率、6v:マシン情報の更新タイミン
グ、6w:マシン情報以外の更新タイミング、7:LA
N、40:外部接続コンピュータ、41:ファイアウォ
ール、60:管理プロキシ、61:中継通信部、62:
中継情報登録部、62a:中継情報、62b,62c:
オブジェクト、62d:クライアントのアドレス、62
e:リポジトリID、62f:オブジェクト名、62
g:オブジェクトリファレンス、62h:識別情報、7
0:インターネット。
1, 10: client, 1a, 11: client application ("AP-C"), 2, 3: server, 2
a, 3a: server application (“AP-S1”,
“AP-S2”), 2b, 3b: Object (“Ob
j1 ”,“ Obj2 ”), 4: management server, 5: ORB
(Object request broker), 6: object management system (“management program”), 6a: object management unit, 6b: target selection unit, 6c: load information collection unit, 6d: object management information unit, 6e:
Object management information, 6f: host name, 6g: repository ID, 6h: object name, 6i: object reference, 6j: number of references, 6k: machine performance, 61: network speed, 6m: host use status, 6n : Target selection criteria information, 6o: priority,
6p: reference number, 6q: memory, 6r: clock, 6s: network speed, 6t: memory occupancy,
6t: CPU usage rate, 6v: Update timing of machine information, 6w: Update timing other than machine information, 7: LA
N, 40: external connection computer, 41: firewall, 60: management proxy, 61: relay communication unit, 62:
Relay information registration unit, 62a: relay information, 62b, 62c:
Object, 62d: client address, 62
e: repository ID, 62f: object name, 62
g: object reference, 62h: identification information, 7
0: Internet.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 クライアントとサーバとをオブジェクト
・リクエスト・ブローカ(ORB)で接続してなる分散
オブジェクトシステムに設けられ、複数の上記サーバが
生成した各オブジェクトから上記クライアントが呼び出
し要求したターゲットオブジェクトを選択する分散オブ
ジェクト管理システムであって、上記複数のサーバが生
成した同一のオブジェクト(共通オブジェクト)を、そ
れぞれを生成した各サーバに対応付けて記憶する記憶手
段と、上記共通オブジェクトを生成した各サーバのCP
U性能を含む各共通オブジェクトの実行に影響を与える
負荷の情報を各共通オブジェクト毎に収集して記憶する
収集手段と、クライアントから呼び出し要求されたオブ
ジェクトが共通オブジェクトであるか否かを上記記憶手
段を参照して判別する判別手段と、共通オブジェクトが
要求されれば上記収集手段で収集した負荷の情報を参照
して負荷が最小となるオブジェクトを上記ターゲットオ
ブジェクトとして選択する選択手段とを有することを特
徴とする分散オブジェクト管理システム。
1. A distributed object system in which a client and a server are connected by an object request broker (ORB), wherein a target object called by the client is selected from each of a plurality of objects generated by the server. Storage means for storing the same object (common object) generated by the plurality of servers in association with each server that has generated each of the plurality of servers; CP
A collection unit for collecting and storing information on load affecting the execution of each common object including the U performance for each common object; and a storage unit for determining whether an object called and requested by a client is a common object. And a selecting means for selecting an object having the minimum load as the target object by referring to the load information collected by the collecting means when a common object is requested. Characteristic distributed object management system.
【請求項2】 請求項1に記載の分散オブジェクト管理
システムにおいて、上記収集手段は、各共通オブジェク
ト毎に収集する上記負荷の情報として、上記各サーバの
CPU性能と共に、各共通オブジェクトのリファレンス
数、サーバのメモリ使用率およびCPU使用率、クライ
アントとサーバ間のネットワークの速さを収集すること
を特徴とする分散オブジェクト管理システム。
2. The distributed object management system according to claim 1, wherein the collection means includes, as the load information to be collected for each common object, a reference number of each common object together with a CPU performance of each server. A distributed object management system, which collects a memory usage rate and a CPU usage rate of a server, and a speed of a network between a client and a server.
【請求項3】 請求項1、もしくは、請求項2のいずれ
かに記載の分散オブジェクト管理システムにおいて、上
記各サーバのCPU性能を含む共通オブジェクトの実行
に影響を与える各負荷のそれぞれに異なる重み付けを付
与して数値化し、上記選択手段は、各負荷の数値の合計
が最小となるオブジェクトを上記ターゲットオブジェク
トとして選択することを特徴とする分散オブジェクト管
理システム。
3. The distributed object management system according to claim 1, wherein each of the loads affecting the execution of the common object including the CPU performance of each of the servers has a different weight. The distributed object management system is characterized in that the object is assigned and converted into a numerical value, and the selecting means selects, as the target object, an object having a minimum sum of numerical values of the loads.
【請求項4】 請求項1から請求項3のいずれかに記載
の分散オブジェクト管理システムにおいて、上記選択手
段で選択したターゲットオブジェクトの呼び出しに用い
る識別情報を自管理システムの識別情報に変換して外部
ネットワーク上のクライアントに通知する変換手段と、
変換後の識別情報を通知したクライアントと変換前の識
別情報とを対応付けて記憶する識別記憶手段と、上記外
部ネットワーク上のクライアントからの上記変換後の識
別情報を用いたオブジェクトの呼び出し要求を受け付
け、上記識別記憶手段の記憶内容に基づき、上記外部ネ
ットワーク上のクライアントと上記ターゲットオブジェ
クトとの通信を中継する中継手段とを有することを特徴
とする分散オブジェクト管理システム。
4. The distributed object management system according to claim 1, wherein the identification information used for calling the target object selected by said selection means is converted into the identification information of its own management system, and Conversion means for notifying clients on the network;
Identification storage means for storing the client that has notified the converted identification information and the identification information before conversion in association with each other, and accepting a request for calling an object using the converted identification information from a client on the external network And a relay unit for relaying communication between the client on the external network and the target object based on the storage content of the identification storage unit.
【請求項5】 インターネット上のクライアントとの接
続制御を行なうファイアウォール上に設けられることを
特徴とする請求項4に記載の分散オブジェクト管理シス
テム。
5. The distributed object management system according to claim 4, wherein the distributed object management system is provided on a firewall that controls connection with a client on the Internet.
【請求項6】 クライアントとサーバとをオブジェクト
・リクエスト・ブローカ(ORB)で接続してなる分散
オブジェクトシステムに設けられ、複数の上記サーバが
生成した各オブジェクトから上記クライアントが呼び出
し要求したターゲットオブジェクトを選択する分散オブ
ジェクト管理システムのオブジェクト選択方法であっ
て、上記複数のサーバが生成した同一のオブジェクト
(共通オブジェクト)を、それぞれを生成した各サーバ
に対応付けて第1の記憶装置に記憶するステップと、上
記共通オブジェクトを生成した各サーバのCPU性能を
含む各共通オブジェクトの実行に影響を与える負荷の情
報を各共通オブジェクト毎に収集して第2の記憶装置に
記憶するステップと、クライアントから呼び出し要求さ
れたオブジェクトが共通オブジェクトであるか否かを上
記第1の記憶装置の記憶内容を参照して判別するステッ
プと、共通オブジェクトが要求されれば上記第2の記憶
装置に記憶された負荷の情報を参照して負荷が最小とな
るオブジェクトを上記ターゲットオブジェクトとして選
択するステップとを有することを特徴とする分散オブジ
ェクト管理システムのオブジェクト選択方法。
6. A distributed object system in which a client and a server are connected by an object request broker (ORB), and a target object called by the client is selected from a plurality of objects generated by the server. Storing the same object (common object) generated by the plurality of servers in a first storage device in association with each server that has generated the object. Collecting information on the load affecting the execution of each common object including the CPU performance of each server that has generated the common object for each common object and storing the information in a second storage device; Objects are common Determining whether or not the object is an object by referring to the storage content of the first storage device; and, when a common object is requested, referring to the load information stored in the second storage device. Selecting an object having a minimum value as the target object.
【請求項7】 請求項6に記載の分散オブジェクト管理
システムのオブジェクト選択方法において、選択した上
記ターゲットオブジェクトの呼び出しに用いる識別情報
を自管理システムの識別情報に変換して外部ネットワー
ク上のクライアントに通知するステップと、変換後の識
別情報を通知したクライアントと変換前の識別情報とを
対応付けて記憶装置に記憶するステップと、上記外部ネ
ットワーク上のクライアントからの上記変換後の識別情
報を用いたオブジェクトの呼び出し要求を受け付け、上
記記憶装置の記憶内容に基づき、上記外部ネットワーク
上のクライアントと上記ターゲットオブジェクトとの通
信を中継するステップとを有することを特徴とする分散
オブジェクト管理システムのオブジェクト選択方法。
7. The object selecting method of the distributed object management system according to claim 6, wherein the identification information used for calling the selected target object is converted into the identification information of the self-management system and notified to the client on the external network. Performing the conversion, storing the converted identification information in the storage device in association with the client that has notified the converted identification information, and the object using the converted identification information from the client on the external network. And relaying communication between the client on the external network and the target object based on the contents stored in the storage device.
【請求項8】 コンピュータで読み取られ処理されるデ
ータおよびプログラムを記録する記録媒体であって、請
求項6もしくは請求項7のいずれかに記載の分散オブジ
ェクト管理システムのオブジェクト選択方法における各
ステップをコンピュータに実行させるためのプログラム
を記録したことを特徴とする記録媒体。
8. A recording medium for recording data and a program to be read and processed by a computer, wherein each step in the object selection method of the distributed object management system according to claim 6 is performed by a computer. A program for causing a computer to execute the program.
JP10217327A 1998-07-31 1998-07-31 Distributed object managing system, its object selecting method and storage medium recording its processing program Pending JP2000047890A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10217327A JP2000047890A (en) 1998-07-31 1998-07-31 Distributed object managing system, its object selecting method and storage medium recording its processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10217327A JP2000047890A (en) 1998-07-31 1998-07-31 Distributed object managing system, its object selecting method and storage medium recording its processing program

Publications (1)

Publication Number Publication Date
JP2000047890A true JP2000047890A (en) 2000-02-18

Family

ID=16702449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10217327A Pending JP2000047890A (en) 1998-07-31 1998-07-31 Distributed object managing system, its object selecting method and storage medium recording its processing program

Country Status (1)

Country Link
JP (1) JP2000047890A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010034972A (en) * 2000-05-10 2001-05-07 이병철 Dynamic dns binding system
JP2001312487A (en) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd Monitoring method for application program and method for providing application service
JP2003173323A (en) * 2001-12-06 2003-06-20 Hitachi Ltd Distributed object reference management method, executing system therefor, and processing program therefor
WO2005062176A1 (en) * 2003-12-18 2005-07-07 Club It Corporation Server/client system, load distribution device, load distribution method, and load distribution program
JP2005196427A (en) * 2004-01-07 2005-07-21 National Institute Of Advanced Industrial & Technology Control system for controlling conversion into component
JP2005267547A (en) * 2004-03-22 2005-09-29 Nec Corp Distributed object system and server
WO2005091137A1 (en) * 2004-03-19 2005-09-29 International Business Machines Corporation Computer system, server constituting the same, job execution control method thereof, and program
EP2426604A1 (en) 2010-09-06 2012-03-07 Sony Corporation Terminal device, information processing system, request target selection method and program

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312487A (en) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd Monitoring method for application program and method for providing application service
KR20010034972A (en) * 2000-05-10 2001-05-07 이병철 Dynamic dns binding system
JP2003173323A (en) * 2001-12-06 2003-06-20 Hitachi Ltd Distributed object reference management method, executing system therefor, and processing program therefor
WO2005062176A1 (en) * 2003-12-18 2005-07-07 Club It Corporation Server/client system, load distribution device, load distribution method, and load distribution program
US7992152B2 (en) 2003-12-18 2011-08-02 G-Cluster Global Corporation Server/client system, load distribution device, load distribution method, and load distribution program
JP2005196427A (en) * 2004-01-07 2005-07-21 National Institute Of Advanced Industrial & Technology Control system for controlling conversion into component
WO2005091137A1 (en) * 2004-03-19 2005-09-29 International Business Machines Corporation Computer system, server constituting the same, job execution control method thereof, and program
US8239868B2 (en) 2004-03-19 2012-08-07 International Business Machines Corporation Computer system, servers constituting the same, and job execution control method and program
JP2005267547A (en) * 2004-03-22 2005-09-29 Nec Corp Distributed object system and server
EP2426604A1 (en) 2010-09-06 2012-03-07 Sony Corporation Terminal device, information processing system, request target selection method and program

Similar Documents

Publication Publication Date Title
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US6065040A (en) Computer system having agent retracting method and agent returning method
US6510478B1 (en) Method and apparatus for coordination of a shared object in a distributed system
US5987502A (en) Workload management in an asynchronous client/server computer system
CN100462957C (en) Information route method and system based on secret strategy
US20030126196A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
CN100359508C (en) Merge protocol for schooling computer system
JPH07117933B2 (en) Automatic configuration control device and method
JP2000504863A (en) Method and apparatus for connecting a client node to a server node based on load level
JP2002512411A (en) Access control method and device
US20070165615A1 (en) Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services
US20070214174A1 (en) System for distributing files and transmitting/receiving distributed files
JP3554134B2 (en) Network connection path search method, computer, network system, and storage medium.
JP4132738B2 (en) A computerized method of determining application server availability
JP2000047890A (en) Distributed object managing system, its object selecting method and storage medium recording its processing program
CN100461124C (en) Computer system and information processing method
JPH07160647A (en) Distributed processing system
JP2005196725A (en) File migration method based on access history
JP2004302564A (en) Name service providing method, execution device of the same, and processing program of the same
JPH06266643A (en) Server program management method
JP2002049602A (en) Retrieval system
JP3961794B2 (en) Proxy server control program
JP2002334057A (en) Method for carrying on session at load decentralization time
JP2003167775A (en) Load distribution system and load distribution device