[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000047890A - 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体 - Google Patents

分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体

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
English (en)
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/ja
Publication of JP2000047890A publication Critical patent/JP2000047890A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 分散オブジェクト環境における、クライアン
トからのオブジェクト呼び出し要求において、要求の対
象オブジェクトが複数存在する場合、最適なターゲット
オブジェクトを選択できない。 【解決手段】 オブジェクト呼び出し時に、呼び出し対
象の各オブジェクトのリファレンス数、オブジェクトが
存在するホストのマシン性能やサーバマシンのCPU利
用率/メモリ利用率、およびクライアントとオブジェク
トが存在するホスト間のネットワークの速さを考慮し
て、最適なオブジェクトを選択する手段を備える。これ
により、分散オブジェクト環境で、クライアントがター
ゲットオブジェクトの負荷を意識せずに、最適なターゲ
ットオブジェクトを使用することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散オブジェクト
システムにおけるクライアントからのオブジェクト呼び
出し要求に対して、複数のオブジェクトから一つのター
ゲットオブジェクトを選択する技術に係わり、特に、シ
ステム全体の性能を向上させるのに好適な分散オブジェ
クト管理システムとそのオブジェクト選択方法およびそ
の処理プログラムを記録した記録媒体に関するものであ
る。
【0002】
【従来の技術】分散オブジェクト環境(システム)で
は、オブジェクトがローカルコンピュータに存在しよう
と、あるいはネットワーク上のリモートコンピュータに
存在しようと、ORB(Object Request Broker;オブジ
ェクト・リクエスト・ブローカー)が提供する通信機能
により、オブジェクトの存在位置を意識せずに、クライ
アント側のアプリケーションとサーバ側のオブジェクト
とは通信を行うことができる。
【0003】そのため、オブジェクトの存在位置を管理
するための、オブジェクト管理システムが用意されてい
る。このオブジェクト管理システムは、クライアントが
オブジェクト呼び出しの対象としているオブジェクトを
探し出し、ターゲットオブジェクトとして選択する。し
かしながら、従来のオブジェクト管理システムは、クラ
イアントから要求されたオブジェクトと同じものが複数
ある場合、すなわち、複数のサーバ上で同一アプリケー
ションが動作する場合、オブジェクトの負荷状況を考慮
せずに、ラウンドロビン(総当たり)でターゲットオブ
ジェクトを選択していた。
【0004】また、特開平10−40118号公報の
「クライアント/サーバシステム及びクライアント端末
装置」では、同一サーバの複数プロセス上に同じ処理を
行うオブジェクトが存在する場合においての負荷分散技
術が提案されている。しかし、この技術では、同一アプ
リケーションが複数のサーバ上で動作する場合、プロセ
スが使用されているか否かに基づき処理の振り分けを行
っているだけであり、ターゲットオブジェクトの選択時
に、サーバの負荷について十分な考慮がなされていな
い。
【0005】
【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、サーバの負荷について十分に考
慮されたターゲットオブジェクトの選択が行なわれてい
ない点である。本発明の目的は、これら従来技術の課題
を解決し、分散オブジェクトシステム全体の性能の向上
を図ることが可能な分散オブジェクト管理システムとそ
のオブジェクト選択方法およびその処理プログラムを記
録した記録媒体を提供することである。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明の分散オブジェクト管理システムとそのオブ
ジェクト選択方法およびその処理プログラムを記録した
記録媒体では、同一のオブジェクト(共通オブジェク
ト)が複数ある場合、各共通オブジェクトが存在するサ
ーバマシンの性能(CPU速度)や、クライアントとサー
バマシン間のネットワークの速さ、および、サーバマシ
ンのメモリ/CPU使用率等、各共通オブジェクトの実
行に影響を与える情報を収集し、この情報に基づき、最
適なオブジェクトをターゲットオブジェクトとして選択
する。
【0007】また、選択したオブジェクトの呼び出しに
用いる識別情報を自管理システムの識別情報に変換し
て、外部ネットワーク上のクライアントに通知し、変換
後の識別情報を用いてクライアントからのオブジェクト
の呼び出しを受けることにより、インターネットなどの
外部ネットワーク上のクライアントからのターゲットオ
ブジェクトへの直接接続を回避する。
【0008】
【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の分散オブジェク
ト管理システムの本発明に係る構成とそれを用いた分散
オブジェクトシステムの第1の実施例を示すブロック図
である。本例は、LAN(Local Area Network、ローカ
ルエリアネットワーク)7環境における分散オブジェク
トシステムの構成を示すものであり、オブジェクト管理
システム(図中、「管理プログラム」と記載)6がター
ゲットオブジェクトを選択すると、コンピュータ装置か
らなるクライアント1とターゲットオブジェクトが直接
通信を行うものであり、クライアント1と、各々コンピ
ュータ装置からなるサーバ2,3および管理サーバ4は
ORB(オブジェクト・リクエスト・ブローカ)5で接
続されている。
【0009】クライアント1上のクライアントアプリケ
ーション(図中、「AP−C1」と記載)1aと、サー
バ2,3上のサーバアプリケーション(図中、「AP−
S1」,「AP−S2」と記載)2a,3a、および、
管理サーバ4上のオブジェクト管理システム6は、OR
B5によりメッセージの送受信を行う。オブジェクト管
理システム6は、図示していないFD(フレキシブルデ
ィスク)等の記録媒体に記録されたプログラムを管理サ
ーバ4内のハードディスク装置等に読み込み構成された
ものであり、オブジェクト管理部6aとターゲット選択
部6bおよび負荷情報収集部6c、そして、オブジェク
ト管理情報部6dからなる。
【0010】オブジェクト管理システム6は、CORB
A(Common ORB architecture、コルバ)オブジェクト
の情報を管理しており、ドメイン内で少なくとも一つ起
動する必要がある。また、このようなオブジェクト管理
システム6は、複数起動が可能性であり、オブジェクト
管理システム単位で異なる評価方法を適用することが考
えられる。この場合、グループ毎に1つのオブジェクト
管理システムを起動し、そのグループで最適と思われる
本発明に係わるオブジェクトの選択方法を使用すること
が望ましい。
【0011】このように、同一ドメイン内で複数のオブ
ジェクト管理システムが起動される場合も考えられる
が、説明を簡略化するために、本例では、一つのオブジ
ェクト管理システムを利用するシステムについて説明を
していく。また、オブジェクト管理システム6は、クラ
イアントアプリケーション1aあるいはサーバアプリケ
ーション2a,3aが動作するコンピュータ(クライア
ント1、サーバ2,3)上での動作も可能であるが、本
図1の例では、管理サーバ4として専用のコンピュータ
を設け、この管理サーバ4上で一つのオブジェクト管理
システム6が起動されることを示している。
【0012】サーバアプリケーション2a,3aを起動
すると、Rep1インタフェースのオブジェクト(図中、
「Obj1」,「Obj2」と記載)2b,3bが、そ
れぞれサーバ2、サーバ3上に生成される。尚、サーバ
アプリケーション2a,3aがそれぞれ複数のオブジェ
クトを生成することが想定されるが、ここでは説明の簡
略化のため、単一オブジェクトを生成するものとする。
【0013】サーバアプリケーション2a,3aのそれ
ぞれが、起動後にRep1インタフェースのオブジェクト
2b,3bを生成すると、オブジェクト管理システム6
にオブジェクト情報が登録される。そして、クライアン
ト1上のクライアントアプリケーション1aが、Rep1
インタフェースのオブジェクトの呼び出し要求を行った
場合には、オブジェクト管理システム6は、登録されて
いるオブジェクト2b,3bの中から、最適な処理を行
うオブジェクトをターゲットオブジェクトとして選択
し、クライアントアプリケーション1aにターゲットオ
ブジェクトの情報を与える。
【0014】尚、このように、サーバアプリケーション
2a,3aのそれぞれが、オブジェクト管理システム6
にオブジェクトの情報を登録するので、サーバアプリケ
ーション2a,3aの起動前にオブジェクト管理システ
ム6を起動しておく必要がある。 以下、図2〜図7を
用いて、クライアント1、サーバ2,3、管理サーバ
4、オブジェクト管理システム6の動作を詳細に説明す
る。
【0015】図2は、図1におけるサーバの処理動作例
を示すフローチャートである。サーバ2,3上で、サー
バアプリケーション2a,3aが実行されると、オブジ
ェクト管理システム6をネットワーク(LAN7)上か
ら探し出し(「初期フェーズ」)(ステップ101)、オ
ブジェクト作成を契機にオブジェクト管理システム6に
オブジェクトの登録を依頼する(「登録フェーズ」)(ス
テップ102)。その後、処理要求の待ち状態となり、
クライアント1から処理の実行要求を受けつける(「実
行フェーズ」)(ステップ103)。
【0016】図3は、図1におけるクライアントの処理
動作例を示すフローチャートである。クライアント1で
は、クライアントアプリケーション1aの起動後、オブ
ジェクト管理システム6を探索し(「初期フェーズ」)
(ステップ201)、オブジェクトの呼び出し(「オブ
ジェクト呼び出しフェーズ」)を行うと(ステップ20
2)、オブジェクト管理システム6に対してターゲット
オブジェクトの情報の取得を要求し、オブジェクト管理
システム6からオブジェクトリファレンス(オブジェク
ト識別情報)を取得し、このオブジェクトリファレンス
を用いて、サーバ2,3へ処理の依頼を行う(「実行フ
ェーズ」)(ステップ203)。尚、ここでは、事前に
登録されているオブジェクトでなければクライアント1
は呼び出しをすることができない。
【0017】図4は、図1におけるオブジェクト管理シ
ステムの処理動作例を示すフローチャートである。オブ
ジェクト管理システム6は、サーバ2,3からのオブジ
ェクトの登録要求の受信(「登録フェーズ」)後(ステ
ップ301)、クライアント1からのオブジェクトの呼
び出し要求を受ける(ステップ302)。このオブジェ
クト呼び出し要求を受けると、オブジェクト管理システ
ム6は、最適な処理を行うオブジェクト(ターゲットオ
ブジェクト)を選択する(「ターゲット選択フェーズ」)
(ステップ303〜308/後で詳細を説明する)。そ
して、サーバアプリケーション2a,3aから終了の通
知を受けると、登録されているオブジェクト情報を削除
する(「終了フェーズ」)(ステップ309)。
【0018】図5は、図1における分散オブジェクトシ
ステムでの処理の流れの例を示す説明図であり、図6
は、図1におけるオブジェクト管理情報部に登録された
オブジェクト管理情報例を示す説明図、図7は、図1に
おけるターゲット選択部で用いるターゲット選択基準情
報例を示す説明図である。
【0019】図6に例示するオブジェクト管理情報6e
を構成する項目は、ホスト名6f、リポジトリID6
g、オブジェクト名6h、オブジェクトリファレンス6
i、リファレンス数6j、マシンの性能6k、ネットワ
ークの速さ6l、ホストの利用状況6mからなる。
【0020】ホスト名6aには「Server1」や
「Server2」などのサーバマシンを識別するため
の情報が、リポジトリID6gには同じオブジェクトに
共通する識別情報が、オブジェクト名6hには各オブジ
ェクト固有の識別情報が、オブジェクトリファレンス6
iにはクライアントからのオブジェクト呼び出し用に決
められたオブジェクトリファレンスが、リファレンス数
6jには呼び出し元のクライアント数が登録され、ま
た、マシンの性能6kにはサーバマシンに設けられたメ
モリの容量やサーバマシンのCPUの動作クロック数
が、ネットワークの速さ6lにはサーバとクライアント
間のネットワークの転送速度が、そして、ホストの利用
状況6mにはサーバマシンが有するメモリとCPUのそ
れぞれの使用率が登録される。
【0021】この図6の例では、同じオブジェクトを有
する二つのサーバが登録されている。すなわち、「Se
rver1」と「Server2」をホスト名とする二
つのサーバマシン上で、リボジトリID6gが「ID
L:Rep1:1.0」の同じオブジェクトが、それぞ
れ異なるオブジェクト名(「o1」,「o2」)で管理
されている。
【0022】特に、マシンの性能6kとネットワークの
速さ6lおよびホストの利用状況6mは本例に特有のも
のであり、これらの登録情報により、「Server
1」と「Server2」の二つのサーバマシンの性能
が管理されている。すなわち、「Server1」は、
「Server2」に比べて、メモリ容量は半分で、C
PU速度(動作クロック)は2倍、ネットワーク速度が
半分であるとの情報が登録され、また、メモリ使用率が
2倍、CPU使用率が1/3倍との状況が登録されてい
る。
【0023】図7に示すターゲット選択基準情報6nを
構成する項目は、優先度6o、マシン情報の更新タイミ
ング6v、マシン情報以外の更新タイミング6wからな
り、マシン情報の更新タイミング6vにおいて、24時
間毎に負荷情報を更新するよう指定され、マシン情報以
外の更新タイミング6wにおいて、オブジェクト呼び出
し毎に他の情報(マシンの負荷情報以外)を更新するよ
う指定されている。
【0024】さらに、優先度6oは、リファレンス数6
p、メモリ6q、クロック6r、ネットワークの速さ6
s、メモリ占有率6t、CPU使用率6uの各項目から
なり、この優先度6oにおける各項目(リファレンス数
6p、メモリ6q、クロック6r、ネットワークの速さ
6s、メモリ占有率6t、CPU使用率6u)に対して
は、サーバマシンの負荷となるそれぞれの割合(R1〜
R6%)が予め付与されている。
【0025】以下、図5〜図7および図2〜図4を用い
て、図1における分散オブジェクトシステムでの動作に
ついて説明する。前述したように、サーバ2,3でサー
バアプリケーション2a,3aが起動されると、ORB
5の機能により、ネットワーク(LAN7)上のオブジ
ェクト管理システム6が探索される(図2のステップ1
01)。続いて、サーバアプリケーション2a,3aで
オブジェクト2b,3bが生成されると、オブジェクト
管理システム6にオブジェクトの登録要求が行われる
(図2のステップ102)。
【0026】この要求に対し、オブジェクト管理部6a
は、オブジェクト管理情報部6dにオブジェクト2b,
3bの情報を追加する。オブジェクトの登録要求が完了
すると、オブジェクト管理システム6内のオブジェクト
管理情報部6dには、図6で示す情報のうち、ホスト
名、オブジェクト名、リポジトリID(IDentifier、識
別子)、および、クライアント1がオブジェクト呼び出
し要求に用いるオブジェクトリファレンスが設定される
(図4のステップ301)。このようなオブジェクトの登
録処理は、サーバアプリケーション2a,3aがオブジ
ェクト2b,3bを生成したときのみ行われる。
【0027】このようにして、サーバ2,3上のオブジ
ェクト2b,3bがオブジェクト管理情報部6dに登録
される。また、クライアント1において、クライアント
アプリケーション1aが起動されると、ORB5の機能
により、ネットワーク(LAN7)上のオブジェクト管
理システム6が探し出される(図3のステップ201)。
【0028】クライアントアプリケーション1aがオブ
ジェクトの呼び出し要求を行うと(図3のステップ20
2)、ORB5を通じて、オブジェクト管理システム6
にターゲットオブジェクトの要求が行われ、オブジェク
ト管理部6aは、ターゲット選択部6bにターゲットオ
ブジェクト選択要求を送信する(図4のステップ30
2)。ここではクライアントアプリケーション1aが、
ホスト名やオブジェクト名を指定せずに、Rep1オブジ
ェクトの呼び出し要求を行ったものとする(図4のステ
ップ303)。
【0029】ターゲット選択部6bは、オブジェクト管
理情報部6dを参照し、クライアントアプリケーション
1aから指定されたRep1オブジェクトと同一のものを
全て探し出す(図4のステップ304)。Rep1オブジェ
クトは、オブジェクト管理情報部6dにおいて、オブジ
ェクト2bとオブジェクト3bの2つが登録されている
ので、オブジェクト2b,3bおよびサーバ2,3の負
荷を考慮して、ターゲットオブジェクトを決定する(図
4のステップ305)。
【0030】すなわち、ターゲット選択部6bは、予め
設定されている図7に示すターゲット選択基準情報に従
い、ターゲットオブジェクトの選択に必要とされる情報
を負荷情報収集部6cに要求する。図7に例示すよう
に、ターゲット選択基準情報は、各項目の優先度とし
て、負荷情報全体で占める割合(R1〜R6)および負
荷情報を更新するタイミング等が指定できる。この例
で、負荷情報全体で占める割合を0%と指定された項目
は、負荷情報の対象とはならない。尚、このターゲット
選択基準情報は、オブジェクト管理システム6が起動中
であっても更新可能であり、動的にその設定を変更する
ことができる。
【0031】図6には、ターゲットオブジェクトの選択
に使用する情報が示されており、オブジェクトのリファ
レンス数、サーバマシンの性能情報(メモリ容量、CP
Uクロック)、サーバとクライアント間のネットワーク
の速さ、および、サーバ(ホスト)の使用率(メモリ/C
PU使用率)等が収集される。ターゲット選択部6b
は、負荷情報収集部6cに、図6に示す負荷情報の取得
を依頼する。
【0032】負荷情報収集部6cは、負荷情報の収集
時、図7に示したターゲット選択基準情報を参照し、最
新の情報をサーバ2,3から取得するべきかを確認し、
必要な情報のみを収集する。そして、取得したサーバ
2,3の負荷情報でオブジェクト管理情報部6dの内容
を更新する(図4のステップ306)。ターゲット選択部
6bは、オブジェクト管理情報部6dの内容、および、
図7のターゲット選択基準情報に基づき、最適な、すな
わち、負荷の少ないターゲットオブジェクトを選択す
る。
【0033】このようなターゲットオブジェクトの選択
における負荷情報を総合的に評価するために、各項目で
最も負荷のあるもの、あるいは最も性能が悪いものを基
準値とし、この基準に対して、どれだけ負荷がないかを
数値化し、この値に全体評価における任意の割合を掛け
合わせることで、各オブジェクトの負荷状況を判断する
例を、以下に挙げる。
【0034】図7で示したオブジェクト管理情報の例で
は、説明上、各オブジェクトの負荷情報は基準値に対す
る倍率で値を表している。この場合を考えてみると、サ
ーバ2のオブジェクト2bに対する負荷値L1は、 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)。
【0036】そして、ターゲット選択部6bは、オブジ
ェクト管理部6aにサーバ3上のオブジェクト3bのオ
ブジェクトリファレンスを渡し、オブジェクト管理部6
aは、クライアントアプリケーション1aに、ターゲッ
ト選択部6bから渡されたオブジェクトリファレンスを
送信する(図4のステップ308)。以上が、ターゲット
選択フェーズである。
【0037】クライアントアプリケーション1aは、受
信したオブジェクトリファレンスを利用して、オブジェ
クト3bにより処理の実行を行うと、サーバアプリケー
ション3aはクライアントアプリケーション1aの要求
に応じる(図3のステップ203、図2のステップ10
3)。このステップ203とステップ103を繰り返
し、クライアントアプリケーション1aはオブジェクト
3bにサービスの要求を行う。
【0038】そして、オブジェクト管理システム6にサ
ーバアプリケーション3aの終了が通知されると、オブ
ジェクト管理部6aは、オブジェクト管理情報6dから
オブジェクト3bの情報を削除する(図4のステップ3
09)。
【0039】次に、本発明の第2の実施例として、イン
ターネットを介してクライアント1がイントラネット内
のオブジェクトにアクセスする場合を例に、特に、ファ
イアウォール上で動作するプロキシ(代理サーバ)によ
り、クライアント1からはプロキシのみを意識するよう
にして、外部のクライアント1からイントラネット内の
オブジェクトに直接アクセスさせない例を説明する。
【0040】図8は、本発明の分散オブジェクト管理シ
ステムの本発明に係る構成とそれを用いた分散オブジェ
クトシステムの第2の実施例を示すブロック図である。
本例では、ファイアウォール41上で本発明の分散オブ
ジェクト管理システムとしての管理プロキシ60が起動
される。図示するように、クライアント10と外部接続
コンピュータ40は、インターネット70で接続されて
おり、外部接続コンピュータ40とサーバ2およびサー
バ3はLAN7上でORB5により接続されている。
【0041】クライアント10上では、クライアントア
プリケーション(図中、「AP−C2」と記載)11が
動作する。また、サーバアプリケーション2aはサーバ
2上で、サーバアプリケーション3aはサーバ3上で動
作し、それぞれクライアントアプリケーション11から
の要求に応じる同一のサーバアプリケーションである。
このサーバアプリケーション2a,3aを起動すると、
Rep1オブジェクト2b,3bがそれぞれサーバ2、サ
ーバ3上に生成される。
【0042】外部接続コンピュータ40はファイアウォ
ール41と管理プロキシ60から構成されている。管理
プロキシ60は、ファイアウォール41を通してクライ
アントアプリケーション11からの接続を受けるが、オ
ブジェクトの登録と選択/管理動作は、図1における実
施例と同じである。また、管理プロキシ60は、図1の
オブジェクト管理システム6が有するオブジェクト管理
部6a、ターゲット選択部6b、負荷情報収集部6c、
オブジェクト管理情報部6dに加え、中継通信部61お
よび中継情報管理部62を備えている。
【0043】管理プロキシ60が起動されている状態
で、各サーバ2,3のサーバアプリケーション2a,3
aを起動すると、サーバアプリケーション2a,3aの
オブジェクト情報は、管理プロキシ60に登録される。
クライアントアプリケーション11は、インターネット
70を介してサーバアプリケーション2a,3aによる
処理を実行する場合、ファイアウォール41を通して、
管理プロキシ60からサーバアプリケーション2a,3
aのオブジェクト情報を取得し、取得した情報を元に処
理の実行をする。
【0044】以下、このようなファイアウォール41上
で動作する管理プロキシ60の動作説明を行なう。図9
は、図8における管理プロキシの本発明に係わる動作例
を示すフローチャートである。本例は、図8のファイア
ウォール41上で動作する管理プロキシ60の処理概要
を示し、サーバ2,3およびクライアント10側の処理
は、前述の図2,3のものと同様であり、ここでの説明
は省略する。
【0045】図9において、管理プロキシ60は、サー
バアプリケーション2a,3aからオブジェクトの登録
要求を受けつけると、オブジェクト管理部6aにより、
オブジェクト管理情報部6dにオブジェクトの登録を行
う(「登録フェーズ」)(ステップ401)。その後、ク
ライアントアプリケーション11がオブジェクトの呼び
出し要求を行うと、ORB5を通じ、管理プロキシ60
に、ターゲットオブジェクトの選択が依頼される(ター
ゲット選択フェーズ)(ステップ402〜409)。
【0046】ターゲットオブジェクトの決定後、クライ
アントアプリケーション11が処理の要求を行うと、管
理プロキシ60は、クライアントアプリケーション11
とサーバアプリケーション2a,3aの通信の中継をす
る。そして、クライアントアプリケーション11から通
信の終了通知を受けると、クライアント10とサーバ
2,3間の通信を終了する(中継通信フェーズ)(ステッ
プ410〜412)。さらに、サーバアプリケーション
2a,3aが不活性になるかオブジェクト2b,3bが
消去した場合、オブジェクト管理情報部6dに登録され
ているオブジェクト情報を削除する(終了フェーズ)(ス
テップ413)。
【0047】図10は、図8における分散オブジェクト
システムでの処理の流れの例を示す説明図であり、図1
1は、図8における中継情報管理部の登録例を示す説明
図である。図11に示する中継情報62aにおいては、
各オブジェクト(「Obj1」、「Obj2」)62
b,62c毎に、クライアントのアドレス62d、リポ
ジトリID62e、オブジェクト名62f、オブジェク
トリファレンス62g、識別情報62hの各項目が設け
られている。この識別情報62hには、クライアントの
アドレス62dとオブジェクトリファレンス62gおよ
びリポジトリID62eとオブジェクト名62fで対応
付けられたクライアントアプリケーションから要求され
た処理を実行するサーバを識別するための情報が設定さ
れる。
【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)。
【0049】クライアントアプリケーション11は、O
RB5の機能により、管理プロキシ60の存在位置を取
得した後(図3のステップ201)、Rep1オブジェクト
の呼び出しを行う(図3のステップ202)。以下、ター
ゲット選択フェーズについて説明を行う。
【0050】管理プロキシ60が、クライアントアプリ
ケーション11のオブジェクト呼び出し要求をORB5
を通して受け取ると、ターゲット選択部6bは、負荷情
報収集部6cが取得した情報を基に最適なターゲットオ
ブジェクトの選択を行う(図9のステップ402〜40
7)。このターゲットオブジェクトの選択方法は、図5
での説明と同様でありここでの説明は省略する。尚、こ
こでは、図5での場合と同様に、オブジェクト3bが最
適なオブジェクト(ターゲットオブジェクト)として選
択されたものとする。
【0051】このようにして、ターゲットオブジェクト
が決定すると、ターゲット選択部6bは、ターゲットオ
ブジェクトであるオブジェクト3bのオブジェクトリフ
ァレンス内のアドレスを、管理プロキシ60のアドレス
に変更した後、オブジェクト管理部6aに渡し、変更前
のオブジェクトリファレンスとリポジトリIDおよびオ
ブジェクト名をクライアント10のアドレスと共に、図
11で示す中継情報として中継情報管理部62に格納す
る(図9のステップ408)。
【0052】また、オブジェクト管理部6aは、変更後
のオブジェクトリファレンスをクライアントアプリケー
ション11に送信する。(図9のステップ409)。クラ
イアントアプリケーション11は、このようにしてオブ
ジェクト管理部6aから受信したオブジェクトリファレ
ンスを使用してオブジェクト呼び出しの要求を送信し、
例えばRep1オブジェクトの呼び出しを行う。
【0053】クライアントアプリケーション11からの
オブジェクト呼び出しの要求を受けた管理プロキシ60
は、通信中継部6cにより、リポジトリIDとオブジェ
クト名をキーに中継情報管理部62の登録内容を参照
し、クライアントアプリケーション11の本来の接続先
がサーバ3であることを判別し、さらに、通信中継部6
cは、中継情報管理部62からオブジェクトリファレン
スを取得し、このオブジェクトリファレンスを用いてサ
ーバ3のオブジェクト3bの呼び出しを行う(図9のス
テップ410)。
【0054】そして、クライアントアプリケーション1
1が、オブジェクト管理部6aから受信したオブジェク
トリファレンスを使用して、処理の実行を依頼すると
(図3のステップ203)と、管理プロキシ60は、通
信中継部6cにより、ORB5を通し、クライアントア
プリケーション11からの要求を受け取り、中継情報管
理部62内からサーバ3のアドレスと識別情報を取得
し、オブジェクト3bにサービスの要求を行う。
【0055】そして、通信中継部6cは、オブジェクト
3bからの返答を受けると、中継情報管理部62内の識
別情報とクライアント10のアドレスにより、クライア
ント10へ、オブジェクト3bからの受信情報を送信す
ることにより通信の中継を行なう(図9のステップ41
1)。以降、図3のステップ203と図2のステップ1
03の処理を繰り返し、クライアントアプリケーション
11とオブジェクト3bは、メッセージの送受信を行
う。
【0056】この場合、クライアントアプリケーション
11では、あたかもターゲットオブジェクトであるオブ
ジェクト3bからサービスを受けているように見える
が、実際には、受信したオブジェクトリファレンスを用
いて、管理プロキシ60に接続し、管理プロキシ60で
動的にオブジェクトリファレンスを変更し、ターゲット
オブジェクト(オブジェクト3b)にクライアント10
からの要求を送信している。
【0057】クライアントアプリケーション11からオ
ブジェクト3bへ接続終了要求が送信されると、中継通
信部6cは、中継情報管理部62からクライアントアプ
リケーション11とオブジェクト3bの中継通信情報を
削除する(図9のステップ412)。そして、サーバアプ
リケーション3aでオブジェクト3bが消去されたり、
サーバアプリケーション3aが不活性になると、オブジ
ェクト管理部6aはオブジェクト管理情報6dからオブ
ジェクト3bの情報を削除する(図9のステップ41
3)。
【0058】以上、図1〜図11を用いて説明したよう
に、本実施例の分散オブジェクト管理システムとそのオ
ブジェクト選択方法では、分散オブジェクト環境でのク
ライアントからのオブジェクト呼び出し要求において、
要求の対象オブジェクトが複数存在する場合、オブジェ
クトやオブジェクトを実行しているサーバ(ホストマシ
ン)の負荷を考慮した上で、ターゲットオブジェクトを
選択する。
【0059】すなわち、オブジェクト呼び出し時に、呼
び出し対象の各オブジェクトのリファレンス数、オブジ
ェクトが存在するサーバ(ホスト)のマシン性能、サー
バマシンのCPU利用率およびメモリ利用率、クライア
ントとオブジェクトが存在するサーバ間のネットワーク
の速さなどを考慮して、最適なオブジェクトを選択す
る。これにより、分散オブジェクト環境で、クライアン
トアプリケーションは、アプリケーションの変更を行う
ことなく、また、ターゲットオブジェクトの負荷を意識
せずに、最適なターゲットオブジェクトを使用すること
ができ、システム全体の処理を向上させることができ
る。
【0060】また、外部ネットワークのクライアントか
らの接続に対しては、クライアントに対してターゲット
オブジェクトを完全に隠蔽した形で、最適な処理を行う
ターゲットオブジェクトを使用することができる。
【0061】尚、本発明は、図1〜図11を用いて説明
した実施例に限定されるものではなく、その要旨を逸脱
しない範囲において種々変更可能である。また、本発明
の目的は、クライアントアプリケーションからの要求に
最適な処理を行うターゲットオブジェクトを選択するこ
とにあるため、複数のサーバアプリケーションが、同一
データベースを更新する場合などについての説明は行わ
ない。
【0062】
【発明の効果】本発明によれば、同一アプリケーション
が複数のサーバ上で動作する場合、オブジェクト呼び出
し時、プロセスが使用されているか否かの情報だけでな
く、呼び出し対象のオブジェクト(ターゲットオブジェ
クト)が存在する各サーバの負荷についても考慮された
ターゲットオブジェクトの選択を行なうことができ、分
散オブジェクトシステム全体の性能の向上を図ることが
可能である。
【図面の簡単な説明】
【図1】本発明の分散オブジェクト管理システムの本発
明に係る構成とそれを用いた分散オブジェクトシステム
の第1の実施例を示すブロック図である。
【図2】図1におけるサーバの処理動作例を示すフロー
チャートである。
【図3】図1におけるクライアントの処理動作例を示す
フローチャートである。
【図4】図1におけるオブジェクト管理システムの処理
動作例を示すフローチャートである。
【図5】図1における分散オブジェクトシステムでの処
理の流れの例を示す説明図である。
【図6】図1におけるオブジェクト管理情報部に登録さ
れたオブジェクト管理情報例を示す説明図である。
【図7】図1におけるターゲット選択部で用いるターゲ
ット選択基準情報例を示す説明図である。
【図8】本発明の分散オブジェクト管理システムの本発
明に係る構成とそれを用いた分散オブジェクトシステム
の第2の実施例を示すブロック図である。
【図9】図8における管理プロキシの本発明に係わる動
作例を示すフローチャートである。
【図10】図8における分散オブジェクトシステムでの
処理の流れの例を示す説明図である。
【図11】図8における中継情報管理部の登録例を示す
説明図である。
【符号の説明】
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:インターネット。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 クライアントとサーバとをオブジェクト
    ・リクエスト・ブローカ(ORB)で接続してなる分散
    オブジェクトシステムに設けられ、複数の上記サーバが
    生成した各オブジェクトから上記クライアントが呼び出
    し要求したターゲットオブジェクトを選択する分散オブ
    ジェクト管理システムであって、上記複数のサーバが生
    成した同一のオブジェクト(共通オブジェクト)を、そ
    れぞれを生成した各サーバに対応付けて記憶する記憶手
    段と、上記共通オブジェクトを生成した各サーバのCP
    U性能を含む各共通オブジェクトの実行に影響を与える
    負荷の情報を各共通オブジェクト毎に収集して記憶する
    収集手段と、クライアントから呼び出し要求されたオブ
    ジェクトが共通オブジェクトであるか否かを上記記憶手
    段を参照して判別する判別手段と、共通オブジェクトが
    要求されれば上記収集手段で収集した負荷の情報を参照
    して負荷が最小となるオブジェクトを上記ターゲットオ
    ブジェクトとして選択する選択手段とを有することを特
    徴とする分散オブジェクト管理システム。
  2. 【請求項2】 請求項1に記載の分散オブジェクト管理
    システムにおいて、上記収集手段は、各共通オブジェク
    ト毎に収集する上記負荷の情報として、上記各サーバの
    CPU性能と共に、各共通オブジェクトのリファレンス
    数、サーバのメモリ使用率およびCPU使用率、クライ
    アントとサーバ間のネットワークの速さを収集すること
    を特徴とする分散オブジェクト管理システム。
  3. 【請求項3】 請求項1、もしくは、請求項2のいずれ
    かに記載の分散オブジェクト管理システムにおいて、上
    記各サーバのCPU性能を含む共通オブジェクトの実行
    に影響を与える各負荷のそれぞれに異なる重み付けを付
    与して数値化し、上記選択手段は、各負荷の数値の合計
    が最小となるオブジェクトを上記ターゲットオブジェク
    トとして選択することを特徴とする分散オブジェクト管
    理システム。
  4. 【請求項4】 請求項1から請求項3のいずれかに記載
    の分散オブジェクト管理システムにおいて、上記選択手
    段で選択したターゲットオブジェクトの呼び出しに用い
    る識別情報を自管理システムの識別情報に変換して外部
    ネットワーク上のクライアントに通知する変換手段と、
    変換後の識別情報を通知したクライアントと変換前の識
    別情報とを対応付けて記憶する識別記憶手段と、上記外
    部ネットワーク上のクライアントからの上記変換後の識
    別情報を用いたオブジェクトの呼び出し要求を受け付
    け、上記識別記憶手段の記憶内容に基づき、上記外部ネ
    ットワーク上のクライアントと上記ターゲットオブジェ
    クトとの通信を中継する中継手段とを有することを特徴
    とする分散オブジェクト管理システム。
  5. 【請求項5】 インターネット上のクライアントとの接
    続制御を行なうファイアウォール上に設けられることを
    特徴とする請求項4に記載の分散オブジェクト管理シス
    テム。
  6. 【請求項6】 クライアントとサーバとをオブジェクト
    ・リクエスト・ブローカ(ORB)で接続してなる分散
    オブジェクトシステムに設けられ、複数の上記サーバが
    生成した各オブジェクトから上記クライアントが呼び出
    し要求したターゲットオブジェクトを選択する分散オブ
    ジェクト管理システムのオブジェクト選択方法であっ
    て、上記複数のサーバが生成した同一のオブジェクト
    (共通オブジェクト)を、それぞれを生成した各サーバ
    に対応付けて第1の記憶装置に記憶するステップと、上
    記共通オブジェクトを生成した各サーバのCPU性能を
    含む各共通オブジェクトの実行に影響を与える負荷の情
    報を各共通オブジェクト毎に収集して第2の記憶装置に
    記憶するステップと、クライアントから呼び出し要求さ
    れたオブジェクトが共通オブジェクトであるか否かを上
    記第1の記憶装置の記憶内容を参照して判別するステッ
    プと、共通オブジェクトが要求されれば上記第2の記憶
    装置に記憶された負荷の情報を参照して負荷が最小とな
    るオブジェクトを上記ターゲットオブジェクトとして選
    択するステップとを有することを特徴とする分散オブジ
    ェクト管理システムのオブジェクト選択方法。
  7. 【請求項7】 請求項6に記載の分散オブジェクト管理
    システムのオブジェクト選択方法において、選択した上
    記ターゲットオブジェクトの呼び出しに用いる識別情報
    を自管理システムの識別情報に変換して外部ネットワー
    ク上のクライアントに通知するステップと、変換後の識
    別情報を通知したクライアントと変換前の識別情報とを
    対応付けて記憶装置に記憶するステップと、上記外部ネ
    ットワーク上のクライアントからの上記変換後の識別情
    報を用いたオブジェクトの呼び出し要求を受け付け、上
    記記憶装置の記憶内容に基づき、上記外部ネットワーク
    上のクライアントと上記ターゲットオブジェクトとの通
    信を中継するステップとを有することを特徴とする分散
    オブジェクト管理システムのオブジェクト選択方法。
  8. 【請求項8】 コンピュータで読み取られ処理されるデ
    ータおよびプログラムを記録する記録媒体であって、請
    求項6もしくは請求項7のいずれかに記載の分散オブジ
    ェクト管理システムのオブジェクト選択方法における各
    ステップをコンピュータに実行させるためのプログラム
    を記録したことを特徴とする記録媒体。
JP10217327A 1998-07-31 1998-07-31 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体 Pending JP2000047890A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10217327A JP2000047890A (ja) 1998-07-31 1998-07-31 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10217327A JP2000047890A (ja) 1998-07-31 1998-07-31 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体

Publications (1)

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

Family

ID=16702449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10217327A Pending JP2000047890A (ja) 1998-07-31 1998-07-31 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000047890A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010034972A (ko) * 2000-05-10 2001-05-07 이병철 동적 디엔에스 바인딩 시스템
JP2001312487A (ja) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd アプリケーションプログラムの監視方法、及びアプリケーション・サービスを提供する方法
JP2003173323A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 分散オブジェクトリファレンス管理方法及びその実施システム並びにその処理プログラム
WO2005062176A1 (ja) * 2003-12-18 2005-07-07 Club It Corporation サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム
JP2005196427A (ja) * 2004-01-07 2005-07-21 National Institute Of Advanced Industrial & Technology コンポーネント化制御システム
WO2005091137A1 (ja) * 2004-03-19 2005-09-29 International Business Machines Corporation コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
JP2005267547A (ja) * 2004-03-22 2005-09-29 Nec Corp 分散オブジェクトシステム及びサーバ
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 (ja) * 2000-04-28 2001-11-09 Nec Nexsolutions Ltd アプリケーションプログラムの監視方法、及びアプリケーション・サービスを提供する方法
KR20010034972A (ko) * 2000-05-10 2001-05-07 이병철 동적 디엔에스 바인딩 시스템
JP2003173323A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 分散オブジェクトリファレンス管理方法及びその実施システム並びにその処理プログラム
WO2005062176A1 (ja) * 2003-12-18 2005-07-07 Club It Corporation サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム
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 (ja) * 2004-01-07 2005-07-21 National Institute Of Advanced Industrial & Technology コンポーネント化制御システム
WO2005091137A1 (ja) * 2004-03-19 2005-09-29 International Business Machines Corporation コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
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 (ja) * 2004-03-22 2005-09-29 Nec Corp 分散オブジェクトシステム及びサーバ
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
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
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
JPH07117933B2 (ja) 自動構成制御装置および方法
CN100359508C (zh) 用于处理集群计算机系统的合并协议的方法和装置
JP2000504863A (ja) ロードレベルに基づいてクライアントノードをサーバーノードに接続する方法および装置
JP2002512411A (ja) アクセス制御方法および装置
US20070165615A1 (en) Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services
JP2002543491A (ja) 分散コンピューティング環境のための通信アーキテクチャ
JP3554134B2 (ja) ネットワーク接続経路探索方法、計算機、ネットワークシステム及び記憶媒体。
JP4132738B2 (ja) アプリケーション・サーバのアベイラビリティを判別するコンピュータ化された方法
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JPH07160647A (ja) 分散処理システム
JP4005739B2 (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
JP2005196725A (ja) アクセスヒストリに基づくファイルマイグレーション方式
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
JPH05134959A (ja) 遠隔サービス実行制御システム
JPH06266643A (ja) サーバプログラム管理方法
JP2002049602A (ja) 検索システム
JP2001067325A (ja) 分散オブジェクト管理方法およびシステム
JP2002334057A (ja) 負荷分散時のセッション継続方法
CN115314557B (zh) 一种全球跨区服务调用方法及系统
JP2003167775A (ja) 負荷分散システムおよび負荷分散装置