JP2001067325A - 分散オブジェクト管理方法およびシステム - Google Patents

分散オブジェクト管理方法およびシステム

Info

Publication number
JP2001067325A
JP2001067325A JP28018699A JP28018699A JP2001067325A JP 2001067325 A JP2001067325 A JP 2001067325A JP 28018699 A JP28018699 A JP 28018699A JP 28018699 A JP28018699 A JP 28018699A JP 2001067325 A JP2001067325 A JP 2001067325A
Authority
JP
Japan
Prior art keywords
computer
server
interface
objects
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
JP28018699A
Other languages
English (en)
Inventor
Hideki Fujioka
秀樹 藤岡
Yoshimitsu Aoyanagi
慶光 青柳
Satoyuki Nakano
智行 中野
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 JP28018699A priority Critical patent/JP2001067325A/ja
Publication of JP2001067325A publication Critical patent/JP2001067325A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 稼動中のオブジェクトの相互接続関係を既存
のオブジェクト構造に変更を加えることなく認識した上
で、現在稼動中の任意のオブジェクトを任意のコンピュ
ータ上に移動し、最適化すること。 【解決手段】 サービスを提供するオブジェクトのイン
タフェース定義から、同じインタフェースを提供する中
継オブジェクトを作成して稼動させ、この中継オブジェ
クトによりオブジェクト間のアクセス状況を把握し、ア
クセス負荷がかかっているオブジェクトを移動/最適化
する際には、中継オブジェクトの接続先を変更すること
で、稼動中のオブジェクトの移動/最適化を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、インターネットや
イントラネットなどの様々なネットワーク上に分散して
存在している複数のコンピュータが提供する複数のサー
ビスが、分散オブジェクト間通信を利用して通信するこ
とで処理を進める分散オブジェクトを管理するための技
術に関するものである。
【0002】
【従来の技術】分散オブジェクト環境下では、オブジェ
クトは別のオブジェクトが公開しているインタフェース
定義を知ることで、そのオブジェクトの機能を利用する
ことができる。各オブジェクトは相互に機能やサービス
を提供しあうことで1つのアプリケーションを構築して
いる。
【0003】分散オブジェクト環境においてオブジェク
ト間の呼び出しが発生する場合、従来の分散オブジェク
トアーキテクチャでは、呼び出される側のオブジェクト
は呼び出す側のオブジェクトの場所や機能などのオブジ
ェクトの構成情報を認識することができない。個々のオ
ブジェクトの内部構造は公開されておらず、参照できる
形で公開されるオブジェクトの情報としては、インタフ
ェース定義だけである。
【0004】複数のオブジェクトから構成されるアプリ
ケーションを管理するためには、各オブジェクトの親子
関係などの全体構造を把握するプロセスと、個々のオブ
ジェクトを外部から制御する仕組みを導入するプロセス
の2つが必要である。
【0005】しかし、従来の技術では、2つのオブジェ
クト間において、公開されているのはインタフェース定
義だけであるため、呼び出される側のオブジェクトから
呼び出す側のオブジェクトの構成情報を認識することが
できない。このため、あるアプリケーションが何処にあ
る、またはどのようなオブジェクトを利用しているのか
把握できない。すなわち、システム管理者は、アプリケ
ーションを構成しているオブジェクト群の全体構成を把
握することができない。
【0006】一方、分散オブジェクト環境においては、
特定のクライアントコンピュータでしか使用していない
オブジェクトあるいはオブジェクト群については、その
特定のクライアントコンピュータに移動させることによ
って、通信トラフィックの削減やスループットの改善な
どを図る必要がある。
【0007】また、システム全体に存在するオブジェク
トの使用状態を把握し、各オブジェクトあるいはオブジ
ェクト群をできるだけ使用頻度の高いクライアントコン
ピュータ内に配置するという最適化を行うことによっ
て、通信トラフィックの削減やスループットの改善など
を図る必要がある。
【0008】稼動中の任意のオブジェクトを移動した
り、配置位置を最適化するためには、オブジェクト相互
間の状態を認識した上で移動先あるいは最適配置位置の
コンピュータに複製する必要がある。
【0009】そこで、分散システムを構成する複数のア
プリケーションが、分散オブジェクト技術を利用してオ
ブジェクト間の通信を行なっている場合に、分散システ
ム全体の性能向上を行なうための技術として、オブジェ
クトの複製を最初から用意しておき、呼出し先のオブジ
ェクトを決める際に、CPU負荷の低いサーバコンピュ
ータ上で稼動しているオブジェクトや、ネットワークト
ラフィックが少なくなるようなオブジェクトを選択する
ことで、負荷分散を行なうことでシステム全体の性能向
上を行なう方式が考えられている。
【0010】しかし、前記の方式では、利用される・さ
れないに関わらず、同じサーバオブジェクトを複数のコ
ンピュータ上に稼動させておかなければならず、コンピ
ュータの資源を無駄に使用することになる。
【0011】また、メモリ中にロードされたオブジェク
トを読出して他のコンピュータに複製を作成するだけで
は、オブジェクトの移動は実現できない。これは、オブ
ジェクトを移動するためには、接続しているオブジェク
トの接続先の再接続先までオブジェクトの接続関係を認
識しなくてはならないが、上記のように、呼び出される
側のオブジェクトから呼び出す側のオブジェクトを認識
することができないからである。
【0012】また、ネットワークトラフィックに関して
も、呼出すオブジェクトと呼出されるオブジェクト間の
通信がもっとも少なくなるように、呼出されるオブジェ
クトを選択することはできるが、呼出されたオブジェク
トがさらに別のオブジェクトを呼出すことによって生じ
るトラフィックについては考慮していないため、分散シ
ステム全体でトラフィックが最も少なくなるオブジェク
トを選択できるとは限らない。
【0013】また、プログラム実行中にオブジェクトを
移動させる技術として、モバイルエージェント技術があ
る。モバイルエージェントは、エージェントプログラム
が自分が処理したい内容にしたがって、プログラム実行
中に他のコンピュータ上にネットワークを使って移動
し、移動先のコンピュータ上で処理を進めるものであ
る。ただし、移動するエージェントは、自身から他のオ
ブジェクトを呼出すことはあるが、他のオブジェクトか
ら呼出されることはないため、呼出す側のオブジェクト
は、エージェントが移動した場合に、移動した先のエー
ジェントを呼出すように自動的に接続先を切りかえるよ
うな仕組みを用意しているものはない。
【0014】また、分散オブジェクト呼出しのベースと
なるORB(オブジェクトリクエストブローカ)製品で
は、オブジェクト間の接続が切れた場合に、ORBの機
能として再接続を行なう機能を提供しているものもある
が、あくまで自身の製品上で稼動するオブジェクトに対
してだけであり、他社製品のオブジェクトに対して再接
続する機能は提供されていない。また、分散オブジェク
ト間の通信量に基づいて、オブジェクトを移動させ分散
システムの性能を向上させる機能を提供している製品も
ない。
【0015】
【発明が解決しようとする課題】分散オブジェクト技術
を利用して通信を行なうシステムでは、ネットワークに
接続された複数のコンピュータ間でネットワークトラフ
ィックが発生する。その上、新しいサービスアプリケー
ションを導入したり、性能の良いサーバコンピュータを
新たに導入した場合などには、オブジェクトの配置の仕
方によって不要なネットワークトラフィックが発生し、
そのために分散システム全体の性能が劣化する可能性が
ある。
【0016】しかしながら、上記のように、従来におい
ては、オブジェクトの相互接続関係を呼び出される側か
ら認識する技術が確立されていないため、稼動中のオブ
ジェクトを移動または最適化する必要が生じたとして
も、実現できないという問題があった。
【0017】本発明の第1の目的は、1つ1つのオブジ
ェクトがどういうオブジェクトであるのか、個々のオブ
ジェクトがどこでどのように実行されているのか、とい
ったオブジェクトの自動認識を含め、稼動中のオブジェ
クトの相互接続関係を既存のオブジェクト構造に変更を
加えることなく認識することができる分散オブジェクト
環境におけるオブジェクトの管理方法およびシステムを
提供することにある。
【0018】本発明の第2の目的は、メモリ中にロード
されて現在稼動中の任意のオブジェクトを任意のコンピ
ュータ上に移動することができる分散オブジェクト環境
におけるオブジェクトの管理方法およびシステムを提供
することにある。
【0019】本発明の第3の目的は、オブジェクトがど
のオブジェクトと通信しているかといったオブジェクト
間通信状況を把握し、その上で稼動中の任意のオブジェ
クトをそのアクセス頻度等を考慮して、通信トラフィッ
クの増大要因となっているオブジェクトを任意のコンピ
ュータ上に移動して最適化することができる分散オブジ
ェクト環境におけるオブジェクトの管理方法およびシス
テムを提供することにある。
【0020】本発明の第4の目的は、呼出されるオブジ
ェクトが移動した場合に、呼出していたオブジェクト側
は、新たに移動先のオブジェクトに対して接続切替を必
要とするが、呼出す側のオブジェクト自身に、接続切替
が生じたことを意識させずに接続切替えを行なうことに
よって、プログラマがプログラミング時に接続切替を意
識したプログラミングを不要にすることができるオブジ
ェクトの管理方法およびシステムを提供することにあ
る。
【0021】
【課題を解決するための手段】本発明は、上記目的を達
成するために、オブジェクトが別のオブジェクトに接続
する場合に、ネーミングサービス等を利用して名前解決
を実行する時にオブジェクト間の関係を明らかにするた
めの拡張を施すことで個々のオブジェクトあるいはオブ
ジェクト群の全体構成を把握し、その把握結果に基づ
き、対象となるオブジェクトの移動や最適化を行うよう
にしたものである。
【0022】具体的には、サービスを提供するオブジェ
クトのインタフェース定義から、同じインタフェースを
提供する中継オブジェクトを作成して稼動させ、この中
継オブジェクトによりオブジェクト間のアクセス状況を
把握し、アクセス負荷がかかっているオブジェクトを移
動/最適化する際には、中継オブジェクトの接続先を変
更することで、稼動中のオブジェクトの移動/最適化を
行うようにしたものである。
【0023】
【発明の実施の形態】以下、本発明の一実施形態を図面
を用いて説明する。
【0024】図1は、本実施形態のシステム構成を示し
たものである。該システムは、CPU11A、メモリ1
1Bからなる端末装置11、サービスプログラム12A
と通信ログ情報12B、分散システム管理プログラムが
使用するログ収集プログラム12C、ローカルオブジェ
クト位置管理プログラム12D、インタフェースオブジ
ェクトプログラム12E、オブジェクトのクラス定義が
格納されているファイル名称を記述したオブジェクト格
納位置ファイル12F、オブジェクト転送プログラム1
2Gが格納されている外部記憶装置12と、プログラム
の起動の指示を行うための入力装置13と通信ポート1
4からなるサーバコンピュータ1と、同様にCPU21
A、メモリ21Bからなる端末装置21、サービスプロ
グラム22Aと通信ログ情報22B、分散システム管理
プログラムが使用するログ収集プログラム22C、ロー
カルオブジェクト位置管理プログラム22D、インタフ
ェースオブジェクトプログラム22E、オブジェクトの
クラス定義が格納されているファイル名称を記述したオ
ブジェクト格納位置ファイル22F、オブジェクト転送
プログラム22Gが格納されている外部記憶装置22
と、プログラムの起動の指示を行うための入力装置23
と通信ポート24からなるサーバコンピュータ2と、C
PU31A、メモリ31Bからなる端末装置31と、グ
ローバルオブジェクト位置管理プログラム32Aと、通
信ログ情報32B、オブジェクト移動管理プログラム3
2C、オブジェクト移動制限設定ファイル32D、ネー
ミングサービスプログラム32E、ネットワーク管理プ
ログラム32Fが格納されている外部記憶装置32と、
グローバルオブジェクト位置管理プログラム32Aの起
動の指示やオブジェクトの移動の指示を行なうための入
力装置33と、オブジェクト間の通信量の表示を行なう
表示装置34と通信ポート35からなる管理コンピュー
タ3と、CPU41A、メモリ41Bからなる端末装置
41、サービスプログラムを使用するクライアントプロ
グラム42Aが格納されている外部記憶装置42と、ク
ライアントプログラムの起動の指示を行うための入力装
置43と、クライアントプログラムのユーザインタフェ
ースを表示する表示装置44と、通信ポート45からな
るクライアントコンピュータ4と、コンピュータ間で送
受信されるデータを通信するためのネットワーク5から
構成されている。
【0025】ここで、ログ収集プログラム12C,22
Cは、後述のログ収集オブジェクトに相当する。このロ
グ収集オブジェクトは、管理インタフェースを持ったイ
ンターフェースオブジェクトプログラム12E,22E
とともに中継オブジェクトを構成するものである。
【0026】また、インタフェースオブジェクトプログ
ラム12E,22Eは、後述のインタフェースオブジェ
クトに相当する。
【0027】まず、本実施形態の機能概要について説明
する。
【0028】呼出されるサーバオブジェクトが稼動する
複数のサーバコンピュータ1,2と、分散サービス管理
プログラム、各オブジェクトのクラス定義がどのサーバ
コンピュータのどの場所に格納されているかを管理する
ネーミングサービスプログラム32E、ネットワーク内
のトラフィックを監視しているネットワーク管理プログ
ラム32Fが稼動している管理コンピュータ3がネット
ワーク5で接続されている。
【0029】サーバコンピュータ1,2上では、サービ
スプログラム(サーバプログラム)12A,22Aのイ
ンストール時に、サーバオブジェクトを構成するオブジ
ェクトの名称と、そのオブジェクトのクラス定義が格納
されているファイルの位置をネーミングサービスプログ
ラム32Eに登録する。サービスプログラムが起動する
と、サーバオブジェクトが他のオブジェクトからの呼出
しを待ち、呼出された場合は、同一コンピュータ上のサ
ーバオブジェクトや他のコンピュータ上のサーバオブジ
ェクトを呼出して処理を進める。この呼出しの際に、ロ
グ収集オブジェクト(後述)を呼びだす。呼出されたロ
グ収集オブジェクトは、呼出すオブジェクトと呼出され
るオブジェクト、2つのオブジェクト間で通信される情
報、呼出し時間などのログ情報をデータベース(後述)
に格納した後、インタフェースオブジェクト(後述)を
経由して他のオブジェクトを呼出す。オブジェクト移動
管理プログラム32Cは、サービスプログラム実行中に
全てのサーバコンピュータ1,2上で収集された通信ロ
グ情報を集め、各オブジェクト間の通信量を計算し、オ
ブジェクトをどのサーバコンピュータに配置するとシス
テム全体としてネットワークトラフィックが最も少なく
なるか(あるいは現在より少なくなるか)を計算する。
その後、この計算結果にしたがって、サーバオブジェク
トを他のサーバコンピュータに移動した場合、そのサー
バオブジェクトに対して接続していた他のオブジェクト
から呼出すために利用されているインタフェースオブジ
ェクトの管理インタフェース(後述)を用いて接続切替
命令を送り、自動的に接続先を変更させる。
【0030】また、移動させるサーバオブジェクトが同
じサーバコンピュータ上の他のオブジェクトを参照して
いる場合、参照状況をメモリ中に格納しておき、一定期
間内の参照数がシステム管理者が設定した参照頻度を超
えているオブジェクト群だけを、サーバオブジェクト移
動時に同時に移動させ、参照頻度が設定値より低いオブ
ジェクトは、移動後のサーバオブジェクトが実際に参照
しようとした時に、クラス定義がない旨のエラーが発生
し、これを契機にネーミングサービスプログラム32E
にオブジェクト名称を渡してオブジェクトのクラス定義
が格納されているサーバコンピュータ名称と格納場所を
入手し、そのサーバコンピュータから改めて転送させ
る。この時、オブジェクトのクラス定義が格納されてい
る場所が複数ある場合は、ネーミングサービスプログラ
ム32Eは、ネットワーク管理プログラム32Fの情報
を利用して、クラス定義の入手を依頼したサーバコンピ
ュータと格納場所のコンピュータ間のネットワークトラ
フィックが最も少なくなるコンピュータを選んで返却す
る。
【0031】このようにすることにより、参照されない
不要なオブジェクトのクラス定義の転送を行なわず、か
つ転送する必要があるオブジェクトのクラス定義の入手
によって発生するトラフィックも少なくし、サーバオブ
ジェクト移動に伴うネットワークトラフィックの増加を
防ぐ。
【0032】以上の方法を採用することにより、分散オ
ブジェクト技術を用いてオブジェクト間の通信を行なっ
て処理を進める分散システムにおいて、サービスプログ
ラム実行中に、ネットワークトラフィックが最も少なく
なるように、呼出す側のオブジェクトに呼出されるオブ
ジェクトが移動したことを意識させることなく再配置さ
せることが可能になり、分散システム全体の性能を向上
させることができる。
【0033】図2は、一般的な分散オブジェクト環境で
のサーバオブジェクトに対する接続の構成例である。こ
の構成例では、サーバコンピュータ(1)201とサー
バコンピュータ(2)202の2台のコンピュータ上に
分散されたサーバオブジェクト(1)203、サーバオ
ブジェクト(2)204、サーバオブジェクト(3)2
05によりサービスプログラムが構成されている。
【0034】サーバオブジェクト(1)203はサーバ
コンピュータ(1)201に存在しており、サーバコン
ピュータ(1)201に存在しているサーバオブジェク
ト(3)205とサーバコンピュータ(2)202に存
在しているサーバオブジェクト(2)204から利用さ
れている。サーバオブジェクト(3)205はサーバオ
ブジェクト(1)203と同じコンピュータ201上の
同じアドレス空間に存在しており、サーバオブジェクト
(3)205はサーバオブジェクト(1)203を直接
参照している。
【0035】サーバオブジェクト(2)204はサーバ
オブジェクト(1)203とは別のサーバコンピュータ
(2)202に存在しているため、サーバオブジェクト
(1)203を直接参照できない。このため、サーバオ
ブジェクト(1)203の代理オブジェクトであるスタ
ブオブジェクト(1)207をサーバコンピュータ
(2)202に用意し、サーバオブジェクト(1)20
3とみなして利用する。サーバオブジェクト(2)20
4がスタブオブジェクト(1)207のメソッドを実行
すると、スタブオブジェクト(1)207はサーバコン
ピュータ(1)201にあるスケルトンオブジェクト
(1)206と通信を行い、スケルトンオブジェクト
(1)206がサーバオブジェクト(1)203に対し
てメソッド実行を行う。返り値はスケルトンオブジェク
ト(1)206とスタブオブジェクト(1)207を経
由してサーバオブジェクト(2)204に返される。
【0036】同様に、サーバオブジェクト(3)205
は、スタブオブジェクト(2)209とスケルトンオブ
ジェクト(2)208を介してサーバオブジェクト
(2)204を利用している。
【0037】図3は、本実施形態のサーバオブジェクト
に対する接続の構成例である。図2と同様に、サーバコ
ンピュータ(1)301とサーバコンピュータ(2)3
02の2台のコンピュータ上に分散されたサーバオブジ
ェクト(1)303、サーバオブジェクト(2)30
4、サーバオブジェクト(3)305によりサーバプロ
グラムが構成されている。
【0038】サーバコンピュータ(2)302上のサー
バオブジェクト(2)304は、ログ収集オブジェクト
(21)306を経由してサーバコンピュータ(2)3
02のローカルオブジェクト位置管理プログラム(2)
307で管理されるインタフェースオブジェクト(2
1)308を介してスケルトンオブジェクト(1)30
9と通信を行うことでサーバオブジェクト(1)303
を利用する。
【0039】インタフェースオブジェクト(21)30
8は、図2のスタブオブジェクトと同様、サーバオブジ
ェクト(1)303の代理オブジェクトとして機能す
る。サーバオブジェクト(3)305は、ログ収集オブ
ジェクト(31)310を経由してサーバコンピュータ
(1)301のローカルオブジェクト位置管理プログラ
ム(1)311により管理されたインタフェースオブジ
ェクト(11)312を代理オブジェクトとしてサーバ
オブジェクト(1)303を利用している。同様にサー
バオブジェクト(3)305はログ収集オブジェクト
(32)313を経由してサーバコンピュータ(1)3
01のローカルオブジェクト位置管理プログラム311
により管理されたインタフェースオブジェクト(21)
314とスケルトンオブジェクト(2)315を介して
サーバオブジェクト(2)304を利用している。
【0040】インタフェースオブジェクト308,31
2,314は、参照先を動的に変更する機能を持つ。こ
のため、図3の状態でサーバオブジェクト(1)303
がサーバコンピュータ(1)301からサーバコンピュ
ータ(2)302へ移動したときは、各サーバコンピュ
ータのローカルオブジェクト位置管理プログラム30
7,311を通じてインタフェースオブジェクト(1
1)312、(21)308に移動を通知し、インタフ
ェースオブジェクトの参照先を移動先のサーバオブジェ
クトのスケルトンオブジェクトへ変更する。このとき、
サーバオブジェクト(2)304とサーバオブジェクト
(3)305は移動を検知したり、再接続を行うといっ
た移動に関する処理を何等する必要がない。
【0041】図4は、本実施形態のサーバオブジェクト
のインタフェースを宣言したインタフェース定義例であ
る。インタフェース定義は、サーバオブジェクトのクラ
ス名称401を記述した後、サーバオブジェクトが提供
するメソッドが返却する値の型の宣言402、メソッド
名称403、メソッドに対するパラメータの宣言40
4、エラーが生じた場合に返されるエラーオブジェクト
の種類405を1つの固まりとして、いくつも記述する
ことができる。この図4では、Java言語を使用した場合
のサーバオブジェクトのインタフェース定義例を記述し
ている。
【0042】図5は、本実施形態のサーバオブジェクト
のインタフェース定義から生成されるログ収集オブジェ
クトのクラス定義例の一部である。ログ収集オブジェク
トのクラス定義は、ログ収集オブジェクトのクラス名称
501を記述した後、サーバオブジェクトのインタフェ
ースで宣言された各メソッドの返却する値の型の宣言5
02、メソッド名称503、メソッドに対するパラメー
タの宣言504、エラーが生じた場合に返されるエラー
オブジェクトの種類505を記述した後、メソッドの実
体として、ログ情報を収集する部分506、インタフェ
ースオブジェクトを呼出す部分507を各メソッドごと
に記述する。また、サーバオブジェクトのインタフェー
スに宣言されていないが、インタフェースオブジェクト
に対する参照を設定するコンストラクタメソッド508
も定義される。この図5では、Java言語を使用した場合
のログ収集オブジェクトのクラス定義例を記述してい
る。
【0043】図6は、本実施形態のサーバオブジェクト
のインタフェース定義から生成されるインタフェースオ
ブジェクトのクラス定義例の一部である。インタフェー
スオブジェクトのクラス定義は、インタフェースオブジ
ェクトのクラス名称601を記述した後、サーバオブジ
ェクトのインタフェースで宣言された各メソッドの返却
する値の型の宣言602、メソッド名称603、メソッ
ドに対するパラメータの宣言604、エラーが生じた場
合に返されるエラーオブジェクトの種類605を記述し
た後、メソッドの実体として、通常の分散オブジェクト
環境でのサーバオブジェクトの代理となるスタブオブジ
ェクトのメソッドの呼出し606を記述する。それ以外
に、管理インタフェースとして、移動用のメソッドの返
却値の型607、メソッド名称608、パラメータとし
て移動先のコンピュータ名称を示すURL(Uniform Res
ource Locator)609を記述し、メソッドの実体とし
て、URLから移動先のサーバオブジェクトに対する代
理オブジェクトであるスタブオブジェクトを入手するた
めに、ローカルオブジェクト位置管理プログラムを呼出
すメソッド610を記述し、移動前のスタブオブジェク
トと置換えるメソッド611を記述する。この図6で
は、Java言語を使用した場合のインタフェースオブジェ
クトのクラス定義例を示している。
【0044】図7は、本実施形態のインタフェースオブ
ジェクトの構成例である。インタフェースオブジェクト
701はメソッド実行インタフェース702と管理イン
タフェース703をインタフェースに持つオブジェクト
であり、内部にメソッド実行待ちキュー704と同一コ
ンピュータ上のサーバオブジェクトの実体または他コン
ピュータ上のサーバオブジェクトの代理であるスタブオ
ブジェクトへの参照705を持つ。
【0045】メソッド実行インタフェース702は、サ
ーバオブジェクトへのメソッド実行を代理するためのイ
ンタフェースであり、サーバオブジェクトと同じメソッ
ドインタフェースを提供する。
【0046】管理インタフェース703は、サーバオブ
ジェクトを移動するためのインタフェースであり、サー
バオブジェクト移動処理に伴うメソッド実行の延期とサ
ーバオブジェクトの参照先を変更する機能を提供する。
メソッド実行の延期は、メソッド実行を行おうとしてい
るスレッドを停止させメソッド実行待ちキューに入れて
おき、サーバオブジェクトの移動処理が完了した時点で
キューにあるスレッドの実行を再開することで実現す
る。
【0047】図8は、本実施形態の各サーバコンピュー
タ上で稼動するローカルオブジェクト位置管理プログラ
ム(12D,22D)の構成例である。ローカルオブジ
ェクト位置管理プログラム801は、ネーミングサービ
スインタフェース802と管理インタフェース803を
インタフェースに持つオブジェクトであり、インタフェ
ースオブジェクト群804、805の管理とサーバオブ
ジェクトの転送処理を行うオブジェクトである。
【0048】ネーミングサービスインタフェース802
は、ネーミングサービスの代理としてサーバオブジェク
トの登録と検索を行うためのインタフェースである。各
サーバオブジェクトはネーミングサービスを利用する代
わりに、自身が存在するサーバコンピュータ上のローカ
ルオブジェクト位置管理プログラム801に対してサー
バオブジェクトの登録と検索を行う。サーバオブジェク
トが登録されると、ローカルオブジェクト表806に登
録された後に管理コンピュータ3上で稼動しているグロ
ーバルオブジェクト位置管理プログラム(図9)へ登録
される。サーバオブジェクトの検索要求があると、ロー
カルオブジェクト表806を調べ、存在すればその参照
からインタフェースオブジェクトとログ収集オブジェク
トを生成し、その参照を返す。ローカルオブジェクト表
806に存在しない、すなわち目的のサーバオブジェク
トが他のコンピュータ上に存在する場合は、管理コンピ
ュータ3上で稼動しているグローバルオブジェクト管理
プログラムへ検索要求を出し、入手したスタブを元にイ
ンタフェースオブジェクトとログ収集オブジェクトを生
成して返す。
【0049】管理インタフェース803は、サーバオブ
ジェクト移動処理のためのインタフェースであり、オブ
ジェクト移動管理プログラム32Cにより利用される。
インタフェースオブジェクトの操作(メソッド実行の延
期と参照先の変更)とサーバオブジェクトのマーシャリ
ングと送信、アンマーシャリングと受信の機能を提供す
る。
【0050】図9は、本実施形態の管理コンピュータ3
上で稼動するグローバルオブジェクト位置管理プログラ
ム(32A)の構成例である。グローバルオブジェクト
位置管理プログラム901は、ネーミングサービスイン
タフェース902をインタフェースに持つオブジェクト
であり、分散サービスを提供する全てのサーバオブジェ
クトの実体がどのサーバコンピュータ上で稼動している
かを管理するオブジェクトである。
【0051】ネーミングサービスインタフェース902
は、各サーバコンピュータ上のローカルオブジェクト位
置管理プログラム12D,22Dからのサーバオブジェ
クトの登録要求を受けると、グローバルオブジェクト表
903に、サーバオブジェクトの名称、サーバオブジェ
クトの参照、サーバオブジェクトの稼動しているコンピ
ュータ名称を格納する。ローカルオブジェクト位置管理
プログラム12D、22Dからサーバオブジェクトの検
索要求を受けると、オブジェクト名称で、グローバルオ
ブジェクト表903内を検索し、サーバオブジェクトの
参照を返却する。
【0052】図10は、本実施形態のサーバオブジェク
ト移動処理の準備処理の概要を示した図である。サーバ
コンピュータ(1)1001上のサーバオブジェクト
(1)1007とサーバオブジェクト(3)1009、
及びサーバコンピュータ(2)1002上のサーバオブ
ジェクト(2)1008でサーバプログラムが構成され
ており、サーバオブジェクト(1)1007はサーバオ
ブジェクト(2)1008とサーバオブジェクト(3)
1009に利用されている。この状況でこのサーバプロ
グラムの管理者が管理コンピュータ1003(図1の3
に相当)のオブジェクト移動管理プログラム1004
(図3の32Cに相当)へサーバオブジェクト(1)1
007をサーバコンピュータ(2)1002へ移動させ
るように要求した場合を考える。
【0053】オブジェクト移動管理プログラム1004
は、サーバコンピュータ(1)101のローカルオブジ
ェクト位置管理プログラム1005とサーバコンピュー
タ(2)1002のローカルオブジェクト位置管理プロ
グラム1006に対して、サーバオブジェクト(1)1
007の移動開始要求を出す()。移動開始要求を受け
取ったローカルオブジェクト位置管理プログラム100
6は、インタフェースオブジェクト(1)1010,1
011に対して、メソッド実行の延期要求を出し、現在
実行しているメソッド実行が終了するのを待つ()。実
行中であったメソッド実行が終了したらローカルオブジ
ェクト位置管理プログラム1006はオブジェクト移動
管理プログラム1004に対して終了通知を出す()。
全てのサーバオブジェクトから終了通知を受け取ると準
備処理は完了である。
【0054】図11は、本実施形態のサーバオブジェク
ト移動処理の概要を示した図である。準備処理が完了す
ると、管理コンピュータ1003上のオブジェクト移動
管理プログラム1004は、サーバオブジェクト(1)
1007が存在するサーバコンピュータ(1)1001
のローカルオブジェクト位置管理プログラム(1)10
05に対してサーバオブジェクト(1)1007をサー
バコンピュータ(2)1002へ送信するように送信要
求を出す()。送信要求を受け取ったローカルオブジェ
クト位置管理プログラム(1)1005は、サーバオブ
ジェクト(1)1007をマーシャリングしてバイナリ
データ化し、サーバコンピュータ(2)1002のロー
カルオブジェクト位置管理プログラム(2)1006に
送信する()。この時点でサーバコンピュータ(1)1
001上のサーバオブジェクト(1)1007とスケル
トンオブジェクト(1)1012は破棄される。
【0055】バイナリデータを受信したサーバコンピュ
ータ(2)1002上のローカルオブジェクト位置管理
プログラム1006は受信したデータをアンマーシャリ
ングし、サーバオブジェクト(1)1007’を生成す
る()。生成が完了すると、オブジェクト移動管理プロ
グラム1004に対して移動処理の終了通知を出す
()。終了通知を受け取ったオブジェクト移動管理プロ
グラム1004はネーミングサービスプログラム101
3のサーバオブジェクト(1)1007の位置情報を更
新する()。
【0056】図12は、本実施形態のサーバオブジェク
ト移動後の再接続処理の概要を示した図である。移動処
理が完了すると、管理コンピュータ1003上のオブジ
ェクト移動管理プログラム1004はサーバコンピュー
タ(1)1001のローカルオブジェクト位置管理プロ
グラム1005とサーバコンピュータ(2)1002の
ローカルオブジェクト位置管理プログラム1006に対
してサーバオブジェクト(1)1007’の再接続要求
を出す()。再接続要求を受け取ったローカルオブジェ
クト位置管理プログラム1005,1006はインタフ
ェースオブジェクト(1)1011、1010に対して
再接続を要求する。再接続を要求されたインタフェース
オブジェクト(1)1011,1010は移動が完了し
たサーバオブジェクト(1)1007’に対して接続を
行い、延期していたメソッド実行を再開する((10))。
【0057】図13は、本実施形態のグローバルオブジ
ェクト位置管理プログラム32Aが管理するグローバル
オブジェクト表903(図9)のオブジェクト移動前、
移動後の変化の様子を示した図である。グローバルオブ
ジェクト表903は、サーバオブジェクトの名称130
1とサーバオブジェクトが稼動しているサーバコンピュ
ータの名称または固有のID1302とサーバオブジェ
クトへの参照1303の3つの列からなる表である。図
13(b)は、図13(a)の状態からサーバコンピュ
ータ(1)1001上で稼動している「ServerD」とい
う名称を持つサーバオブジェクト1304をサーバコン
ピュータ(2)1002に移動した時のグローバルオブ
ジェクト表である。「ServerD」に対応する行の位置の
列1305,1306が、移動後のサーバコンピュータ
の名称「サーバマシン2」と、そのサーバコンピュータ
上でのサーバオブジェクト1307への参照に変化す
る。
【0058】図14は、本実施形態の移動元コンピュー
タと移動先コンピュータ上で稼動するローカルオブジェ
クト位置管理プログラム12D,22Dが管理するロー
カルオブジェクト表806(図8)の移動前と移動後の
変化の様子を示した図である。ローカルオブジェクト表
806は、サーバオブジェクトの名称1401とサーバ
オブジェクトへの参照1402の2つの列からなる表で
ある。図14(a)は、サーバコンピュータ(1)10
01上の、図14(b)はサーバコンピュータ(2)1
002上の、サーバオブジェクトが移動する前のローカ
ルオブジェクト表である。サーバコンピュータ(1)1
001上で稼動している「ServerD」という名称を持つ
サーバオブジェクトD1403がサーバコンピュータ
(2)1002に移動した場合、サーバコンピュータ
(1)1001上のローカルオブジェクト表806から
は、図14(c)に示すように「ServerD」があった行
1404がなくなり、サーバコンピュータ(2)100
2上には、新たにサーバオブジェクトD1405が作成
され、図14(d)に示すローカルオブジェクト表80
6に「ServerD」の名称とサーバオブジェクトD140
5への参照を持つ行1406が追加される。
【0059】図15は、本実施形態の各サーバコンピュ
ータ上でログ収集オブジェクトによってログ情報データ
ベースに格納されるローカルログ情報テーブルの例を示
した図である。ローカルログ情報テーブルは、呼出し元
のオブジェクト名称1501、呼出元のオブジェクトで
実行中のメソッド名称1502、呼出す先のオブジェク
トが稼動しているコンピュータの名称または固有のアド
レス1503、呼出す先のオブジェクト名称1504、
呼出す先のメソッド名称1505、呼出し開始時間15
06、呼出し終了時間1507の7つの列からなる。
【0060】図16は、本実施形態の管理コンピュータ
3上のログ情報データベースに格納されるグローバルロ
グ情報テーブルの例を示した図である。グローバルログ
情報テーブルは、呼出し元のオブジェクトが稼動してい
るコンピュータの名称または固有のアドレス1601、
呼出し元のオブジェクト名称1602、呼出元のオブジ
ェクトで実行中のメソッド名称1603、呼出す先のオ
ブジェクトが稼動しているコンピュータの名称または固
有のアドレス1604、呼出す先のオブジェクト名称1
605、呼出す先のメソッド名称1606、呼出し開始
時間1607、呼出し終了時間1608の8つの列から
なる。
【0061】図17は、本実施形態のネットワークトラ
フィック量を正規化するための、サーバコンピュータ間
のネットワーク距離を計算するための計算式の例を示し
たものである。コンピュータ(1)1701とコンピュ
ータ(2)1702が、ネットワーク機器(1)170
3、ネットワーク機器(2)1704、ネットワーク機
器(3)1705を経由して接続している場合、ネット
ワーク機器(1)1703とネットワーク機器(2)1
704との間の平均トラフィックX1(byte/s)を回線速
度Y1(MBps)で割ったものをネットワーク機器(1)1
703(2)1704との間のネットワーク距離とし、
同様にネットワーク機器(2)1704とネットワーク
機器(3)1705の間の平均トラフィックX2(byte/
s)を回線速度Y2(Mbps)で割ったものをネットワーク機
器(2)1704と(3)1705とのネットワーク距
離とした場合、コンピュータ(1)1701とコンピュ
ータ(2)1702との間のネットワーク距離は、ネッ
トワーク機器間のネットワーク距離の合計として計算さ
れる。同一ネットワーク上にコンピュータ2台が存在す
る場合は、そのコンピュータ間のネットワーク距離は
「0」となる。
【0062】図18は、本実施形態のサーバコンピュー
タ(1)、(2)上でオブジェクト転送を行なうローカ
ル位置管理プログラム12D、22Dが、メモリ11
B、21B中に確保するオブジェクト参照頻度テーブル
1800の構成例を示した図である。オブジェクト参照
頻度テーブルには、オブジェクトの名称1801と、オ
ブジェクトの参照頻度(回数/秒)1802と、転送する
かどうかを示すフラグ1803の組が格納されている。
【0063】図19は、本実施形態のサーバコンピュー
タ(1)、(2)上に格納されるオブジェクト格納位置
ファイル1900(12F,22F)の構成例を示した
ものである。オブジェクト格納位置ファイル1900に
は、1行ごとに、オブジェクトの名称1901と、その
オブジェクトのクラス定義のファイルが格納してある場
所1902が、空白によって区切られて格納されてい
る。
【0064】図20は、本実施形態のネーミングサービ
スプログラム32Eがメモリ31B中に確保するオブジ
ェクトが格納されている場所を検索するために利用する
オブジェクト格納位置テーブル2000の構成例を示し
たものである。オブジェクト格納位置テーブル2000
には、オブジェクトの名称2001とオブジェクトのク
ラス定義が格納されているコンピュータの名称2002
Aとオブジェクトのクラス定義ファイルの位置2002
Bの複数の組2002が格納されている。
【0065】図21は、本実施形態の管理コンピュータ
3の表示装置に表示されるオブジェクト間通信量の表示
例である。呼出すサーバオブジェクトが稼動しているサ
ーバコンピュータの名称または固有のアドレス210
1、呼出すサーバオブジェクトの名称2102、呼出さ
れるサーバオブジェクトが稼動しているサーバコンピュ
ータの名称または固有のアドレス2103、呼出される
サーバオブジェクトの名称2104、単位時間あたりの
転送バイト数2105が一列に表示されたものがリスト
として順に並び、ウィンドウに表示できない部分は、ス
ライダ2106をずらすことで表示可能になっている。
【0066】図22は、本実施形態の管理コンピュータ
3の表示装置に表示されるオブジェクト移動位置候補表
の例である。移動させるベきサーバオブジェクトがあっ
た場合、サーバオブジェクトの名称2201、サーバオ
ブジェクトが稼動しているコンピュータの名称または固
有のアドレス2202、移動させる先のコンピュータの
名称または固有のアドレス2203、単位時間あたりの
転送量をサーバコンピュータ間のネットワーク距離で割
って正規化した転送量2204が一列に表示されたもの
がリストとして順に並び、ウィンドウに表示できない部
分はスライダ2205をずらすことで表示可能になって
いる。
【0067】図23は、本実施形態の管理コンピュータ
3上で、利用者がオブジェクトの移動先のコンピュータ
を指示するユーザインタフェースの例である。オブジェ
クト移動指示のウィンドウ内には、移動させるオブジェ
クトが稼動しているサーバコンピュータをリストから選
択する部分2301、サーバコンピュータが選択された
時に移動するオブジェクトをリストから選択する部分2
302、移動先のコンピュータを選択する部分230
3、移動実行を指示する「実行」ボタン2304、サー
バコンピュータやオブジェクトの選択を中止する「キャ
ンセル」ボタン2305からなる。移動元のサーバコン
ピュータをマウス等の入力装置を用いてリストから選択
すると、そのサーバコンピュータ上で稼動しているサー
バオブジェクトの名称が2302内に表示される。23
02に表示されたサーバオブジェクトをマウス等の入力
装置を用いてリストから選択する。同様に2303に表
示された移動先のサーバコンピュータをマウス等の入力
装置を用いてリストから選択し、「実行」ボタンをマウ
ス等の入力装置で押下すると、サーバオブジェクトの移
動が実施される。
【0068】図24は、本実施形態の管理コンピュータ
3上で、各サーバオブジェクトが移動できるサーバコン
ピュータを指定する際の、ユーザインタフェースの例で
ある。ウィンドウ内には、移動対象のサーバオブジェク
トの名称を設定するフィールド2401、移動先のサー
バコンピュータを選択するリスト2402、設定をオブ
ジェクト移動制限設定ファイル32Dへ書き込む処理の
実行を指示する「実行」ボタン2403、移動制限設定
の中止を指示するための「キャンセル」ボタン2404
がある。
【0069】図25は、本実施形態の管理コンピュータ
3上で、各コンピュータごとに移動を受け付けるオブジ
ェクトを指定する際のユーザインタフェースの例であ
る。ウィンドウ内には、移動を受け付けるサーバコンピ
ュータを選択するリスト2501、移動を受け付けるサ
ーバオブジェクト名称を入力するフィールド2502、
移動を受け付けるサーバオブジェクト群の名称を表示す
るリストフィールド2503、サーバオブジェクト名称
入力フィールド2502に入力されたサーバオブジェク
ト名称をサーバオブジェクト名称リストフィールド25
03に追加する指示を行なうための「追加」ボタン25
04、サーバオブジェクト名称リストフィールド250
3のリストから選択されたサーバオブジェクトを移動を
受け付ける対象からはずす「削除」ボタン2505、入
力された情報をオブジェクト移動制限設定ファイル32
Dへ書き込む処理の実行を指示する「実行」ボタン25
06、移動制限設定の中止を指示するための「キャンセ
ル」ボタン2507がある。
【0070】図26は、本実施形態の管理コンピュータ
3の外部記憶装置32内に格納されるオブジェクト移動
制限設定ファイル2600(32D)の構成例を示した
図である。オブジェクト移動制限設定ファイル2600
(32D)は、移動可能なサーバオブジェクトの名称2
601、移動を受け付けるサーバコンピュータ名称26
02を組にしたものが順に並んでいる。
【0071】以下、フローチャートを用いて本実施形態
の動作を説明する。
【0072】図27は、本実施形態の管理コンピュータ
3上で稼動するオブジェクト移動管理プログラム32C
の動作を示したフローチャートである。オブジェクト移
動管理プログラム32Cは、サーバプログラムの管理者
からサーバオブジェクトの移動指示を待つ(ステップ2
701)。移動指示を受け取ると、各サーバコンピュー
タ1,2上のローカルオブジェクト位置管理プログラム
12D,22Dに対して移動準備要求を出し(ステップ
2702)、準備処理が終了するのを待つ(ステップ2
703)。次に、移動させるサーバオブジェクトが存在
するサーバコンピュータのローカルオブジェクト位置管
理プログラム12D,22Dに対してサーバオブジェク
ト送信要求を出し(ステップ2704)、移動先のサー
バコンピュータのオブジェクト位置管理プログラム12
D,22Dからの受信処理完了通知を待つ(ステップ2
705)。次に、移動したサーバオブジェクトについて
グローバルオブジェクト位置管理プログラム32Aにサ
ーバオブジェクトの位置が変ったことを送信し(ステッ
プ2706)、各ローカルオブジェクト位置管理プログ
ラム12D,22Dに対して移動したサーバオブジェク
トの再接続要求を出して(ステップ2707)、サーバ
オブジェクトの移動は完了し、ステップ2701に戻っ
て再びサーバオブジェクトの移動指示を待つ。
【0073】図28は、本実施形態の各サーバコンピュ
ータ1,2上で稼動するローカルオブジェクト位置管理
プログラム12D,22Dの動作を示したフローチャー
トである。ローカルオブジェクト位置管理プログラム1
2D,22Dはサーバオブジェクト、オブジェクト移動
管理プログラム32C及び他のサーバコンピュータ上の
ローカルオブジェクト位置管理プログラム12D,22
Dからの要求を待つ(ステップ2801)。送られてき
た要求がサーバオブジェクト登録要求であれば(ステッ
プ2802)、サーバオブジェクト登録処理(ステップ
2803)を、サーバオブジェクト検索要求であれば
(ステップ2804)、サーバオブジェクト検索処理を
(ステップ2805)、サーバオブジェクト移動開始要
求であれば(ステップ2806)、サーバオブジェクト
移動開始処理を(ステップ2807)、サーバオブジェ
クト送信要求であれば(ステップ2808)、サーバオ
ブジェクト送信処理を(ステップ2809)、サーバオ
ブジェクト受信要求であれば(ステップ2810)、サ
ーバオブジェクト受信処理を(ステップ2811)、サ
ーバオブジェクト再接続要求であれば(ステップ281
2)、サーバオブジェクト再接続処理(ステップ281
3)をそれぞれ行い、ステップ2801に戻って再び要
求を待つ。
【0074】図29は、本実施形態の管理コンピュータ
3上で稼動するグローバルオブジェクト位置管理プログ
ラム32Aの動作を示したフローチャートである。グロ
ーバルオブジェクト位置管理プログラム32Aが起動す
ると、ローカルオブジェクト位置管理プログラム12
D,22Dからの要求を待つ(ステップ2901)。送
られてきた要求がサーバオブジェクト登録要求であれば
(ステップ2902)、サーバオブジェクト登録処理を
(ステップ2903)、サーバオブジェクト検索要求で
あれば(ステップ2904)、サーバオブジェクト検索
処理を行ない(ステップ2905)、処理が終了すれば
ステップ2901に戻って再び要求を待つ。
【0075】図30は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト登録処理の動作を示したフローチャートである。
ローカルオブジェクト位置管理プログラム12D,22
Dは、サーバオブジェクト登録要求を受け取ると、まず
登録しようとする名前のサーバオブジェクトがすでに存
在するかどうかを調べる(ステップ3001)。すでに
同じ名前のサーバオブジェクトが存在する場合は、サー
バオブジェクトの登録要求元に登録失敗を通知して終了
する(ステップ3002)。同じ名前のサーバオブジェ
クトが存在していないときはローカルオブジェクト表8
06(図8)に登録し(ステップ3003)、次にグロ
ーバルオブジェクト位置管理プログラム32Aにサーバ
コンピュータ名、サーバオブジェクト名、オブジェクト
の参照をオブジェクト登録命令とともに転送して(ステ
ップ3004)処理を終了する。
【0076】図31は、本実施形態のグローバルオブジ
ェクト位置管理プログラム32Aのサーバオブジェクト
登録処理の動作を示したフローチャートである。グロー
バルオブジェクト位置管理プログラム32Aがサーバオ
ブジェクト登録要求を受け取ると、サーバコンピュータ
名称、サーバオブジェクト名称、サーバオブジェクトへ
の参照を受信する(ステップ3101)。受信した名称
のオブジェクトがグローバルオブジェクト表903(図
9)に既に登録されているかどうかを調べる(ステップ
3102)。すでに同じ名前のサーバオブジェクトが登
録されている場合は、サーバオブジェクトの登録要求元
に登録失敗を通知して(ステップ3103)、終了す
る。もし登録されていなければ、それらを対にして、グ
ローバルオブジェクト表903に登録して(ステップ3
104)、終了する。
【0077】図32は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト検索処理の動作を示したフローチャートである。
ローカルオブジェクト位置管理プログラム12D,22
Dは、サーバオブジェクト検索要求を受け取ると、まず
検索対象のサーバオブジェクトのインタフェースオブジ
ェクトが存在するかどうか調べる(ステップ320
1)。存在する場合は、そのインタフェースオブジェク
トを参照するログ収集オブジェクトを生成して返却し
(ステップ3202)終了する。存在しない場合は、検
索対象のサーバオブジェクトがローカルオブジェクト表
806に存在するかどうか調べる(ステップ320
3)。存在する場合は、ローカルオブジェクト表806
からサーバオブジェクトの実体への参照を取得して、そ
の参照からインタフェースオブジェクトを生成し(ステ
ップ3204)、ステップ3207へ飛ぶ。存在しない
場合は、グローバルオブジェクト位置管理プログラム3
2Aにサーバオブジェクト検索要求を出し、サーバオブ
ジェクトの参照であるスタブを入手して(ステップ32
05)、得られたスタブからインタフェースオブジェク
トを生成する(ステップ3206)。最後に生成したイ
ンタフェースオブジェクトを参照するログ収集オブジェ
クトを生成して返し(ステップ3207)処理を終了す
る。
【0078】図33は、本実施形態のグローバルオブジ
ェクト位置管理プログラム32Aのサーバオブジェクト
検索処理の動作を示したフローチャートである。グロー
バルオブジェクト位置管理プログラム32Aがサーバオ
ブジェクト検索要求を受け取ると、検索するサーバオブ
ジェクトの名称を受信し(ステップ3301)、グロー
バルオブジェクト表903に受信したサーバオブジェク
ト名称と等しいエントリがあるかどうかを調べ(ステッ
プ3302)、あった場合は、そのエントリ内のサーバ
オブジェクトの参照を返却して(ステップ3303)、
終了する。なかった場合は、検索失敗を返却して(ステ
ップ3304)、終了する。
【0079】図34は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト移動開始処理の動作を示したフローチャートであ
る。ローカルオブジェクト位置管理プログラム12D,
22Dは、サーバオブジェクト移動開始処理要求を受け
取ると、まず移動対象のサーバオブジェクトのインタフ
ェースオブジェクトが存在するかどうか調べ(ステップ
3401)、存在しない場合はそのまま終了する。存在
する場合は、インタフェースオブジェクトに対してメソ
ッド実行延期要求を出し(ステップ3402)、現在実
行中の全てのメソッド実行が終了するのを待つ(ステッ
プ3403)。メソッド実行が終了したらオブジェクト
移動管理プログラム32Cに対して移動準備処理が完了
したことを通知して(ステップ3404)処理を終了す
る。
【0080】図35は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト送信処理の動作を示したフローチャートである。
ローカルオブジェクト位置管理プログラム12D,22
Dは、サーバオブジェクト送信要求を受け取ると、送信
させるサーバオブジェクトをバイナリデータにエンコー
ド(マーシャリング)し(ステップ3501)、マーシ
ャリングしたデータと共にサーバオブジェクトの移動先
のサーバコンピュータに対してサーバオブジェクト受信
要求を出して(ステップ3502)マーシャリングされ
たバイナリデータを送信する(ステップ3503)。そ
の後、ローカルオブジェクト表806から送信したサー
バオブジェクトを削除して(ステップ3504)、送信
したオブジェクトを破棄し(ステップ3505)処理を
終了する。
【0081】図36は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト受信処理の動作を示したフローチャートである。
ローカルオブジェクト位置管理プログラム12D,22
Dは、サーバオブジェクト受信要求を受け取ると、要求
元からマーシャリングされたバイナリデータを受信し
(ステップ3601)、受信したバイナリデータをデコ
ード(アンマーシャリング)してサーバオブジェクトを
構築し(ステップ3602)、構築したサーバオブジェ
クトをローカルオブジェクト表806に登録して(ステ
ップ3603)、グローバルオブジェクト移動管理プロ
グラム32Aにサーバオブジェクトの移動処理の完了を
通知し(ステップ3604)、処理を終了する。
【0082】図37は、本実施形態のローカルオブジェ
クト位置管理プログラム12D,22Dのサーバオブジ
ェクト接続切替処理の動作を示したフローチャートであ
る。ローカルオブジェクト位置管理プログラム12D,
22Dはサーバオブジェクト再接続要求を受け取ると、
まず再接続するサーバオブジェクトのインタフェースオ
ブジェクトが存在するかどうかを調べ(ステップ370
1)、存在しないときはそのまま処理を終了する。存在
するときは、インタフェースオブジェクトに対して再接
続要求を出して(ステップ3702)処理を終了する。
【0083】図38は、本実施形態のログ収集オブジェ
クトの動作を示したフローチャートである。ログ収集オ
ブジェクトがメソッドを呼出されると、ログ収集オブジ
ェクトのメソッドを呼出したオブジェクトの名称とメソ
ッドの名称を呼出しスタック上から取り出し(ステップ
3801)、インタフェースオブジェクトから呼出そう
としているサーバコンピュータの名称とオブジェクトの
名称を取り出し(ステップ3802)、送信するパラメ
ータのサイズを計算し(ステップ3803)、メソッド
呼出し時刻を記憶しておき(ステップ3804)、イン
タフェースオブジェクトの対応するメソッドを呼出す
(ステップ3805)。インタフェースオブジェクトか
ら分散オブジェクト呼出し結果の値を受信し(ステップ
3806)、その値のサイズを計算し(ステップ380
7)、メソッド呼出し終了時刻を取り出し(ステップ3
808)、自コンピュータ名称、呼出したサーバオブジ
ェクトの名称、呼出したサーバオブジェクト内のメソッ
ド名称、呼出し先のコンピュータ名称、呼出し先オブジ
ェクトの名称、呼出し先メソッドの名称、メソッド呼出
し開始時刻、メソッド呼出し終了時刻、送信・受信した
データのサイズをログ情報データベースに書き込み(ス
テップ3809)、インタフェースオブジェクトから受
け取った値を呼出し元のサーバオブジェクトに返却して
(ステップ3810)処理を終了する。
【0084】図39は、本実施形態のインタフェースオ
ブジェクトの動作を示したフローチャートである。イン
タフェースオブジェクトはサーバオブジェクトとローカ
ルオブジェクト位置管理プログラム12D,22Dから
の要求を待つ(ステップ3901)。送られてきた要求
がメソッド実行であれば(ステップ3902)、メソッ
ド実行処理(ステップ3903)を、メソッド実行延期
要求であれば(ステップ3904)、メソッド実行延期
処理を(ステップ3905)、再接続要求であれば(ス
テップ3906)、再接続処理を(ステップ3907)
をそれぞれ行い、ステップ3901に戻って再び要求を
待つ。
【0085】図40は、本実施形態のインタフェースオ
ブジェクトのメソッド実行処理の動作を示したフローチ
ャートである。インタフェースオブジェクトはメソッド
実行インタフェースからメソッド実行要求を受け取る
と、まずメソッド実行を行うためのスレッドを生成する
(ステップ4001)。次に、メソッド実行延期状態で
あるかどうか調べ(ステップ4002)、延期状態であ
れば生成したスレッドをメソッド実行待ちキューに入れ
て(ステップ4003)処理は終了する。延期状態でな
ければ生成したスレッドをスタートさせて(ステップ4
004)処理は終了する。
【0086】図41は、本実施形態のインタフェースオ
ブジェクトのメソッド実行延期処理の動作を示したフロ
ーチャートである。インタフェースオブジェクトは管理
インタフェースからメソッド実行延期要求を受け取る
と、まず現在メソッド実行を行っているスレッドが存在
するかどうか調べる(ステップ4101)。存在してい
れば、現在メソッド実行中の全てのスレッドが終了する
のを待つ(ステップ4102)。メソッド実行を行って
いるスレッドが存在しない状態になったら自分自身をメ
ソッド実行延期状態にして(ステップ4103)処理は
終了する。
【0087】図42は、本実施形態のインタフェースオ
ブジェクトの再接続処理の動作を示したフローチャート
である。インタフェースオブジェクトは管理インタフェ
ースから再接続要求を受け取ると、まずサーバオブジェ
クトへの参照を移動先のサーバオブジェクトに変更し
(ステップ4201)、メソッド実行待ちキューにある
スレッドの実行を順番に再開させて(ステップ420
2)メソッド実行延期状態を解除して(ステップ420
3)処理は終了する。
【0088】図43は、本実施形態の転送後のサーバオ
ブジェクトのプログラム実行の動作を示したフローチャ
ートである。サーバオブジェクトが処理を開始すると、
他のオブジェクト参照時に、そのオブジェクトが存在す
るかどうかを判断する(ステップ4301)。オブジェ
クトが存在する場合には、処理を継続し(ステップ43
02)、ステップ4301から繰り返す。オブジェクト
が存在しない場合は、参照するオブジェクトの名称を使
って、オブジェクト転送プログラム(12G,22G)
に転送依頼をする(ステップ4303)。次に、転送結
果を入手して結果を判断し(ステップ4304)、入手
不可であった場合はエラー処理を行い(ステップ430
5)、ステップ4301から繰り返す。転送結果として
オブジェクトが返ってきた場合は、処理を継続し(ステ
ップ4306)、ステップ4301から繰り返す。
【0089】図44は、本実施形態の各サーバコンピュ
ータ1,2上で稼働するオブジェクト転送プログラム1
2G,22Gの動作を示すフローチャートである。オブ
ジェクト転送プログラムが12G,22G起動すると、
自サーバコンピュータ内のオブジェクト格納位置ファイ
ル12F,22Fを読み込み(ステップ4401)、ネ
ーミングサービスプログラム32Eにサーバコンピュー
タ名称、オブジェクトの名称とクラス定義ファイルの格
納位置を登録する(ステップ4402)。
【0090】次に、他のサーバコンピュータ上のオブジ
ェクト転送プログラムかサーバオブジェクトからの接続
を待ち(ステップ4403)、他のオブジェクト転送プ
ログラムからの接続かを判断し(ステップ4404)、
他のオブジェクト転送プログラムからの接続の場合は、
転送処理か転送要求かを判断し(ステップ4405)、
転送処理の場合は転送するオブジェクトのクラス定義を
受信し(ステップ4406)、オブジェクトのクラス定
義ファイルを格納し(ステップ4407)、オブジェク
ト格納位置ファイル12F,22Fに追加し(ステップ
4408)、ネーミングサービスプログラム32Eにサ
ーバコンピュータ名称、オブジェクトの名称、クラス定
義ファイルの格納位置を登録し(ステップ4409)、
オブジェクトをメモリ中に生成し(ステップ441
0)、ステップ4403から繰り返す。
【0091】転送要求の場合は、オブジェクトのクラス
定義を転送し(ステップ4411)、ステップ4403
から繰り返す。サーバオブジェクトからの接続の場合
は、オブジェクト名称を受信し(ステップ4412)、
ネーミングサービスプログラム32Eに検索要求を出し
(ステップ4413)、結果が入手不可かどうかを判断
し(ステップ4414)、入手不可なら入手不可を返却
し(ステップ4415)、ステップ4403から繰り返
す。オブジェクトの格納位置が返ってきた場合は、オブ
ジェクトを格納しているサーバコンピュータ上のオブジ
ェクト転送プログラムに転送要求を出し(ステップ44
16)、ステップ4406から処理を継続する。
【0092】図45は、本実施形態の管理コンピュータ
3上で稼動するネーミングサービスプログラム32Eの
動作を示したフローチャートである。ネーミングサービ
スプログラム32Eが起動すると、オブジェクト転送プ
ログラム12G,22Gからの接続を待つ(ステップ4
501)。オブジェクト転送プログラム12G,22G
からの依頼が登録か検索かを判断し(ステップ450
2)、登録の場合は、サーバコンピュータの名称とオブ
ジェクトの名称とクラス定義の格納位置を受け取り(ス
テップ4503)、オブジェクト格納位置テーブル21
00に格納し(ステップ4504)、ステップ4501
から繰り返す。
【0093】オブジェクト転送プログラム12G,22
Gからの依頼が検索の場合、オブジェクトの名称を受け
取り(ステップ4505)、オブジェクト格納位置テー
ブル2100のオブジェクト名称と一致するエントリを
検索する(ステップ4506)。そして、エントリがあ
るかどうかを判断し(ステップ4507)、エントリが
ない場合、入手不可を依頼元のオブジェクト転送プログ
ラム12G,22Gに返却(ステップ4508)して、
ステップ4501から繰り返す。エントリがある場合
は、複数エントリかどうかを判断し(ステップ450
9)エントリが1個だけの場合は、そのままオブジェク
トが格納されているサーバコンピュータ名称とクラス定
義の格納位置を返却し(ステップ4510)、ステップ
4501から繰り返す。エントリが複数ある場合は、ネ
ットワーク管理プログラム32Fから各エントリのサー
バコンピュータと検索を依頼してきたサーバコンピュー
タとのネットワーク距離が最も近いサーバコンピュータ
名称を入手し(ステップ4511)、そのサーバコンピ
ュータ名称と、該サーバコンピュータ上でのオブジェク
トのクラス定義の格納位置を返却し(ステップ451
2)、ステップ4501から繰り返す。
【0094】図46は、本実施形態の管理コンピュータ
3上で稼動するネットワーク管理プログラム32Fの動
作を示したフローチャートである。ネットワーク管理プ
ログラム32Fが起動すると、LANの構成情報、サー
バコンピュータ1,2の接続情報を入手し(ステップ4
601)、各サーバコンピュータ間の通信情報を収集す
る(ステップ4602)。ネーミングサービスプログラ
ム32Eから接続される(ステップ4603)と、検索
依頼元のサーバコンピュータ名称とオブジェクトが格納
されている複数のサーバコンピュータ名称を受け取り
(ステップ4604)、検索依頼元とオブジェクト格納
先のサーバコンピュータ間のネットワーク構成情報か
ら、図17で説明した計算式を用いてネットワーク距離
を計算し(ステップ4605)、最もネットワーク距離
が近いサーバコンピュータ名称を返却して(ステップ4
606)、ステップ4602から繰り返す。
【0095】以上のように本実施形態によれば、分散オ
ブジェクト環境のコンピュータシステムにおいて、オブ
ジェクトとオブジェクトの接続の中間に、呼出し先のオ
ブジェクトのインタフェースを全て含むインタフェース
を保有するオブジェクト同士の通信を中継する中継オブ
ジェクトを配置し、その中継オブジェクトを本来サービ
スを提供するオブジェクトの成りすましとして稼動させ
ることにより、既存のシステムに変更を加えることな
く、各オブジェクトの配置やオブジェクト間の呼び出し
の構造等の接続関係を把握することができる。
【0096】また、中継オブジェクトで通信ログを作成
することにより、オブジェクト自体に変更を加えること
なく、オブジェクト間の通信をすべて記録することがで
きる。
【0097】そして、通信ログにより、アクセス率が高
い2つ以上のオブジェクトの全体または一部の機能(イ
ンタフェース、メソッドレベル)を同一コンピュータ上
で稼動するようにオブジェクトを自動的に(あるいは管
理者の指示を経て)移動させることで、オブジェクト間
の効率的な協調を実現することができる。
【0098】また、オブジェクトの移動の際には、中継
オブジェクトの接続先を変更するだけでよく、システム
を再起動する必要がない。
【0099】移動後のサーバコンピュータ上で利用され
ないオブジェクトのクラス定義は転送しないため、ネッ
トワークトラフィックを削減することができる。
【0100】また、呼出されるオブジェクトが移動した
場合に、呼出していたオブジェクト側は、新たに移動先
のオブジェクトに対して接続切替えを必要とするが、呼
出す側のオブジェクト自身に、接続切替えが生じたこと
を意識させずに接続切替えを行なうことによって、プロ
グラマがプログラミング時に接続切替えを意識したプロ
グラミングを不要にすることができる。
【0101】なお、通信ログは、各サーバコンピュータ
で収集し、それを管理コンピュータに集約する方法と、
管理コンピュータのみで収集する方法があるが、いずれ
を採用してもよい。
【0102】また、ログ収集オブジェクトのクラス定義
をユーザ入力によって生成するようにしてもよい。
【0103】さらに、オブジェクト間の順序関係を木構
造で表現したGUIを用い、オブジェクトのアクセス率
のレベルを木構造の各ノードの色分けなどによるGUI
を採用することにより、ユーザがその分散オブジェクト
環境を把握していなくても、各オブジェクトレベルの管
理を容易にすることが可能になる。
【0104】
【発明の効果】以上説明したように、本発明によれば、
稼動中のオブジェクトの相互接続関係を既存のオブジェ
クト構造に変更を加えることなく認識することができ
る。
【0105】また、メモリ中にロードされて現在稼動中
の任意のオブジェクトを実装もしくは実行できる形で任
意のコンピュータ上に移動することができる。
【0106】さらに、オブジェクトがどのオブジェクト
と通信しているかといったオブジェクト間通信状況を把
握し、その上で稼動中の任意のオブジェクトをそのアク
セス頻度等を考慮して、通信トラフィックの増大要因と
なっているオブジェクトを任意のコンピュータ上に移動
して最適化することができる。
【0107】さらに、移動後のサーバコンピュータ上で
利用されないオブジェクトのクラス定義は転送しないた
め、ネットワークトラフィックを削減することができ
る。
【0108】また、呼出されるオブジェクトが移動した
場合に、呼出していたオブジェクト側は、新たに移動先
のオブジェクトに対して接続切替を必要とするが、呼出
す側のオブジェクト自身に、接続切替が生じたことを意
識させずに接続切替えを行なうことによって、プログラ
マがプログラミング時に接続切替を意識したプログラミ
ングを不要にすることができる。
【図面の簡単な説明】
【図1】本発明に係る分散オブジェクト管理システムの
実施形態を示すブロック構成図である。
【図2】一般的な分散オブジェクト環境でのサーバオブ
ジェクトに対する接続の構成例を示す図である。
【図3】本発明に係るサーバオブジェクトに対する接続
の構成例を示す図である。
【図4】本発明に係るサーバオブジェクトのインタフェ
ースを宣言したインタフェース定義例を示す図である。
【図5】本発明に係るサーバオブジェクトのインタフェ
ース定義から生成されるログ収集オブジェクトのクラス
定義例の一部を示す図である。
【図6】本発明に係るサーバオブジェクトのインタフェ
ース定義から生成されるインタフェースオブジェクトの
クラス定義例の一部を示す図である。
【図7】本発明に係るインタフェースオブジェクトの構
成例を示す図である。
【図8】本発明に係る各サーバコンピュータ上で稼動す
るローカルオブジェクト位置管理プログラムの構成例を
示す図である。
【図9】本発明に係る管理コンピュータ上で稼動するグ
ローバルオブジェクト位置管理プログラムの構成例を示
す図である。
【図10】本発明に係るサーバオブジェクト移動処理の
準備処理の概要を示した図である。
【図11】本発明に係るサーバオブジェクト移動処理の
概要を示した図である。
【図12】本発明に係るサーバオブジェクト移動後の再
接続処理の概要を示した図である。
【図13】本発明に係るグローバルオブジェクト位置管
理プログラムが管理するグローバルオブジェクト表の、
オブジェクト移動前、移動後の変化の様子を示した図で
ある。
【図14】本発明に係る移動元コンピュータと移動先コ
ンピュータ上で稼動するローカルオブジェクト位置管理
プログラムが管理するローカルオブジェクト位置表の移
動前と移動後の変化の様子を示した図である。
【図15】本発明に係る各サーバコンピュータ上でログ
収集オブジェクトによってログ情報データベースに格納
されるローカルログ情報テーブルの例を示した図であ
る。
【図16】本発明に係る管理コンピュータ上のログ情報
データベースに格納されるグローバルログ情報テーブル
の例を示した図である。
【図17】本発明に係るネットワークトラフィック量を
正規化するためのサーバコンピュータ間のネットワーク
距離を計算するための計算式の例を示す説明図である。
【図18】本発明に係るオブジェクト転送プログラムが
メモリ中に確保するオブジェクト参照頻度テーブルの構
成例を示した図である。
【図19】本発明に係るサーバコンピュータ上に格納さ
れるオブジェクト格納位置ファイルの構成例を示した図
である。
【図20】本発明に係るネーミングサービスプログラム
がメモリ中に確保するオブジェクトが格納されている場
所を検索するために利用するオブジェクト格納位置テー
ブルの構成例を示したものである。
【図21】本発明に係る管理コンピュータの表示装置に
表示されるオブジェクト間通信量の表示例を示す図であ
る。
【図22】本発明に係る管理コンピュータの表示装置に
表示されるオブジェクト移動位置候補表の例を示す図で
ある。
【図23】本発明に係る管理コンピュータ上で利用者が
オブジェクトの移動先のコンピュータを指示するユーザ
インタフェースの例を示す図である。
【図24】本発明に係る管理コンピュータ上でオブジェ
クトが移動できるコンピュータを指定する際のユーザイ
ンタフェースの例を示す図である。
【図25】本発明に係る管理コンピュータ上で各コンピ
ュータごとに移動を受け付けるオブジェクトを指定する
際のユーザインタフェースの例を示す図である。
【図26】本発明に係る管理コンピュータの外部記憶装
置内に格納されるオブジェクト移動制限設定ファイルの
構成例を示した図である。
【図27】本発明に係る管理コンピュータ上で稼動する
オブジェクト移動管理プログラムの動作を示したフロー
チャートである。
【図28】本発明に係る各サーバコンピュータ上で稼動
するローカルオブジェクト位置管理プログラムの動作を
示したフローチャートである。
【図29】本発明に係る管理コンピュータ上で稼動する
グローバルオブジェクト位置管理プログラムの動作を示
したフローチャートである。
【図30】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト登録処理の動作を示し
たフローチャートである。
【図31】本発明に係るグローバルオブジェクト位置管
理プログラムのサーバオブジェクト登録処理の動作を示
したフローチャートである。
【図32】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト検索処理の動作を示し
たフローチャートである。
【図33】本発明に係るグローバルオブジェクト位置管
理プログラムのサーバオブジェクト検索処理の動作を示
したフローチャートである。
【図34】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト移動開始処理の動作を
示したフローチャートである。
【図35】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト送信処理の動作を示し
たフローチャートである。
【図36】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト受信処理の動作を示し
たフローチャートである。
【図37】本発明に係るローカルオブジェクト位置管理
プログラムのサーバオブジェクト接続切替処理の動作を
示したフローチャートである。
【図38】本発明に係るログ収集オブジェクトの動作を
示したフローチャートである。
【図39】本発明に係るインタフェースオブジェクトの
動作を示したフローチャートである。
【図40】本発明に係るインタフェースオブジェクトの
メソッド実行処理の動作を示したフローチャートであ
る。
【図41】本発明に係るインタフェースオブジェクトの
メソッド実行延期処理の動作を示したフローチャートで
ある。
【図42】本発明に係るインタフェースオブジェクトの
再接続処理の動作を示したフローチャートである。
【図43】本発明に係る転送後のサーバオブジェクトの
プログラム実行の動作を示したフローチャートである。
【図44】本発明に係る各サーバコンピュータ上で稼動
するオブジェクト転送プログラムの動作を示したフロー
チャートである。
【図45】本発明に係る管理コンピュータ上で稼動する
ネーミングサービスプログラムの動作を示したフローチ
ャートである。
【図46】本発明に係る管理コンピュータ上で稼動する
ネットワーク管理プログラムの動作を示したフローチャ
ートである。
【符号の説明】
1,2…サーバコンピュータ、3…管理コンピュータ、
4…クライアントコンピュータ、5…ネットワーク、1
1,21,31,41…端末装置、12,22,32,
42…外部記憶装置、13,23,33,43…入力装
置、14,24,35,45…通信ポート、34,44
…表示装置、11A,21A,31A,41A…CP
U,11B,21B,31B,41B…メモリ、12
A,22A…サービスプログラム、12B,22B,3
2B…通信ログ情報、12C,22C…ログ収集プログ
ラム、12D,22D…ローカルオブジェクト位置管理
プログラム、12E,22E…インタフェースオブジェ
クトプログラム、12F,22F…オブジェクト格納位
置ファイル、12G,22G…オブジェクト転送プログ
ラム、32A…グローバルオブジェクト位置管理プログ
ラム、32C…オブジェクト移動管理プログラム、32
D…オブジェクト移動制限設定ファイル、32E…ネー
ミングサービスプログラム、32F…ネットワーク管理
プログラム、42A…クライアントプログラム。
フロントページの続き (72)発明者 青柳 慶光 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 (72)発明者 中野 智行 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 Fターム(参考) 5B045 BB49 GG01 5B098 AA10 GA01 GC16 GD02 GD14

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークに接続されている複数のコ
    ンピュータ上で稼動する複数のオブジェクトから成るア
    プリケーションによってサービスを提供する分散オブジ
    ェクト環境におけるコンピュータシステムにおいて、 公開されている各オブジェクトのインタフェース定義か
    ら、当該オブジェクトのインタフェースを全て含むイン
    タフェースを保有する中継オブジェクトを作成し、この
    中継オブジェクトによってオブジェクト間の通信を中継
    し、個々のオブジェクトを管理することを特徴とする分
    散オブジェクト管理方法。
  2. 【請求項2】 前記中継オブジェクトは、管理インタフ
    ェースを持つインタフェースオブジェクトと通信ログ収
    集オブジェクトで構成されることを特徴とする請求項1
    記載の分散オブジェクト管理方法。
  3. 【請求項3】 前記通信ログ収集オブジェクトを用いて
    異なるコンピュータ間におけるオブジェクト間での通信
    ログを蓄積し、その通信ログに基づいて、呼出先のオブ
    ジェクトを他のコンピュータに移動させた後、呼出元の
    オブジェクトにおける呼出先を自動的に切り替えること
    を特徴とする請求項2記載の分散オブジェクト管理方
    法。
  4. 【請求項4】 前記通信ログ収集オブジェクトを用いて
    異なるコンピュータ間におけるオブジェクト間での通信
    ログを蓄積し、その通信ログに基づいて、通信量の多い
    呼出元と呼出先のオブジェクトを検出し、通信量が少な
    くなる呼出先のオブジェクトの配置コンピュータを選定
    し、その選定結果のコンピュータに呼出先のオブジェク
    トを移動させた後、呼出元のオブジェクトにおける呼出
    先を自動的に切り替えることを特徴とする請求項3記載
    の分散オブジェクト管理方法。
  5. 【請求項5】 前記通信ログ収集オブジェクトを用いて
    異なるコンピュータ間におけるオブジェクト間での通信
    ログを蓄積し、その通信ログに基づいて、通信量の多い
    呼出元と呼出先のオブジェクトを検出し、通信量が少な
    くなる呼出先のオブジェクトの配置コンピュータをシミ
    ュレーション演算によって求めた通信量と実際の通信量
    とを比較して選定し、その選定結果のコンピュータに呼
    出先のオブジェクトを移動させた後、呼出元のオブジェ
    クトにおける呼出先を自動的に切り替えることを特徴と
    する請求項3記載の分散オブジェクト管理方法。
  6. 【請求項6】 前記通信ログ収集オブジェクトを用いて
    異なるコンピュータ間におけるオブジェクト間での通信
    ログを蓄積し、その通信ログに基づいて、通信量の多い
    呼出元と呼出先のオブジェクトを検出し、通信量が少な
    くなる呼出先のオブジェクトの配置コンピュータの候補
    を選定し、その選定結果を表示装置に表示し、管理者か
    ら指示されたコンピュータに呼出先のオブジェクトを移
    動させた後、呼出元のオブジェクトにおける呼出先を自
    動的に切り替えることを特徴とする請求項3記載の分散
    オブジェクト管理方法。
  7. 【請求項7】 選定結果のコンピュータまたはコンピュ
    ータ群に対しオブジェクトを移動させる際に、移動先の
    コンピュータで受け入れが許可されているオブジェクト
    か否かを調べ、受け入れが許されている場合のみ移動さ
    せることを特徴とする請求項3〜6記載のいずれかの分
    散オブジェクト管理方法。
  8. 【請求項8】 選定結果のコンピュータに対しオブジェ
    クトを移動させる際に、移動元のコンピュータで、移動
    先のコンピュータがオブジェクトを移動させてよいと設
    定されているかどうかを調べ、移動が許されている場合
    のみ移動させることを特徴とする請求項3〜6記載のい
    ずれかの分散オブジェクト管理方法。
  9. 【請求項9】 移動させるオブジェクトが参照するオブ
    ジェクトのうち、参照される割合の高いオブジェクト群
    だけを選択して同時に移動させることを特徴とする請求
    項3〜8記載のいずれかの分散オブジェクト管理方法。
  10. 【請求項10】 移動させるオブジェクトが参照するオ
    ブジェクトのうち、参照される割り合いが指定割り合い
    より低いオブジェクト群は、当該オブジェクト移動時に
    は転送せずに、実際に利用される時に転送することを特
    徴とする請求項3〜8記載のいずれかの分散オブジェク
    ト管理方法。
  11. 【請求項11】 前記実際に利用される時に転送するオ
    ブジェクト群は、複数のコンピュータ上に転送対象のオ
    ブジェクトのクラス定義が存在する場合に、ネットワー
    ク上の転送量が少なくなるコンピュータを選択して転送
    することを特徴とする請求項10記載の分散オブジェク
    ト管理方法。
  12. 【請求項12】 呼出先のオブジェクトを他のコンピュ
    ータ上に移動した場合に、インタフェースオブジェクト
    を生成して呼出元オブジェクトに影響を与えずに接続先
    を切り替えることを特徴とする請求項3〜11記載のい
    ずれかの分散オブジェクト管理方法。
  13. 【請求項13】 前記インタフェースオブジェクトのク
    ラス定義を、呼出先のオブジェクトのインタフェース定
    義から自動的に生成することを特徴とする請求項12記
    載の分散オブジェクト管理方法。
  14. 【請求項14】 前記呼出先のオブジェクトに対して1
    対1で対応するインタフェースオブジェクトを設け、同
    じオブジェクトを呼出す呼出元オブジェクトに対するロ
    グ収集オブジェクトは1つのインタフェースオブジェク
    トを参照することを特徴とする請求項12〜13記載の
    いずれかの分散オブジェクト管理方法。
  15. 【請求項15】 前記通信ログ収集オブジェクトにより
    呼出元と呼出先のオブジェクトを特定し、収集した通信
    ログを呼出先のオブジェクトの情報とともに呼出し元コ
    ンピュータ上のログ情報データベースに保存することを
    特徴とする請求項3〜14記載のいずれかの分散オブジ
    ェクト管理方法。
  16. 【請求項16】 収集した通信ログを、呼出元のオブジ
    ェクトが存在するコンピュータ内に一時蓄積した後、管
    理用コンピュータのログ情報データベースに集約して蓄
    積することを特徴とする請求項15記載の分散オブジェ
    クト管理方法。
  17. 【請求項17】 収集した通信ログを、管理用コンピュ
    ータのログ情報データベースに集約して蓄積することを
    特徴とする請求項15記載の分散オブジェクト管理方
    法。
  18. 【請求項18】 前記通信ログとして、呼出元のオブジ
    ェクトが稼動しているコンピュータの名称または固有の
    アドレス、呼出先のオブジェクトの名称、呼出元のオブ
    ジェクト内で実行中のメソッドの名称、呼出先のオブジ
    ェクトが稼動しているコンピュータの名称または固有の
    アドレス、呼出先のオブジェクトの名称、呼出先のメソ
    ッドの名称、呼出し開始時刻、呼出し終了時刻の全部ま
    たはその一部を前記ログ情報データベースに格納するこ
    とを特徴とする請求項14記載の分散オブジェクト管理
    方法。
  19. 【請求項19】 前記ログ収集オブジェクトのクラス定
    義を各オブジェクトのインタフェース定義から自動生成
    することを特徴とする請求項2〜18記載のいずれかの
    オブジェクト管理方法。
  20. 【請求項20】前記ログ収集オブジェクトのクラス定義
    をユーザ入力によって生成することを特徴とする請求項
    2〜18記載のいずれかのオブジェクト管理方法。
  21. 【請求項21】 ネットワークに接続されている複数の
    コンピュータ上で稼動する複数のオブジェクトから成る
    アプリケーションによってサービスを提供する分散オブ
    ジェクト環境におけるコンピュータシステムにおいて、 公開されている各オブジェクトのインタフェース定義か
    ら、当該オブジェクトのインタフェースを全て含むイン
    タフェースを保有する中継オブジェクトを作成する手段
    と、 作成された中継オブジェクトによってオブジェクト間の
    通信を中継し、個々のオブジェクトを管理する手段と、
    を備えることを特徴とする分散オブジェクト管理システ
    ム。
  22. 【請求項22】 前記中継オブジェクトを用いて異なる
    コンピュータ間におけるオブジェクト間での通信ログを
    蓄積する手段と、 蓄積された通信ログに基づいて、呼出先のオブジェクト
    を他のコンピュータに移動させる手段と、 呼出元のオブジェクトにおける呼出先を自動的に切り替
    える手段と、をさらに備えることを特徴とする請求項2
    1記載の分散オブジェクト管理システム。
  23. 【請求項23】 前記中継オブジェクトを用いて異なる
    コンピュータ間におけるオブジェクト間での通信ログを
    蓄積する手段と、 蓄積された通信ログに基づいて、通信量の多い呼出元と
    呼出先のオブジェクトを検出し、通信量が少なくなる呼
    出先のオブジェクトの配置コンピュータを選定する手段
    と、 選定結果のコンピュータに呼出先のオブジェクトを移動
    させる手段と、 呼出元のオブジェクトにおける呼出先を自動的に切り替
    える手段と、 をさらに備えることを特徴とする請求項21記載の分散
    オブジェクト管理システム。
  24. 【請求項24】 移動対象になったオブジェクトを受け
    入れるか否かを設定する設定手段と、 選定結果のコンピュータまたはコンピュータ群に対しオ
    ブジェクトを移動させる際に、移動先のコンピュータに
    おける前記設定手段で受け入れ可が設定されているオブ
    ジェクトか否かを調べ、受け入れ可が設定されている場
    合のみ移動を許可する手段と、をさらに備えることを特
    徴とする請求項22〜23記載のいずれかの分散オブジ
    ェクト管理システム。
  25. 【請求項25】 移動元のコンピュータにおいてオブジ
    ェクトの移動を許可する移動先のコンピュータと許可し
    ないコンピュータを設定する設定手段と、 選定結果のコンピュータに対しオブジェクトを移動させ
    る際に、前記設定手段で移動可が設定されているコンピ
    ュータか否かを調べ、移動可が設定されている場合のみ
    移動を許可する手段と、をさらに備えることを特徴とす
    る請求項22〜23記載のいずれかの分散オブジェクト
    管理システム。
  26. 【請求項26】 前記中継オブジェクトを用いて異なる
    コンピュータ間におけるオブジェクト間での通信ログを
    蓄積する手段と、 蓄積された通信ログに基づいて通信量の多い呼出元と呼
    出先のオブジェクトを検出し、これらのオブジェクトを
    移動した場合の通信量の削減量を計算して表示する手段
    と、 呼出し側オブジェクトの移動先のコンピュータを指示す
    るユーザインタフェースと、 指示されたコンピュータに呼出し側オブジェクトを移動
    させる手段と、 呼出元のオブジェクトにおける呼出先を自動的に切り替
    える手段と、をさらに備えることを特徴とする請求項2
    1記載の分散オブジェクト管理システム。
  27. 【請求項27】 呼出先のオブジェクトを他のコンピュ
    ータ上に移動した場合に、呼出元オブジェクトに影響を
    与えずに接続先を切り替えるためのインタフェースオブ
    ジェクトを生成する手段をさらに備えることを特徴とす
    る請求項22〜26記載のいずれかの分散オブジェクト
    管理システム。
  28. 【請求項28】 前記インタフェースオブジェクトのク
    ラス定義を呼出先のオブジェクトのインタフェース定義
    から自動生成する手段を備えることを特徴とする請求項
    27記載の分散オブジェクト管理システム。
  29. 【請求項29】 前記インタフェースオブジェクトが呼
    出先を切り替えるための管理インタフェースを備え、1
    つの管理インタフェースで複数の呼出先オブジェクトを
    管理することを特徴とする請求項27〜28記載のいず
    れかの分散オブジェクト管理システム。
JP28018699A 1998-09-30 1999-09-30 分散オブジェクト管理方法およびシステム Pending JP2001067325A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28018699A JP2001067325A (ja) 1998-09-30 1999-09-30 分散オブジェクト管理方法およびシステム

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP27845598 1998-09-30
JP8439299 1999-03-26
JP10-278455 1999-06-23
JP11-84392 1999-06-23
JP17721999 1999-06-23
JP11-177219 1999-06-23
JP28018699A JP2001067325A (ja) 1998-09-30 1999-09-30 分散オブジェクト管理方法およびシステム

Publications (1)

Publication Number Publication Date
JP2001067325A true JP2001067325A (ja) 2001-03-16

Family

ID=27466967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28018699A Pending JP2001067325A (ja) 1998-09-30 1999-09-30 分散オブジェクト管理方法およびシステム

Country Status (1)

Country Link
JP (1) JP2001067325A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527008A (ja) * 2001-09-19 2005-09-08 ヒューレット・パッカード・カンパニー コンポーネントベースシステムのランタイム監視
JP2007519110A (ja) * 2004-01-21 2007-07-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 可動オブジェクトを有するグリッド対応仮想マシンのための方法およびシステム
JP2011186821A (ja) * 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム
JP2013058065A (ja) * 2011-09-08 2013-03-28 Seiko Epson Corp 制御装置の制御方法、及び、プログラム
US10635454B2 (en) 2015-02-03 2020-04-28 Alibaba Group Holding Limited Service management method and the device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527008A (ja) * 2001-09-19 2005-09-08 ヒューレット・パッカード・カンパニー コンポーネントベースシステムのランタイム監視
JP2007519110A (ja) * 2004-01-21 2007-07-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 可動オブジェクトを有するグリッド対応仮想マシンのための方法およびシステム
JP2011186821A (ja) * 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム
JP2013058065A (ja) * 2011-09-08 2013-03-28 Seiko Epson Corp 制御装置の制御方法、及び、プログラム
US10635454B2 (en) 2015-02-03 2020-04-28 Alibaba Group Holding Limited Service management method and the device

Similar Documents

Publication Publication Date Title
JP4729172B2 (ja) 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置
AU746391B2 (en) Method and system for facilitating distributed software development in a distribution unaware manner
US6098093A (en) Maintaining sessions in a clustered server environment
US6247056B1 (en) Method and apparatus for handling client request with a distributed web application server
US6225995B1 (en) Method and apparatus for incorporating state information into a URL
US7499983B2 (en) Web dispatch service
US5748897A (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US6710786B1 (en) Method and apparatus for incorporating state information into a URL
US5475819A (en) Distributed configuration profile for computing system
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
US8713089B2 (en) Dynamic lookup service in a distributed system
US20030126196A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
JPH10187639A (ja) 高可用性コンピュータ・サーバ・システム
US7500251B2 (en) Method and system for managing programs for web service system
US7934218B2 (en) Interprocess communication management using a socket layer
US8239862B2 (en) Apparatus, method, and computer program product for processing information
US6931427B2 (en) Method and apparatus for discovering data services in a distributed computer system
JP2001067325A (ja) 分散オブジェクト管理方法およびシステム
JP2002505474A (ja) ルックアップ・サービスに対するアクセスを容易にするための方法及びシステム
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
TWI381314B (zh) 中介軟體橋接系統及方法
JP2000137688A (ja) 多重プロセッサシステムおよびデ―タ処理方法
JP2002073578A (ja) 分散オブジェクトシステム
CN102171656A (zh) 检索对象

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040915

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040921

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050325