JPH1115662A - 分散オブジェクト管理システム - Google Patents

分散オブジェクト管理システム

Info

Publication number
JPH1115662A
JPH1115662A JP16852797A JP16852797A JPH1115662A JP H1115662 A JPH1115662 A JP H1115662A JP 16852797 A JP16852797 A JP 16852797A JP 16852797 A JP16852797 A JP 16852797A JP H1115662 A JPH1115662 A JP H1115662A
Authority
JP
Japan
Prior art keywords
node
message
class
identifier
program
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
JP16852797A
Other languages
English (en)
Inventor
Kazuhiro Kusunoki
和浩 楠
Tetsuo Nakakawaji
哲男 中川路
Haruyuki Otani
治之 大谷
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP16852797A priority Critical patent/JPH1115662A/ja
Publication of JPH1115662A publication Critical patent/JPH1115662A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 分散オブジェクト処理環境を構成する各ノー
ドの記憶容量を節約する。 【解決手段】 ネットワーク120に接続されたノード
111には、様々な資源に対応するクラスのプログラム
のモジュール蓄積されているクラス貯蔵庫109が接続
されている。ノード101のオブジェクト管理部106
は、起動時に自らに接続されている資源を認識し、その
資源に対応するクラスのプログラムを要求するメッセー
ジ112をノード111に送信する。ノード111は、
メッセージ112を受け取ると、要求されたプログラム
をクラス貯蔵庫109から取り出し、これを返信メッセ
ージ113としてノード101に返す。ノード101で
は、オブジェクト管理部106が、その返信メッセージ
に含まれるプログラムに基づき、オブジェクトを起動す
る。この構成によれば、ノード101は、クラスに対応
するプログラムを予め格納しておく必要がない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ネットワークに
接続された複数のノード上に存在する複数のオブジェク
ト同士の間でメッセージを交信して処理を実行する分散
オブジェクト処理環境における分散オブジェクト管理シ
ステムに関する。
【0002】
【従来の技術】図22は、例えば特開平5−46571
号公報に示された従来の分散オブジェクト管理システム
を説明するための図である。
【0003】図22において、ノード1003及びノー
ド1005は、ネットワーク1010を介して接続され
ており、同じ分散オブジェクト処理環境に含まれる。
【0004】ノード1003上に存在するオブジェクト
1001から送信されたメッセージ1002は、通信処
理モジュール1006によりネットワーク上に送出可能
なバイナリデータ1007に変換され、宛先オブジェク
トである1004の存在するノード1005に対して送
信される。バイナリデータ1007を受信したノード1
005内の通信処理モジュール1008は、それをノー
ド内部で処理可能なデータ形式に復号・解釈してメッセ
ージ1002を再生し、このメッセージ1002をオブ
ジェクト1004に渡す。オブジェクト1004は、こ
のメッセージ1002に対応した処理が実行される。
【0005】このシステムにおいては、各ノード100
3及び1005は、オブジェクトを、そのオブジェクト
のテンプレート(ひな形)であるクラスのプログラムモ
ジュールから、プロセスやスレッドなどとして生成す
る。各ノード1003及び1005は、オブジェクトに
対して分散オブジェクト処理環境内で一意に識別可能な
識別子(オブジェクト識別子と呼ぶ)を付与する。オブ
ジェクト間でのメッセージの交信においては、メッセー
ジの宛先オブジェクトをこのオブジェクト識別子により
特定している。
【0006】なお、分散オブジェクト管理機能を提供す
る製品としては、IONA社のOrbixやIBM社のDSOMが知られ
ており、これら製品でも上記と同様の方式で処理を行っ
ている。
【0007】
【発明が解決しようとする課題】上記のような従来の分
散オブジェクト管理システムでは、各ノードは、それぞ
れ、自らが生成するオブジェクトのテンプレートとなる
クラスのプログラムを保持している必要があった。この
ため、各ノードは、各クラスのプログラムを格納してお
く記憶装置を持っていなければならなかった。
【0008】また、上記のような従来の分散オブジェク
ト管理システムでは、各ノードが、オブジェクトを生成
した際にこれに対してオブジェクト識別子を付与する。
したがって、従来システムでは、オブジェクト識別子付
与のための機構がノードごとに必要であったり、オブジ
ェクト識別子について分散オブジェクト処理環境内での
一意性を確保するために、ネットワークの通信付加が大
きくなったりするという問題があった。
【0009】上記のような従来の分散オブジェクト管理
システムでは、オブジェクトを生成したノードは、その
オブジェクトに含まれる全てのメソッドのプログラムを
保持することになり、呼び出されることのないメソッド
がノード上にロードされる可能性がある。このような場
合、メモリ容量が無駄に使用されるという問題点があっ
た。
【0010】また、上記のような従来の分散オブジェク
ト管理システムでは、メッセージの宛先の指定はオブジ
ェクト単位であった。このため、ノード上に存在するす
べてのオブジェクトに同一のメッセージを送る場合に
も、逐一オブジェクトを指定してメッセージを送らなけ
ればならないため、通信負荷が高くなるといった問題点
があった。
【0011】また、分散オブジェクト処理環境では、あ
るオブジェクトに障害が発生した場合に、同じ動作をす
る他のオブジェクトに処理を代行させたい場合がある。
しかしながら、上記のような従来の分散オブジェクト管
理システムでは、このような場合、障害が発生したオブ
ジェクトと同じ動作をするオブジェクトをネットワーク
上で検索する必要があり、その検索処理の間、そのオブ
ジェクトに対するアクセスを行う業務を停止しなければ
ならないという問題があった。更に言えば、この業務の
停止により、この業務に続く他の業務の実行も遅れてし
まうという問題があった。
【0012】また、上記のような従来の分散オブジェク
ト管理システムでは、各ノードは、メッセージの送信の
ために分散オブジェクト処理環境に存在する全てのオブ
ジェクトのオブジェクト識別子を保持する必要があり、
新たなオブジェクトが追加された場合には、新しく追加
されたオブジェクトに対するアクセスができないという
問題や、オブジェクト識別子が変更になるとそのオブジ
ェクトにアクセスができなくなるという問題があった。
【0013】また、上記のような従来の分散オブジェク
ト管理システムでは、オブジェクト識別子は文字列やシ
ーケンス番号などの単一構造をしており、各ノードは、
当該ノード上に存在するオブジェクトについて、このよ
うなオブジェクト識別子を管理する手段を有している。
このような手段に障害が発生すると、ノード上の全ての
オブジェクトにメッセージが届かなくなるという問題点
があった。
【0014】また、上記のような従来の分散オブジェク
ト管理システムでは、分散オブジェクト処理環境での汎
用性を考えて、ノード上での実装言語環境に依存しない
オブジェクト識別子を採用している。このため従来のシ
ステムでは、ノードでは、メッセージを受け取ると、こ
のメッセージの宛先のオブジェクト識別子を実装言語環
境でのオブジェクトの識別子(例えばポインタアドレ
ス)に変換して、オブジェクトにメッセージを渡してい
る。したがって、従来のシステムでは、オブジェクト識
別子と実装言語環境での識別子との対応を管理するため
のテーブルが必要になり、メモリオーバヘッドが生じる
という問題があった。また、この対応管理のテーブルの
検索を行うことにより、処理オーバヘッドが生じるとい
う問題もあった。
【0015】また、分散オブジェクト処理環境において
は、一般に、ネットワーク上とノード内とではデータ形
式が異なるため、ノードとネットワークとの間でメッセ
ージをやり取りするには、両者間でデータ形式の変換を
行う必要がある。このため、上記のような従来の分散オ
ブジェクト管理システムでは、各ノードが、それぞれの
クラスについて定義されたメソッドの種類毎に、当該ノ
ード内での呼び出し形式とネットワーク上でのデータ形
式との間の形式変換を行なうデータ形式変換プログラム
(スタブ)を保持していた。したがって、従来のシステ
ムでは、同じ呼び出し形式を持つメソッドが複数種類存
在する場合でも、従来のシステムでは、各ノードは各メ
ソッドごとにデータ形式変換プログラムを保持するの
で、オブジェクトの必要とするメモリ領域が大きくなっ
てしまうという問題があった。
【0016】この発明は、上記のような問題点を解決し
ようとするためになされたものであり、各ノードにおけ
るオブジェクト生成や通信処理のために必要なプログラ
ム格納領域を節約したり、オブジェクト識別子の付与管
理のための通信付加を低減したりすることができる分散
オブジェクト管理システムを提供することを目的とす
る。
【0017】また、この発明は、複数のオブジェクトに
対して同一メッセージを発行するときのメッセージ送信
を効率化することができる分散オブジェクト管理システ
ムを提供することを目的とする。
【0018】また、この発明は、オブジェクトに障害が
起こった場合の処理の停滞を防止することができる分散
オブジェクト管理システムを提供することを目的とす
る。
【0019】また、この発明は、新たに生成されたオブ
ジェクトやオブジェクト識別子が変更されたオブジェク
トなどにもメッセージが送れる機構を提供することを目
的とする。
【0020】また、この発明は、ノード上に存在する全
てのオブジェクトに対するアクセスが一度に不可能とな
ることのない、障害に強い分散オブジェクト管理システ
ムを提供することを目的とする。
【0021】また、この発明は、オブジェクト識別子か
らノード内の実際のオブジェクトを特定する処理を簡略
化し、この処理のために必要となるメモリ容量や処理時
間を削減することを目的とする。
【0022】また、この発明は、形式変換プログラムの
共有化を図ることにより、オブジェクトの処理の実現の
ために必要となるメモリ容量を低減することを目的とす
る。
【0023】
【課題を解決するための手段】上記課題を解決するた
め、この発明に係る分散オブジェクト管理システムは、
ネットワークに接続された複数のノード上に存在する複
数のオブジェクト同士の間でメッセージを交信して処理
を実行する分散オブジェクト処理環境における分散オブ
ジェクト管理システムであって、オブジェクトのテンプ
レートである各クラスのプログラムを保持したクラス貯
蔵庫と、前記ノードからクラスのプログラムを要求する
メッセージを受信すると、要求されたプログラムを前記
クラス貯蔵庫から取り出し、このプログラムを含む返信
メッセージを生成して返信するクラス配給部と、を含
み、前記各ノードは、生成すべきオブジェクトのクラス
のプログラムを要求するメッセージを作成して前記クラ
ス配給部に送信し、この要求に対して前記クラス配給部
から受信したプログラムに基づきオブジェクトを生成す
るものである。
【0024】また、この発明は、前記クラス配給部が、
要求元のノードに対して返信するクラスのプログラムに
対してオブジェクト識別子を付与するオブジェクト識別
子管理部を有し、前記返信メッセージに対してこのオブ
ジェクト識別子を組み込んで前記要求元のノードに返信
し、この返信メッセージを受け取った前記要求元のノー
がは、当該返信メッセージに含まれるプログラムから生
成したオブジェクトを当該返信メッセージに含まれるオ
ブジェクト識別子によって管理するものである。
【0025】また、この発明は、各ノードが、当該ノー
ドに接続されている各資源を認識し、認識した各資源に
対応するクラスのプログラムを前記クラス配給部に要求
し、この要求に応じて前記クラス配給部から受信したプ
ログラムに基づき前記各資源に対応するオブジェクトを
生成するものである。
【0026】また、この発明は、前記クラス貯蔵庫が、
各クラスのプログラムを、メソッドに対応するプログラ
ムを単位として取り出し可能なように保持し、前記各ノ
ードが、実行すべきメソッドがオブジェクトに含まれな
い場合は、当該メソッドに対応するプログラムを前記ク
ラス貯蔵庫から取り出して前記オブジェクトに付加する
ものである。
【0027】また、この発明は、ノード上に存在する全
てのオブジェクトを代表する代表オブジェクトを前記各
ノードに設け、前記各ノードは、前記代表オブジェクト
に対するメッセージを受信した場合には、そのメッセー
ジを当該ノード上に存在する他の全てのオブジェクトに
対して同報するものである。
【0028】また、この発明は、オブジェクトから発せ
られるメッセージに対し、当該メッセージの宛先に指定
されたオブジェクトと同一動作を行うオブジェクトのオ
ブジェクト識別子を結合した宛先情報を生成する宛先処
理部と、前記宛先情報に基づき、前記メッセージを前記
宛先情報内のオブジェクト識別子に対応するオブジェク
トに送信し、このオブジェクトが前記メッセージを正常
に処理できなかった場合に、前記宛先情報に含まれる他
のオブジェクト識別子に対応するオブジェクトに前記メ
ッセージを転送する転送処理部と、を前記各ノードに設
けたものである。
【0029】また、この発明は、前記各ノードに、当該
ノード上の各オブジェクトを管理する管理オブジェクト
と、他のノードの前記管理オブジェクトに対して当該他
のノード上に存在するオブジェクトのオブジェクト識別
子を問い合わせ、この問い合わせの結果得られた情報に
基づきメッセージ送出の際の宛先の指定を行うメッセー
ジ交信処理部と、を設けたものである。
【0030】また、この発明は、前記各ノードの前記管
理オブジェクトには予め定められた固定的識別子をノー
ド内識別子として与え、前記メッセージ交信処理部は、
他のノードの管理オブジェクトに対して問い合わせを行
うときには、当該他のノードの識別子と前記固定的識別
子によって、その管理オブジェクトを特定するものであ
る。
【0031】また、この発明は、クラスのプログラムに
基づきオブジェクトを生成し、生成したオブジェクトに
対し、当該クラスを表す識別子と当該クラス内での当該
オブジェクトの識別子とから構成されるノード内識別子
を付与して管理するクラス管理部を、前記各ノードに対
し、クラスごとに設けたものである。
【0032】また、この発明は、各オブジェクトに対し
て、そのオブジェクトが存在するノードの識別子とその
ノードの実装言語環境におけるそのオブジェクトのポイ
ンタアドレスとからなるオブジェクト識別子を付与する
ものである。
【0033】また、この発明は、前記各ノードが、呼び
出し形式が共通するメソッドごとに1個の形式変換プロ
グラムを有し、各メソッドと形式変換プログラムとの対
応関係を管理し、メッセージの送信及び受信の際に、前
記対応関係に基づき当該メッセージに含まれるメソッド
に対応する形式変換プログラムを求め、この形式変換プ
ログラムを用いて、そのメソッドについて当該ノード内
での呼び出し形式と前記ネットワーク上でのデータ形式
との間でデータ形式変換を行うものである。
【0034】
【発明の実施の形態】
実施の形態1.この発明の実施の形態1を図面を参照し
て説明する。
【0035】図1は、この実施の形態1における分散オ
ブジェクト管理システムの主要構成を示したものであ
る。
【0036】図1において、ノード101及びノード1
11は、ネットワーク120に接続されており、それぞ
れCPUやメモリなどを有し、情報処理を実行すること
ができる装置である。ここで、ノード101には、資源
a(102)及び資源b(103)の2つの資源が接続
されているとする。なお、ここでいう資源は、ノードに
接続されるデバイスなどのハードウェア、またはソフト
ウェアの総称である。この実施の形態では、資源ごと
に、その資源に対応するオブジェクトがそれぞれ生成さ
れる。ここで生成されるオブジェクトは、対応する資源
をノード内にモデル化したものであり、外部からの資源
へのインタフェースとなっている。オブジェクトは、外
部からの指令に応じて資源を制御したり、資源の状態を
把握して外部に知らせたりする機能を有する。
【0037】例えば、一つ又は複数のセンサやアクチュ
エータ等(センサ等と略す)が接続されたコンピュータ
やシーケンサ等(コンピュータ等と略す)が生産ライン
の各所に設置され、これらコンピュータ等がネットワー
クで接続された分散型の生産管理システムを例にとって
考えると、コンピュータ等が「ノード」に相当し、コン
ピュータ等に接続されたセンサ等が「資源」に相当す
る。そして、コンピュータ等には、資源ごとにオブジェ
クトが生成される。
【0038】再び図1に戻り、オブジェクト管理部10
6は、ノード101上のオブジェクトの生成及び管理を
行うモジュールである。オブジェクト管理部106はソ
フトウエア的に実現することができる。オブジェクト管
理部106は、ノード101起動時に、当該ノード10
1に接続された各資源を検出し、これら各資源に対応す
るオブジェクトの生成処理を行う。
【0039】一方、ノード111は、クラス貯蔵庫10
9を有している。クラス貯蔵庫109には、様々な資源
に対応するクラスのプログラムのモジュールが蓄積され
ている。ノード111は、ネットワーク上に一つあれば
よい。これに対し、ネットワーク120には、ノード1
01と同様の構成のノードを複数設けることができる。
ここでは、クラス貯蔵庫109には、資源a(102)
に対応するクラスAのプログラム(クラスA対応プログ
ラム107)と、資源b(103)に対応するクラスB
のプログラム(クラスB対応プログラム108)とが蓄
えられている。また、ノード111は、他のノードから
の要求に応じてクラスのプログラムを配給するクラス配
給部110を有する。次に、この実施の形態におけるオ
ブジェクト生成の流れと、オブジェクト管理部106の
処理の流れを、図1及び図2を参照して説明する。
【0040】まず、ノード101では、起動時に、オブ
ジェクト管理部106が、当該ノード101に接続され
ている資源の種類を認識する(S201)。これを、ノ
ード101に接続されているすべての資源に対して繰り
返す(S202)。図1の例では、資源a(102)と
資源b(103)が認識されることになる。次に、オブ
ジェクト管理部106は、各資源に対応するオブジェク
トのテンプレート(ひな形)となるクラスを判別し、そ
れら各クラスに対応するクラス対応プログラムの配給を
依頼するメッセージ112を生成し、このメッセージ1
12を、クラス対応プログラムを貯蔵・管理するサーバ
であるノード111に対して送信する(S203)。す
なわち、この例では、資源aに対応するクラスAのプロ
グラムと、資源bに対応するクラスBのプログラムの配
給を依頼するメッセージ112が、ノード101からノ
ード111に送信される。なお、この機能を実現するた
め、オブジェクト管理部106は、資源とクラスとの対
応関係の情報を管理している。オブジェクト管理部10
6は、この情報から、認識した資源に対応するクラスの
識別情報(クラスの名称など)を求め、この識別情報を
引数として、クラス対応プログラムを要求するメッセー
ジを作成し、送信する。
【0041】ノード111では、クラス配給部110が
このメッセージ112を受け取り、要求されたクラスA
対応プログラム107とクラスB対応プログラム108
をクラス貯蔵庫109から取り出し、これらプログラム
を含んだ返信メッセージ113を作成してノード101
に返信する。
【0042】ノード101では、オブジェクト管理部1
06が、返信メッセージ113を受信し(S204)、
この返信メッセージ113に含まれるクラス対応プログ
ラムを取り出してプロセス(あるいはスレッド。以下、
プロセス等と略す)として起動し、このプロセス等に対
してオブジェクト識別子を付与する(S205)。そし
て、このS205の処理を、返信メッセージ113に含
まれる全てのクラス対応プログラムについて繰り返す
(S206)。このような処理により生成されたプロセ
スは、それぞれ、資源に対応するオブジェクトとして機
能する。図1の例では、資源a(102)に対応してオ
ブジェクトA1(104)が、資源b(103)に対応
してオブジェクトB1(105)が生成される。以降、
オブジェクトA1(104)とオブジェクトB1(10
5)は、他のノード上のオブジェクトからのメッセージ
を受け付け、メッセージに応じた処理を実行することが
可能となる。
【0043】以上のように、この実施の形態では、分散
オブジェクト処理環境を構成するノードのうちのどれか
一つがクラス対応プログラムを一括して保持・管理し、
そのノードから他のノードがクラス対応プログラムの配
給を受けてオブジェクトを生成する構成とした。この実
施の形態によれば、クラス対応プログラムを保持・管理
するノード以外の各ノードは、自分が生成するオブジェ
クトのテンプレートとなるクラスのプログラムを予め持
っている必要がない。したがって、これら各ノードに設
けるハードディスクなどの記憶装置の容量を節約するこ
とができる。また、同じクラス対応プログラムを各ノー
ドごとに重複して持たせる必要がないので、分散オブジ
ェクト処理環境全体としても記憶装置の容量を節約する
ことができる。また、この実施の形態によれば、クラス
対応プログラムが更新された場合も、クラス貯蔵庫の中
のプログラムのみを更新すればよく、各ノードでの更新
処理の手間を省くことができる。
【0044】なお、以上の説明では、オブジェクト管理
部106は、認識した全ての資源についてのクラス対応
プログラムを、1つのメッセージ112によりまとめて
要求していたが、この代わりに、認識した資源ごとに個
別にクラス対応プログラムを要求するメッセージを生成
・送信する構成としてもよい。また、同様に、返信メッ
セージ113も、クラスごとに個別に生成・返信する構
成としてもよい。
【0045】また、以上の例では、ノードの起動時にオ
ブジェクトを生成する場合を例にとって説明したが、こ
の実施の形態の適用範囲はこのような場合に限られな
い。例えば、ノードの起動時以外でも、オブジェクト管
理部106が、常に資源の接続状況をモニタし、新たな
資源が追加されたときに、その資源に対応するクラスを
求め、このクラスのクラス対応プログラムをノード11
1から配給してもらって、オブジェクトを生成する構成
とすることもできる。また、以上の例では、ノードに接
続された資源に対応するオブジェクトを生成する場合を
例にとって説明したが、この実施の形態の方法は、資源
に対応するオブジェクトでない一般のオブジェクトを生
成する場合にも適用可能である。この場合は、オブジェ
クト管理部106が、既存のオブジェクトからオブジェ
クト生成依頼メッセージを受け取り、このメッセージに
含まれるクラスの指定を抽出してクラス配給依頼のメッ
セージ112を生成し、このメッセージ112をノード
111のクラス配給部110に送信してクラス対応プロ
グラムの配給を依頼すればよい。
【0046】実施の形態2.この発明の実施の形態2を
図面を参照して説明する。
【0047】図3は、この実施の形態2における分散オ
ブジェクト管理システムの主要構成を示したものであ
る。図3において、図1と同様の構成要素には、同一の
符号を付し、詳しい説明を省略する。
【0048】図3において、ノード111のクラス配給
部110は、オブジェクト識別子管理部114を有す
る。オブジェクト識別子管理部114は、他のノードか
らクラス配給要求のあった際に、そのクラスから生成さ
れるオブジェクトの識別子を生成・付与し、オブジェク
ト識別子の管理を行う。このオブジェクト識別子管理部
114は、各オブジェクトを分散オブジェクト処理環境
で一意に識別できる識別子を生成する。
【0049】この実施の形態におけるオブジェクト生成
の流れを、図3を用いて説明する。まず、ノード101
の起動時に、オブジェクト管理部106が、当該ノード
101に接続されている資源を認識し、認識した資源に
対応するクラス対応プログラムの配給を依頼するメッセ
ージ112を作成して、ノード111に対して送信す
る。ここまでの処理は、実施の形態1と同じである。
【0050】次に、メッセージ112を受信したノード
111では、クラス配給部110が要求されたクラスA
対応プログラム107とクラスB対応プログラム108
をクラス貯蔵庫109から取り出す。オブジェクト識別
子管理部114は、取り出された各クラス対応プログラ
ムに対し、それぞれオブジェクト識別子を生成する。図
3の例では、クラスA対応プログラムに対してオブジェ
クト識別子A1が、クラスB対応プログラムに対してオ
ブジェクト識別子B1が生成される。なお、このとき生
成するオブジェクト識別子は、クラス対応プログラムの
要求元のノード101のネットワーク上でのアドレス
や、当該クラス自体の識別子を含む形で構成することが
好適である。クラス配給部110は、クラス対応プログ
ラムとこれについて生成されたオブジェクト識別子とを
対とし、これら各対を順に配列して返信メッセージ11
5を生成し、ノード101に対して返送する。
【0051】ノード101では、オブジェクト管理部1
06が、返信メッセージ115を受信し、この返信メッ
セージ115に含まれるクラス対応プログラムをプロセ
ス等として起動すると共に、そのプロセス等に対して前
記返信メッセージ115内の対応するオブジェクト識別
子を付与する。この処理を、返信メッセージ115に含
まれるすべてのクラス対応プログラムについて繰り返
す。この処理により、図3の例では、オブジェクトA1
(104)とオブジェクトB1(105)が生成され
る。生成されたオブジェクトは、以降、他のオブジェク
トからのメッセージを受け付けることが可能となる。
【0052】この実施の形態2によれば、それらオブジ
ェクトのオブジェクト識別子がノード111で一括管理
されているので、他のノードは、どのノード上のオブジ
ェクトのオブジェクト識別子でも、ノード111に問い
合わせることにより知ることができる。
【0053】以上説明したように、この実施の形態2に
よれば、オブジェクト識別子の一意性を確保するための
通信が不要なので、ネットワークの通信付加を低減する
ことができる。
【0054】実施の形態3.この発明の実施の形態3を
図面を参照して説明する。
【0055】図4は、この実施の形態における分散オブ
ジェクト管理システムの主要構成を示したものである。
また、図5は、このシステムのオブジェクト管理部10
6の処理動作を示すフローチャートである。なお、図4
において、図1と同様の構成要素については、同一の符
号を付して詳しい説明を省略する。
【0056】図4において、クラス対応プログラムを保
持・管理するノード111では、クラス対応プログラム
を、各メソッドのプログラムモジュールを分離取り出し
可能な方式で管理している。すなわち、図4の例におい
て、クラスAについてメソッドAA及びメソッドABの
2つのメソッドが定義されていたとすると、クラス貯蔵
庫109では、クラスA対応プログラム107の中に、
メソッドAA対応プログラム(305)とメソッドAB
対応プログラム(306)のモジュールが含まれ、それ
らメソッド対応プログラムごとに取り出し可能となって
いる。ノード101では、前述の実施の形態1と同様、
ノード111のクラス貯蔵庫109からクラス対応プロ
グラムを受け取り、これをプロセス等として起動して、
オブジェクトを生成する。ただし、このオブジェクト生
成の際には、ノード111からノード101へは、クラ
ス対応プログラムのうちの各メソッド対応プログラムを
除いた部分のみが配給され、ノード101では、オブジ
ェクトA1のうちメソッドを除いた本体部分だけが起動
される。そして、各メソッドは、必要が生じた場合に随
時ノード111からプログラムの配給を受け、オブジェ
クト本体に付加される。
【0057】この実施の形態における処理の流れを、そ
れぞれ図4と図5を用いて説明する。
【0058】ある時点で、ノード101上のオブジェク
トA1(104)に、メソッドAA(301)だけがロ
ードされ、メソッドAB(302)はロードされていな
いとする。ここで、他のオブジェクトから、オブジェク
トA1に対し、メソッドABを実行するメッセージが発
せられたとする。このとき、オブジェクト管理部106
は、このメッセージを受信し(S301)、このメッセ
ージを解析して、このメッセージを実行するためのメソ
ッドABがオブジェクトA1(104)にロードされて
いるかどうかを調べる(S302)。もし、既にロード
されていれば、オブジェクト管理部106は、オブジェ
クトA1に対してそのメッセージを転送する(S30
6)。
【0059】一方、メソッドABが未だロードされてい
ない場合は、オブジェクト管理部106は、オブジェク
トA1に対するメッセージをいったん保持するととも
に、クラス対応プログラムを管理するノード111に対
して、メソッドABの配給を要求するメッセージ303
を送信する(S303)。メッセージ303を受信した
ノード111では、要求されたメソッドAB対応プログ
ラム306をクラス貯蔵庫109から取り出し、ノード
101に対して返信メッセージ307として返信する。
ノード101では、オブジェクト管理部106がメッセ
ージ307を受信し(S304)、このメッセージに含
まれるメソッド対応プログラムを新たなプロセスかスレ
ッド、または何らかの実行主体として起動し、これをオ
ブジェクトA1に付加する(あるいは関連づける)(S
305)。そして、オブジェクト管理部106は、保持
していたオブジェクトA1に対するメッセージを、オブ
ジェクトA1に渡す(S306)。これを受け取ったオ
ブジェクトA1では、メソッドABを実行する。以降、
オブジェクトA1は、メソッドABに対応するメッセー
ジを実行することが可能となる。
【0060】このように、この実施の形態3によれば、
各ノードが、使われないメソッドを保持する必要がなく
なり、メモリ容量を節約することができる。
【0061】実施の形態4.この発明の実施の形態4を
図面に基づき説明する。
【0062】図6は、この実施の形態における分散オブ
ジェクト管理システムの主要構成を示した図である。図
6において、図1と同様の構成要素には、同一の符号を
付して詳しい説明を省略する。また、図7は、この実施
の形態におけるオブジェクト管理部の処理動作を示すフ
ローチャートである。
【0063】図6において、ノード101には、各資源
102及び103に対応するオブジェクト104及び1
05に加え、代表オブジェクトX401が存在する。代
表オブジェクトX401は、ノード101を代表する仮
想的なオブジェクトであり、保持する属性や対応する特
定の資源はない。代表オブジェクトX401は、ノード
101起動時に生成される。代表オブジェクトX401
は、ノード101内のオブジェクトすべてが受付可能な
メッセージを受け付けるように構成されている。この実
施の形態では、ノード101上の全てのオブジェクトに
対して同一のメッセージを送りたい場合には、この代表
オブジェクトX401にそのメッセージを1回送ればよ
い。
【0064】この実施の形態におけるオブジェクトへの
メッセージ送信の流れと、オブジェクト管理部106の
処理の流れを、図6及び図7を用いて説明する。
【0065】ノード101上の代表オブジェクトX40
1に対して他のノードからメッセージ402が送られて
きたとする。メッセージ402は、宛先である代表オブ
ジェクトX401のオブジェクト識別子Xと、メッセー
ジ内容“reset”を含んでいる。この“reset”は、オブ
ジェクトに対して、対応する資源のリセットを要求する
メッセージである。
【0066】図7において、メッセージ402を受信し
たオブジェクト管理部106は、まずメッセージから宛
先オブジェクトのオブジェクト識別子を取り出し(S4
01)、宛先オブジェクトが代表オブジェクトX(40
1)であるかどうかを判断する(S402)。この宛先
オブジェクトが、代表オブジェクトXでない場合は、そ
のオブジェクト識別子に対応するオブジェクトに対し、
そのメッセージを渡す(S403)。一方、宛先オブジ
ェクトが代表オブジェクトXであった場合には、オブジ
ェクト管理部106は、そのメッセージ402のメッセ
ージ内容が、そのノード101上の全てのオブジェクト
で受付可能であるか検査する。この検査は、メッセージ
402のメッセージ内容を、代表オブジェクトX(40
1)に登録されている受付可能メッセージ内容のリスト
と照合することにより行うことができる。もし、そのメ
ッセージ内容が全てのオブジェクトで受付可能なもので
なかった場合は、オブジェクト管理部106は、その旨
を示す返信メッセージを、メッセージ401の送信元に
対して返信する。一方、メッセージ401のメッセージ
内容が、ノード101上の全てのオブジェクトで受付可
能なものであった場合には、オブジェクト管理部106
は、ノード101上で動作している全てのオブジェクト
に対し、そのメッセージ内容“reset”を渡す(S40
4及びS405)。すなわち、オブジェクト管理部10
6は、そのメッセージ内容“reset”をノード101上
の全てのオブジェクトに同報する。この例では、ノード
101にはオブジェクトA1とオブジェクトB1が存在
するので、オブジェクト管理部106は、それらオブジ
ェクトA1及びオブジェクトB1に対してそれぞれメッ
セージ“reset”を渡す。この結果、これらオブジェク
トA1及びB1は、対応する資源である資源a及び資源
bをそれぞれリセットする。そして、オブジェクトA1
及びB1は、処理の結果を示す応答をオブジェクト管理
部106に返す。オブジェクト管理部106は、この応
答を収集(S406)し、これを全てのオブジェクトか
ら応答が返るまで繰り返す(S407)。全てのオブジ
ェクトからの応答が集まると、オブジェクト管理部10
6は、メッセージ402の送信元に対して、それら各オ
ブジェクトからの応答内容を含んだ返信メッセージを返
信する(S408)。
【0067】以上説明したように、この実施の形態4に
よれば、あるノード上に存在する全てのオブジェクトに
対して同一のメッセージを送る場合には、そのノードの
代表オブジェクトを宛先としてそのメッセージを一度送
信するだけでよいので、各オブジェクトごとに個別にメ
ッセージを送る必要がなくなり、ネットワークの通信負
荷を低減することができる。
【0068】なお、以上の説明では、オブジェクト管理
部106がノード101上の各オブジェクトへのメッセ
ージ内容の同報処理を行ったが、この代わりに、オブジ
ェクト管理部106がメッセージ401を代表オブジェ
クトXに渡し、代表オブジェクトX自体が各オブジェク
トへのメッセージ同報処理を行うよう構成してもよい。
【0069】実施の形態5.この発明の実施の形態5を
図面を参照して説明する。
【0070】図8は、この実施の形態5における分散オ
ブジェクト処理環境を示す図である。
【0071】図8では、ノードa(500)、ノードb
(510)及びノードc(520)の3つのノードがネ
ットワーク530に接続されている様子を示している。
そして、ノードa(500)にはオブジェクトA(50
4)が、ノードb(510)にはオブジェクトB(51
4)が、ノードc(520)にはオブジェクトC(52
4)が、それぞれ存在するとする。ここで、オブジェク
トB(514)及びオブジェクトC(524)は、同一
の動作をするオブジェクトであるとする。
【0072】また、各ノード500、510及び520
は、それぞれメッセージ振り分け処理部501、511
及び521を有している。メッセージ振り分け処理部5
01、511及び521は、メッセージの発信、受信、
転送処理を行うユニットであり、宛先処理部502、5
12及び522と、転送処理部503、513及び52
3を含む。宛先処理部502は、分散オブジェクト処理
環境内の各オブジェクトの動作内容(この動作内容は、
例えばオブジェクトのクラスによって表すことができ
る)とオブジェクト識別子の対応関係の情報を有してい
る。宛先処理部502は、この情報に基づき、自ノード
a(500)上のオブジェクトから発せられたメッセー
ジの宛先オブジェクトと同一動作を行う他のオブジェク
トを求める。そして、宛先処理部502は、宛先オブジ
ェクトのオブジェクト識別子と、これと同一動作をする
他のオブジェクトのオブジェクト識別子とを結合してこ
のメッセージの宛先情報を生成する。宛先処理部512
及び522も、これと同じ機能を有する。
【0073】また、転送処理部503は、前記宛先情報
を用いて、そのメッセージをオブジェクトに対して送信
する機能を有する。転送処理部513及び523も、転
送処理部503と同じ機能を有する。この実施の形態で
は、これら転送処理部503、513及び523によ
り、オブジェクトから発せられたメッセージを宛先オブ
ジェクトに送信し、もし宛先オブジェクトが障害等によ
りそのメッセージを処理できなかった場合は、前記宛先
情報を用いて、宛先オブジェクトと同一動作をする他の
オブジェクトにメッセージを転送して処理させるように
している。
【0074】これら転送処理部503、513及び52
3におけるメッセージ送信・転送の処理方式としては、
次の二つの方式がある。第一の方式は、メッセージを受
け取った各ノードで、そのノードの転送処理部がメッセ
ージの転送の要否を判定し、必要がある場合には転送を
行うという方式である。第二の方式は、最初にメッセー
ジを発したオブジェクトが存在するノードの転送処理部
で、一括してメッセージの転送の要否を判定し、メッセ
ージの送信・転送を管理するという方式である。
【0075】後で、これら第一及び第二の方式のそれぞ
れについて、その処理の手順を具体例を用いて説明す
る。
【0076】なお、これらメッセージ振り分け処理部5
01、511及び521は、例えばソフトウエアとして
構築することができる。
【0077】ここで、ノードa(500)上のオブジェ
クトA(504)が、ノードb(510)上のオブジェ
クトB(514)にメッセージを送信する場合における
この実施の形態5の処理の流れを説明する。
【0078】まず、ノードa(500)において、オブ
ジェクトA(504)が、オブジェクトBを宛先とする
メッセージを発した場合、いったんメッセージ振り分け
処理部501がこのメッセージを受け取る。メッセージ
振り分け処理部501内の宛先処理部502が、このメ
ッセージの宛先オブジェクト(この場合はオブジェクト
B)を検出し、この宛先オブジェクトと同一の動作をす
るオブジェクトを求める。そして、宛先処理部502
は、宛先オブジェクト及びこれと同一動作をするオブジ
ェクトのオブジェクト識別子を結合して、このメッセー
ジの宛先情報を作成する。
【0079】図9は、宛先情報のデータ構成の一例を示
している。この例では、宛先情報は、宛先オブジェクト
であるオブジェクトBのオブジェクト識別子と、オブジ
ェクトBと同一動作をするオブジェクトCのオブジェク
ト識別子とを結合したものとなっている。各オブジェク
ト識別子は、そのオブジェクトが存在するノードの位置
情報(例えばネットワーク上のアドレス)とそのオブジ
ェクトのノード内識別子(オブジェクトに対しノード内
で一意に割り当てられた識別子)との組合せから構成さ
れている。すなわち、宛先情報は、メッセージ発信元の
オブジェクトにより指定された宛先オブジェクトのオブ
ジェクト識別子を先頭にし、その後に宛先オブジェクト
と同一動作をする他のオブジェクトのオブジェクト識別
子が並ぶ形式となっている。
【0080】このようにして、オブジェクトA(50
4)からのメッセージについて宛先情報が生成される
と、次に転送処理部503が、この宛先情報に基づいて
そのメッセージを宛先オブジェクトに送信する。以降、
転送処理部503、513及び523により、そのメッ
セージは、そのメッセージを処理可能なオブジェクトに
到達するまで転送される。この送信・転送の手順を前述
の2つの方式についてそれぞれ説明する。
【0081】まず、前述の第一の方式について、図10
を参照して説明する。図10は、ノードb(510)の
転送処理部513の処理手順を示している。
【0082】この第一の方式では、ノードa(500)
の転送処理部503が、オブジェクトA(504)から
発せられたメッセージを、図9に示された宛先情報の先
頭のオブジェクト識別子を参照し、ノードb(510)
のオブジェクトB(514)に送信する。このとき、メ
ッセージは、宛先情報と共に送信される。ノードb(5
10)では、転送処理部513がこれを受け取る(S5
01)。転送処理部513は、受け取った宛先情報の先
頭にあるオブジェクト識別子を解析し、このメッセージ
がオブジェクトB(514)宛であることを検出し、こ
のメッセージをオブジェクトB(514)に渡す(S5
02)。次に、転送処理部513は、オブジェクトB
(514)からのメッセージ処理結果を待って、メッセ
ージが正常に処理されたかどうかを判定する(S50
3)。この判定において、メッセージが正常に処理され
たと判定した場合は、転送処理部513は、オブジェク
トBによるメッセージ処理結果を、メッセージの発信元
であるオブジェクトA(504)に返す(S504)。
【0083】一方、S503の判定において、メッセー
ジがオブジェクトB(514)で正常に処理されなかっ
たと判定した場合には、転送処理部513は、先に受信
したメッセージの宛先情報の先頭からオブジェクトB
(514)のオブジェクト識別子を取り除く。次に、転
送処理部513は、残った宛先情報の先頭にあるオブジ
ェクト識別子を参照して、オブジェクトB(514)と
同じ動作を行うオブジェクト(この例では、オブジェク
トC(524))が存在するノードの位置情報を取り出
す(S505)。そして、転送処理部513は、取り出
した情報から、オブジェクトC(524)が存在するノ
ードc(520)に対してコネクションを確立し(S5
06)、オブジェクトC(524)に対してメッセージ
を転送する(S507)。
【0084】転送されたメッセージを受け取ったノード
c(520)では、メッセージ振り分け処理部521の
転送処理部523が、前述のノードb(510)の転送
処理部513と同様の手順で処理を行う。
【0085】このようにして、オブジェクトA(50
4)から発せられたメッセージは、最終的に正常に処理
されるまで、オブジェクトB(514)と同一動作をす
るオブジェクトの間を順に転送されていく。そして、あ
るオブジェクトでメッセージが正常に処理されると、こ
のオブジェクトからメッセージ発信元のオブジェクトA
(504)に対して処理結果が返され、一連の処理が完
了する。
【0086】以上は、ノードa上のオブジェクトからメ
ッセージが発せられた場合の例であったが、ノードbや
ノードc上のオブジェクトからメッセージが発せられた
場合も、同様の手順で処理することができる。
【0087】次に、前述の第二の方式によるメッセージ
送信・転送処理について、図11を参照して説明する。
この第二の方式では、メッセージを発したオブジェクト
A(504)が存在するノードa(500)の転送処理
部503が、メッセージの送信・転送を一括して管理す
る。この手順は以下の通りである。
【0088】まず、転送処理部503は、オブジェクト
A(504)から受け取ったメッセージを、宛先処理部
502で生成された宛先情報を参照して、宛先であるオ
ブジェクトB(514)に送信する(S511)。オブ
ジェクトB(514)は、転送処理部513を介してこ
のメッセージを受け取り、このメッセージを処理し、そ
の処理結果を返す。ノードa(500)の転送処理部5
03は、オブジェクトB(514)から返された処理結
果をみて、メッセージが正常処理されたか否かを判定す
る(S512)。メッセージが正常処理されていた場合
は、オブジェクトB(514)から返された処理結果を
オブジェクトA(504)に渡し、処理を終了する。一
方、S512においてメッセージが正常処理されなかっ
たと判定した場合には、転送処理部503は、宛先情報
からオブジェクトB(514)と同じ動作をするオブジ
ェクト(この例では、オブジェクトC(524))のオ
ブジェクト識別子を取り出し、このオブジェクト識別子
からこのオブジェクトが存在するノード(この例ではノ
ードc)の位置情報を取り出す(S513)。そして、
転送処理部503は、取り出した情報に基づき、そのノ
ードcに対してコネクションを確立し(S514)、宛
先オブジェクトB(514)と同じ動作をするオブジェ
クトC(524)に対してメッセージを転送する(S5
15)。そして、転送処理部503は、オブジェクトC
(524)からの処理結果を待ち、この処理結果を受け
取ると、この処理結果からメッセージが正常処理された
かを判定する(S512)。以降、転送処理部503
は、メッセージが正常処理されるまで、S513,S5
14及びS515の処理を繰り返す。このようにして、
オブジェクトA(504)から発せられたメッセージ
は、最終的に正常に処理されるまで、オブジェクトB
(514)と同一動作をするオブジェクトの間を順に転
送されていく。
【0089】以上説明したように、この実施の形態によ
れば、メッセージの宛先オブジェクトが障害等によりメ
ッセージの処理ができない場合は、即座にそのメッセー
ジを宛先オブジェクトと同一動作をする他のオブジェク
トに転送して処理させることができる。
【0090】実施の形態6.この発明の実施の形態6を
図面を参照して説明する。図12は、この実施の形態6
における分散オブジェクト処理環境を示す図である。
【0091】図12は、ネットワーク620に、ノード
a(600)及びノードb(610)が接続された状態
を示している。図12において、オブジェクトA(60
2)、オブジェクトB(613)及びオブジェクトC
(614)は、例えばノードに接続された資源などに対
応する、一般的なオブジェクトである。一方、管理オブ
ジェクト612は、ノードb(610)上に存在するオ
ブジェクトについての情報を管理するオブジェクトであ
り、ノードb(610)上に存在する各オブジェクトの
種類(オブジェクトの「種類」は、実施の形態1でいう
「クラス」に相当する)及びオブジェクト識別子などを
把握している。なお、図12には図示していないが、ノ
ードa(600)にも、ノード内のオブジェクトの情報
を管理する管理オブジェクトが設けられている。
【0092】また、メッセージ交信処理部601及び6
11は、ネットワーク620を介したオブジェクト間の
メッセージ交信処理を実行するユニットである。メッセ
ージ交信処理部601及び611は、分散オブジェクト
処理環境内に存在する各オブジェクトごとに、名称(種
類名)とそのオブジェクト識別子との対応情報を有して
いる。オブジェクトは、他のオブジェクトにメッセージ
を送る際に、その宛先を、オブジェクトの種類名で指定
する。メッセージ交信処理部601及び611は、自ノ
ード上のオブジェクトから発せられたメッセージの宛先
を、前記対応情報を参照してオブジェクト識別子に変換
し、ネットワーク620を介して送信する。
【0093】ここで、この実施の形態では、各オブジェ
クトのオブジェクト識別子は、オブジェクトが存在する
ノードのネットワーク上での位置情報と、そのノード内
でそのオブジェクトに一意的に割り当てられたノード内
識別子とにより構成する。ノードのネットワーク上での
位置情報としては、例えばTCP/IPプロトコルにお
けるIPアドレスなどを用いることができる。ここで、
この実施の形態に特徴的なことには、各ノードの管理オ
ブジェクトに対しては、同一の固定的識別子をノード内
識別子として付与している。図13は、オブジェクト識
別子の例を示した図である。図13において、(a)は
ノードb上の管理オブジェクト612のオブジェクト識
別子であり、(b)はノードb上のオブジェクトBのオ
ブジェクト識別子である。ここで、ノードaの管理オブ
ジェクトとノードbの管理オブジェクトとでオブジェク
ト識別子を比較したとすると、両者はノードの位置情報
が異なるだけで、ノード内識別子の部分は共通(すなわ
ち、同じ固定的識別子)である。管理オブジェクト以外
のオブジェクトについては、そのオブジェクトが生成さ
れたときに、ノード内で一意的なノード内識別子が付与
される。
【0094】ここで、ノードa(600)のオブジェク
トA(602)が、ノードb(610)上のオブジェク
トにメッセージを送る場合を考える。このためには、ノ
ードa(600)のメッセージ交信処理部601は、ノ
ードb(610)上のオブジェクトのオブジェクト識別
子を知っていなければならない。ところが、各ノードで
は、オブジェクトの追加や削除が随時行われる可能性が
あり、メッセージ交信処理部601が、ノードb上の各
オブジェクトのオブジェクト識別子の情報を有している
とは限らない。そこで、メッセージ送信を可能とするた
めには、ノードaは、ノードbの各オブジェクトのオブ
ジェクト識別子の最新の情報を獲得する必要がある。以
下、このオブジェクト識別子の獲得処理について説明す
る。
【0095】ここで、ノードaのメッセージ交信処理部
601は、ノードbのネットワーク位置情報は知ってい
るが、ノードb上に存在するオブジェクトの種類や個数
などの情報を事前には全く知らないと仮定する。ネット
ワーク位置情報は、IPアドレスなどのように、各ノー
ドに対して固定的に割り当てられていることが一般的な
ので、このような仮定は適切なものである。
【0096】この仮定の下で、ノードaのメッセージ交
信処理部601は、ノードb上の各オブジェクトに対す
るメッセージ送信を可能にするために、ノードb上に存
在するオブジェクトの情報を次の様にして獲得する。
【0097】まず、メッセージ交信処理部601は、ノ
ードbのネットワーク位置情報と、管理オブジェクトに
共通する固定的識別子とを組み合わせて、図13(a)
に示すようなオブジェクト識別子を生成し、このオブジ
ェクト識別子を宛先として、オブジェクト識別子リスト
を要求するメッセージを送信する。
【0098】ノードbでは、図14に示す手順で処理が
行われる。図14は、ノードbのメッセージ交信処理部
611の処理手順を示した図である。まず、メッセージ
交信処理部611は、ノードaからのメッセージを受信
(S621)した後で、そのメッセージの宛先のオブジ
ェクト識別子を解析する(S622)。メッセージ交信
処理部611は、次に解析したオブジェクト識別子の中
のノード内識別子が管理オブジェクトに対応する固定的
識別子かどうかを判定する(S623)。この判定にお
いて、ノード内識別子が固定的識別子であると判定した
場合には、メッセージ交信処理部611は、S621で
受信したメッセージを、管理オブジェクト612に渡す
(S624)。管理オブジェクト612は、ノードb上
に存在するオブジェクトの種類及びオブジェクト識別子
の対応関係を表すリストを保持しており、メッセージ交
信処理部611から受け取ったメッセージに対し、この
リストを含んだ返信メッセージを返信する。メッセージ
交信処理部611は、メッセージ処理結果としてこの返
信メッセージをノードaのメッセージ交信処理部601
に返す(S627)。メッセージ交信処理部601は、
このとき受け取ったノードbのリストを用いて、保持し
ている対応情報の内容を更新する。
【0099】これにより、メッセージ交信処理部601
は、ノードa上のオブジェクトから発せられたメッセー
ジを正しくノードb上のオブジェクトへ送信することが
可能になる。
【0100】なお、メッセージ交信処理部611は、S
623で解析したオブジェクト識別子の中のオブジェク
ト識別情報が固定識別子でない場合には、受信したメッ
セージの宛先が、ノード内で管理するオブジェクトのど
れにあたるかを解析する(S625)。そして、この結
果求められたオブジェクトに対してメッセージを渡し、
その処理を依頼する(S626)。最後に、メッセージ
交信処理部611は、そのオブジェクトからのメッセー
ジ処理結果を、メッセージ送信元に返す(S627)。
【0101】このように、この実施の形態6では、各ノ
ードのメッセージ交信処理部は、他ノードの管理オブジ
ェクトに対して問い合わせを行うことにより、その他ノ
ード上に存在するオブジェクトの種類やそのオブジェク
ト識別子を知ることができる。この問い合わせのタイミ
ングとしては、まずノードを起動した際がある。すなわ
ち、ノードが起動されると、そのノードのメッセージ交
信処理部がネットワークに接続された他の各ノードの資
源管理オブジェクトに対して問い合わせを行い、各ノー
ド上に存在するオブジェクトを知る。そして、その後
は、各ノードのメッセージ交信処理部が定期的に他のノ
ードに対して問い合わせを行うという方式を採ることも
できるし、あるいは、自ノード上のオブジェクトからメ
ッセージ送信の依頼が来たときに、メッセージ交信処理
部がその送信先のノードに対してオブジェクトの構成を
問い合わせるという方式を採ることもできる。この実施
の形態6によれば、このような構成により、各ノード上
でオブジェクトの追加や削除が動的に行われるような場
合でも、最新の状況に合わせてメッセージ送信を行うこ
とができる。
【0102】実施の形態7.この発明の実施の形態7を
図面を参照して説明する。
【0103】この実施の形態7は、各ノードにおけるオ
ブジェクトに対するオブジェクト識別子の付与方式に関
するものである。
【0104】図15は、分散オブジェクト処理環境を構
成する1つのノード(仮にその名称を「ノードb」とす
る)の要部構成を説明するための図である。
【0105】図15に示すように、ノードb(700)
は、クラスA管理部701及びクラスB管理部702を
有している。クラスA管理部701は、ノードb(70
0)内において、Aというクラスのオブジェクトの生成
及び管理を行う。同様にクラスB管理部702は、Bと
いうクラスのオブジェクトの生成及び管理を行う。この
ようなクラス管理部は、ノード上に生成可能な各クラス
ごとに設けられる。なお、図15は、ノードb(70
0)に、クラスAから生成された2つのオブジェクト7
03及び704と、クラスBから生成されたオブジェク
ト705とが存在していることを示している。オブジェ
クト703は、クラスAから1番目に生成されたオブジ
ェクトであり、オブジェクト704は、クラスAから2
番目に生成されたオブジェクトである。
【0106】オブジェクト識別子は、オブジェクトを生
成したクラス管理部により付与される。オブジェクト識
別子は、図16に示すように、オブジェクトの存在する
ノードの位置情報(例えばIPアドレス)とノード内識
別子とから構成される。そして、ノード内識別子は、そ
のオブジェクトの属するクラスのクラス識別子と、その
オブジェクトがそのクラスから何番目に生成されたかを
示す生成順を表す番号から構成される。クラス識別子と
しては、クラスの名称を用いてもよい。このようなオブ
ジェクト識別子生成方式によれば、分散オブジェクト処
理環境内におけるオブジェクト識別子の一意性が自動的
に満足される。なお、ノード内識別子の生成に当たって
クラス識別子と組み合わせるのは、クラス内での生成順
に限らず、クラス内で当該オブジェクトを一意に識別で
きる識別子であれば何でもよい。
【0107】例えば、クラスAのオブジェクトの生成要
求があると、クラスA管理部701がクラスAのプログ
ラムからオブジェクトを生成し、更に自ノードの位置情
報、クラスAのクラス識別子、及びそのオブジェクトの
クラスAにおける生成順の情報からオブジェクト識別子
を生成して、生成したオブジェクトに対して付与する。
【0108】そして、クラスA管理部701は、生成し
た各オブジェクトのオブジェクト識別子を管理し、他ノ
ード等からメッセージが来た場合には、宛先に示された
オブジェクト識別子から宛先オブジェクトを特定し、そ
の宛先オブジェクトにメッセージを渡す。
【0109】この実施の形態7では、クラスごとに、そ
のクラスに属するオブジェクトのオブジェクト識別子を
管理するクラス管理部を設けたことにより、あるクラス
のクラス管理部に障害が起こったとしても、この他のク
ラスに属するオブジェクトには影響が及ばない。したが
って、この実施の形態7によれば、ノード上の全てオブ
ジェクトに対して同時にメッセージが届かなくなってし
まうという問題は、極めて起こりにくくなる。
【0110】実施の形態8.この発明の実施の形態8を
図面を参照して説明する。
【0111】図17は、この実施の形態8における分散
オブジェクト処理環境の概略構成を示した図である。
【0112】図17では、ネットワーク820には、2
つのノード、すなわちノードa(800)とノードb
(810)とが接続されている。ここで、ノードa(8
00)にはオブジェクト802が存在し、ノードb(8
10)にはオブジェクト812、813及び814の3
つのオブジェクトが存在するとする。
【0113】この実施の形態8は、オブジェクト識別子
の付与方式に関するものである。オブジェクト識別子
は、当該オブジェクトの存在するノードの位置情報(例
えばIPアドレス)と、当該オブジェクトに対してノー
ド内で一意的に付与されるノード内識別子から構成され
る。この実施の形態8では、このノード内識別子とし
て、ノード内での実装言語環境におけるオブジェクトの
ポインタアドレスを用いる。すなわち、オブジェクト
は、各ノードの実装言語環境において、クラス対応プロ
グラムからプロセス等として起動され、このときそのプ
ロセス等には実装言語環境において一意に識別可能なポ
インタアドレスが与えられる。実施の形態8では、この
実装言語環境においてローカルに与えられたポインタア
ドレスを、そのまま分散オブジェクト処理環境における
グローバルなオブジェクト識別子の一部として用いる。
【0114】図18は、ノード内識別子として、ポイン
タアドレスを用いた場合の図17の各オブジェクトのオ
ブジェクト識別子の構成を示す。例えば、オブジェクト
812は、ノードb(810)の位置情報と、オブジェ
クト812のプロセス等に与えられたポインタアドレス
から構成される。
【0115】メッセージ交信処理部801及び802
は、オブジェクトから発せられたメッセージの交信処理
を実現するためのユニットである。
【0116】以下、ノードa(800)のオブジェクト
802からノードb(810)のオブジェクト812に
メッセージを送る場合を例にとり、この実施の形態8に
おけるメッセージ送信処理の手順を説明する。
【0117】ノードa(800)のオブジェクト802
は、図18で示したオブジェクト識別子を宛先に指定し
て、メッセージを発信する。メッセージ交信処理部80
1は、このメッセージの宛先のオブジェクト識別子のノ
ードの位置情報に基づき、このメッセージをノードb
(810)に送信する。ノードb(810)では、メッ
セージ交信処理部811が図19に示す手順で、このメ
ッセージを宛先であるオブジェクト812に渡す。
【0118】すなわち、自ノードbに対するメッセージ
を受信(S801)したメッセージ交信処理部811
は、宛先のオブジェクト識別子からノード内識別子を取
り出す(S802)。この実施の形態8においては、こ
のノード内識別子は、実際にオブジェクトが動作する実
行言語環境におけるポインタアドレスを採用しているた
め、そのノード内識別子をそのままで、実装言語環境内
における宛先のオブジェクト812を特定することがで
きる。すなわち、従来のシステムでは、実装言語環境と
は無関係に定められたノード内識別子を、そのノードの
実装言語環境内でのポインタアドレスに変換しないと、
オブジェクトが特定できなかったが、この実施の形態8
の方式によれば、その変換の手間を省くことができる。
メッセージ交信処理部811は、そのノード内識別子
(すなわちポインタアドレス)を指定して、宛先のオブ
ジェクト812に対してメッセージを渡す(S80
3)。そして、メッセージ交信処理部は、宛先のオブジ
ェクト812からメッセージ処理結果が来ると、これを
メッセージ送信元のオブジェクト802に返して(S8
04)メッセージ処理を完了する。
【0119】このように、この実施の形態8によれば、
ノード内識別子として、ノードの実装言語環境において
当該オブジェクトに与えられるポインタアドレスをその
まま用いたことにより、ノードの実装言語環境内におけ
るオブジェクトの特定に要する時間を短縮することがで
き、ひいてはオブジェクト処理の全体的な所要時間を短
縮することができる。
【0120】実施の形態9.この発明の実施の形態9を
図面を参照して説明する。
【0121】この実施の形態9は、ノードとネットワー
クとの間での、メッセージのデータ形式変換に関するも
のである。
【0122】図20は、この実施の形態9のシステムに
おけるあるノード101の主要構成を示したものであ
る。図20において、図1と同様の構成要素には、同一
の符号を付してその説明を省略する。
【0123】図20において、各メッセージ901及び
902は、それぞれ、宛先オブジェクトの指定と、メッ
セージ内容とから構成されている。メッセージ内容は、
メソッドの指定と、そのメソッドに対する引数から構成
される。メッセージ901はオブジェクトA1(10
4)へのメッセージであり、メソッド名は“get_p”、
引数は“a1”となっている。またメッセージ902はオ
ブジェクトB1(105)へのメッセージであり、メソ
ッド名は“get_q”、引数は“b1”となっている。
【0124】オブジェクト管理部106は、ノードとネ
ットワークとの間でのデータ形式変換の機能を有してお
り、ネットワークからメッセージを受け取った場合に
は、これをノード101内のデータ形式に変換して宛先
オブジェクトに渡し、逆にオブジェクトからのメッセー
ジ処理結果などをネットワーク上のデータ形式に変換し
て送出する。オブジェクト管理部106は、このデータ
形式変換のために、形式変換プログラムを有している。
従来のシステムでは、この形式変換プログラムをメソッ
ドごとに1つずつ持っていたが、この実施の形態9で
は、呼び出し形式が共通するメソッドごとに1つずつ持
たせることとする。すなわち、呼び出し形式が共通する
メソッドが複数あれば、形式変換プログラムは、それら
複数のメソッドに対して1つだけ設けられる。ここで、
メソッドの呼び出し形式とは、そのメソッドが呼び出さ
れるときにどのようなデータ型の引数をどういう順番で
取るかという引数構成や、処理結果の返り値のデータ型
を規定する情報である。
【0125】オブジェクト管理部106は、呼び出し形
式が共通するメソッド群とそのメソッド群に適用する形
式変換プログラムとの対応関係を、メソッド形式情報9
03として有している。すなわち、メソッド形式情報9
03は、呼び出し形式が共通する各メソッドの識別子
(例えばメソッド名など)904a及び904bと、こ
れら各メソッドに共通する形式変換プログラム905を
有している。メソッド形式情報903は、各呼び出し形
式ごとに(すなわち、各形式変換プログラムごとに)一
つずつ存在する。
【0126】この実施の形態におけるオブジェクトへの
メッセージ送信の流れと、オブジェクト管理部106の
処理の流れを、それぞれ図20と図21を用いて説明す
る。メッセージ901を受信したオブジェクト管理部1
06は、そのメッセージ901から宛先オブジェクトの
指定(ここではオブジェクトA1)、及びそのオブジェ
クトに対して指定するメソッドのメソッド名“get_p”
を取り出す(S901)。次に、オブジェクト管理部1
06は、保持している各メッセージ形式情報からメソッ
ド名“get_p”を含んでいるものを検索し、求められた
メッセージ形式情報903の中に含まれる形式変換プロ
グラム905を獲得する(S902)。ここでは、メソ
ッド“get_p”は文字列型を引数に持ち、整数型を返り
値とする形式だったとする。オブジェクト管理部106
は、得られた形式変換プログラムを実行してメッセージ
901から引数である文字列“a1”を得る(S90
3)。そして、オブジェクト管理部106は、このよう
にして得られたメソッド名“get_p”と引数“a1”とを
宛先であるオブジェクトA1に対して渡す(S90
4)。
【0127】次に、呼び出し形式は同じだが種類(処理
内容)の異なるメソッド“get_q”の実行を要求するメ
ッセージ902が、オブジェクトB1宛に到来したとす
る。このとき、オブジェクト管理部106は、上記のメ
ッセージ901の場合と同様の処理を行う。すなわち、
メソッド“get_q”はメソッド“get_p”と同じ呼び出し
形式なので、オブジェクト管理部106は、メソッド形
式情報903から形式変換プログラム905を獲得し
(S902)、これによってメッセージ902から引数
“b1”を取り出し(S903)、これを宛先のオブジェ
クトB1に渡す(S904)。
【0128】以上では、ネットワークから受け取ったメ
ッセージをノード内のデータ形式に復号する場合を例に
とって説明したが、ノード内からのデータをネットワー
ク上でのデータ形式に符号化する場合も、上記と同様に
して、呼び出し形式が共通するメソッド同士では、同じ
形式変換プログラムを共用することができる。
【0129】このように、この実施の形態9によれば、
異なるメソッドであっても同じ形式変換プログラムを共
有することが可能となり、ノード内に持っている形式変
換プログラムの数を減らしてメモり領域を節約すること
が可能となる。
【0130】なお、以上の例では、形式変換プログラム
をオブジェクト管理部106内に性的に保持していた
が、この代わりに、形式変換プログラムを、IDL(イ
ンタフェース定義言語)コンパイラを用いて動的に生成
することもできる。ただし、メソッドが異なればインタ
フェース名(すなわちメソッド名)が異なるので、従来
のIDLコンパイラでは、呼び出し形式が同じでも、イ
ンタフェース名ごと(すなわちメソッドごと)に別々に
形式変換プログラムのモジュールが生成されしまう。そ
こで、この実施の形態を実現するには、呼び出し形式が
共通するメソッド群に対して一つしか形式変換プログラ
ムを生成しないようIDLコンパイラのロジックを変更
する必要がある。
【0131】
【発明の効果】以上説明したように、この発明によれ
ば、オブジェクトのテンプレートとなるクラスのプログ
ラムをクラス貯蔵庫で一括して保持し、クラス配給部に
より各ノードに配給してオブジェクトを生成するので、
各ノードは、クラスのプログラムを保持している必要が
なく、記憶装置容量を節約できる。また、クラスのプロ
グラムが更新された場合にも、クラス貯蔵庫の中のプロ
グラムさえ交換すればよく、各ノード上のプログラムを
更新する手間を省くことができる。
【0132】また、この発明によれば、クラス配給部が
クラスのプログラムを配給する際にオブジェクト識別子
を決定するので、オブジェクト識別子の一意性の確保が
容易であり、また各ノード上でのオブジェクト識別子の
付与・管理のためのメモリ容量や通信負荷を軽減でき
る。
【0133】また、この発明によれば、ノードに接続さ
れている資源を認識し、各資源に対応するクラスのプロ
グラムをクラス配給部から受け取って、各資源に対応す
るオブジェクトを生成することができる。
【0134】また、この発明によれば、クラスのプログ
ラムをメソッドごとに取り出し可能に管理することによ
り、各ノードは、オブジェクトに定義されているメソッ
ドのプログラムを最初から全て持つ必要がなく、必要に
応じて適宜クラス貯蔵庫から取り出して起動することが
できるので、各ノードにおいてオブジェクトのために必
要なメモリ領域を節約することができる。
【0135】また、この発明によれば、ノード上に存在
するすべてのオブジェクトに同一のメッセージを送る場
合に、逐一各オブジェクトに対してメッセージを送らな
くても代表オブジェクトに対してメッセージを送れば済
むため、ネットワークの通信負荷を軽減することができ
る。
【0136】また、この発明によれば、宛先情報には、
宛先オブジェクトと同一動作をするオブジェクトのオブ
ジェクト識別子が含まれているので、宛先のオブジェク
トに障害が発生した場合でも、宛先情報を参照して、同
一動作をするたのオブジェクトにメッセージを転送する
ことができる。したがって、宛先オブジェクトでメッセ
ージが処理できなかったと判明したときに、同一動作を
するオブジェクトをネットワーク上で検索する必要がな
くなるので、業務の停止時間を短くすることができる。
さらに、同じ動作を行う別のオブジェクトへのメッセー
ジ送信が短時間で実行可能なことにより、続けて行う他
の業務に影響を与えることがない。
【0137】また、この発明によれば、各ノードは、他
のノードの管理オブジェクトに対して問い合わせを行う
ことにより、そのノードに存在するオブジェクトのオブ
ジェクト識別子を知ることができるので、各ノードにお
けるオブジェクトの動的な追加・削除、オブジェクト識
別子の変更などに追従することが可能となる。この構成
において、各ノードの管理オブジェクトには予め定めら
れた共通の固定的識別子をノード内識別子として与え、
他のノードの管理オブジェクトに対して問い合わせを行
うときには、そのノードの識別子(例えばノードの位置
情報)と前記固定的識別子によってその管理オブジェク
トを特定する構成とすれば、各ノードは、個々の管理オ
ブジェクトのオブジェクト識別子を記憶していなくて
も、ノードを指定するだけでそのノードの管理オブジェ
クトに問い合わせを行うことができる。
【0138】また、この発明によれば、オブジェクト識
別子をクラス階層と生成順を意識して構造化し、各クラ
ス管理部がそれぞれ対応するクラスから生成したオブジ
ェクトを管理するようにして、管理を分散させたことに
より、ノードの各オブジェクトに対するメッセージ送信
が一度に不可能になること可能性が低くなり、システム
の信頼性を向上させることができる。
【0139】また、この発明では、オブジェクト識別子
を、ノードの識別子(例えばノードの位置情報)とその
ノードの実装言語環境における当該オブジェクトのポイ
ンタアドレスとに基づき構成した。この構成により、各
ノードは、ネットワークからメッセージを受け取った場
合には、宛先に指定されたオブジェクト識別子から抽出
したポインタアドレスをそのまま用いて、宛先オブジェ
クトを特定することができる。したがって、この発明に
よれば、オブジェクト識別子をノードの実装言語環境内
でのポインタアドレスに変換する手間が不要となり、宛
先オブジェクトの特定を高速化して処理速度が向上させ
ることができる。
【0140】また、この発明によれば、同じ呼び出し形
式を持つ複数のメソッドが存在する場合には、ノード・
ネットワーク間のデータ形式の変換のための形式変換プ
ログラムをそれら複数のメソッドで共有することができ
るので、各ノードは、同じ内容のプログラムを各メソッ
ドごとに重複して保持する必要がなくなり、メモリ領域
を節約することができる。
【図面の簡単な説明】
【図1】 実施の形態1における分散オブジェクト管理
システムの主要構成を示した図である。
【図2】 実施の形態1におけるオブジェクト管理部の
処理手順を示すフローチャートである。
【図3】 実施の形態2における分散オブジェクト管理
システムの主要構成を示した図である。
【図4】 実施の形態3における分散オブジェクト管理
システムの主要構成を示した図である。
【図5】 実施の形態3におけるオブジェクト管理部の
処理手順を示すフローチャートである。
【図6】 実施の形態4における分散オブジェクト管理
システムの主要構成を示した図である。
【図7】 実施の形態4におけるオブジェクト管理部の
処理手順を示すフローチャートである。
【図8】 実施の形態5における分散オブジェクト処理
環境の概略構成を示した図である。
【図9】 実施の形態5において用いられる宛先情報の
データ構成を示した図である。
【図10】 実施の形態5における転送処理部の処理の
第一の方式の手順を示すフローチャートである。
【図11】 実施の形態5における転送処理部の処理の
第二の方式の手順を示すフローチャートである。
【図12】 実施の形態6における分散オブジェクト処
理環境の概略構成を示した図である。
【図13】 実施の形態6におけるオブジェクト識別子
の構成の例を示した図である。
【図14】 実施の形態6におけるメッセージ交信処理
部の処理手順を示すフローチャートである。
【図15】 実施の形態7におけるノードの要部構成を
示した図である。
【図16】 実施の形態7におけるオブジェクト識別子
の構成の例を示した図である。
【図17】 実施の形態8における分散オブジェクト処
理環境の概略構成を示した図である。
【図18】 実施の形態8におけるオブジェクト識別子
の構成の例を示した図である。
【図19】 実施の形態8におけるメッセージ交信処理
部の処理手順を示すフローチャートである。
【図20】 実施の形態9におけるノードの主要構成を
示した図である。
【図21】 実施の形態9におけるオブジェクト管理部
の処理手順を示すフローチャートである。
【図22】 従来の分散オブジェクト管理システムを説
明するための図である。
【符号の説明】
101,111 ノード、102 資源a、103 資
源b、104 オブジェクトA1、105 オブジェク
トB1、106 オブジェクト管理部、107クラスA
対応プログラム、108 クラスB対応プログラム、1
09 クラス貯蔵庫、110 クラス配給部、112
メッセージ、113 返信メッセージ、114 オブジ
ェクト識別子管理部。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークに接続された複数のノード
    上に存在する複数のオブジェクト同士の間でメッセージ
    を交信して処理を実行する分散オブジェクト処理環境に
    おける分散オブジェクト管理システムであって、 オブジェクトのテンプレートである各クラスのプログラ
    ムを保持したクラス貯蔵庫と、 前記ノードからクラスのプログラムを要求するメッセー
    ジを受信すると、要求されたプログラムを前記クラス貯
    蔵庫から取り出し、このプログラムを含む返信メッセー
    ジを生成して返信するクラス配給部と、 を含み、 前記各ノードは、生成すべきオブジェクトのクラスのプ
    ログラムを要求するメッセージを作成して前記クラス配
    給部に送信し、この要求に対して前記クラス配給部から
    受信したプログラムに基づきオブジェクトを生成するこ
    とを特徴とする分散オブジェクト管理システム。
  2. 【請求項2】 前記クラス配給部は、要求元のノードに
    対して返信するクラスのプログラムに対してオブジェク
    ト識別子を付与するオブジェクト識別子管理部を有し、
    前記返信メッセージに対してこのオブジェクト識別子を
    組み込んで前記要求元のノードに返信し、 この返信メッセージを受け取った前記要求元のノード
    は、当該返信メッセージに含まれるプログラムから生成
    したオブジェクトを当該返信メッセージに含まれるオブ
    ジェクト識別子によって管理することを特徴とする請求
    項1記載の分散オブジェクト管理システム。
  3. 【請求項3】 前記各ノードは、 当該ノードに接続されている各資源を認識し、認識した
    各資源に対応するクラスのプログラムを前記クラス配給
    部に要求し、この要求に応じて前記クラス配給部から受
    信したプログラムに基づき前記各資源に対応するオブジ
    ェクトを生成することを特徴とする請求項1又は請求項
    2に記載の分散オブジェクト管理システム。
  4. 【請求項4】 前記クラス貯蔵庫は、各クラスのプログ
    ラムを、メソッドに対応するプログラムを単位として取
    り出し可能なように保持し、 前記各ノードは、実行すべきメソッドがオブジェクトに
    含まれない場合は、当該メソッドに対応するプログラム
    を前記クラス貯蔵庫から取り出して前記オブジェクトに
    付加することを特徴とする請求項1記載の分散オブジェ
    クト管理システム。
  5. 【請求項5】 ノード上に存在する全てのオブジェクト
    を代表する代表オブジェクトを前記各ノードに設け、前
    記各ノードは、前記代表オブジェクトに対するメッセー
    ジを受信した場合には、そのメッセージを当該ノード上
    に存在する他の全てのオブジェクトに対して同報するこ
    とを特徴とする請求項1記載の分散オブジェクト管理シ
    ステム。
  6. 【請求項6】 オブジェクトから発せられるメッセージ
    に対し、当該メッセージの宛先に指定されたオブジェク
    トと同一動作を行うオブジェクトのオブジェクト識別子
    を結合した宛先情報を生成する宛先処理部と、 前記宛先情報に基づき、前記メッセージを前記宛先情報
    内のオブジェクト識別子に対応するオブジェクトに送信
    し、このオブジェクトが前記メッセージを正常に処理で
    きなかった場合に、前記宛先情報に含まれる他のオブジ
    ェクト識別子に対応するオブジェクトに前記メッセージ
    を転送する転送処理部と、 を前記各ノードに設けたことを特徴とする請求項1記載
    の分散オブジェクト管理システム。
  7. 【請求項7】 前記各ノードに、 当該ノード上の各オブジェクトを管理する管理オブジェ
    クトと、 他のノードの前記管理オブジェクトに対して当該他のノ
    ード上に存在するオブジェクトのオブジェクト識別子を
    問い合わせ、この問い合わせの結果得られた情報に基づ
    きメッセージ送出の際の宛先の指定を行うメッセージ交
    信処理部と、 を設けたことを特徴とする請求項1記載の分散オブジェ
    クト管理システム。
  8. 【請求項8】 前記各ノードの前記管理オブジェクトに
    は予め定められた固定的識別子をノード内識別子として
    与え、前記メッセージ交信処理部は、他のノードの管理
    オブジェクトに対して問い合わせを行うときには、当該
    他のノードの識別子と前記固定的識別子によって、その
    管理オブジェクトを特定することを特徴とする請求項7
    記載の分散オブジェクト管理システム。
  9. 【請求項9】 クラスのプログラムに基づきオブジェク
    トを生成し、生成したオブジェクトに対し、当該クラス
    を表す識別子と当該クラス内での当該オブジェクトの識
    別子とから構成されるノード内識別子を付与して管理す
    るクラス管理部を、前記各ノードに対し、クラスごとに
    設けたことを特徴とする請求項1記載の分散オブジェク
    ト管理システム。
  10. 【請求項10】 各オブジェクトに対して、そのオブジ
    ェクトが存在するノードの識別子とそのノードの実装言
    語環境におけるそのオブジェクトのポインタアドレスと
    からなるオブジェクト識別子を付与することを特徴とす
    る請求項1記載の分散オブジェクト管理システム。
  11. 【請求項11】 前記各ノードは、呼び出し形式が共通
    するメソッドごとに1個の形式変換プログラムを有し、
    各メソッドと形式変換プログラムとの対応関係を管理
    し、メッセージの送信及び受信の際に、前記対応関係に
    基づき当該メッセージに含まれるメソッドに対応する形
    式変換プログラムを求め、この形式変換プログラムを用
    いて、そのメソッドについて当該ノード内での呼び出し
    形式と前記ネットワーク上でのデータ形式との間でデー
    タ形式変換を行うことを特徴とする請求項1記載の分散
    オブジェクト管理システム。
JP16852797A 1997-06-25 1997-06-25 分散オブジェクト管理システム Pending JPH1115662A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16852797A JPH1115662A (ja) 1997-06-25 1997-06-25 分散オブジェクト管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16852797A JPH1115662A (ja) 1997-06-25 1997-06-25 分散オブジェクト管理システム

Publications (1)

Publication Number Publication Date
JPH1115662A true JPH1115662A (ja) 1999-01-22

Family

ID=15869681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16852797A Pending JPH1115662A (ja) 1997-06-25 1997-06-25 分散オブジェクト管理システム

Country Status (1)

Country Link
JP (1) JPH1115662A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020008052A (ko) * 2000-07-19 2002-01-29 요트.게.아. 롤페즈 분산 데이타베이스의 부분 오브젝트의 효과적인 전송 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020008052A (ko) * 2000-07-19 2002-01-29 요트.게.아. 롤페즈 분산 데이타베이스의 부분 오브젝트의 효과적인 전송 시스템

Similar Documents

Publication Publication Date Title
US6393026B1 (en) Data packet processing system and method for a router
US7231638B2 (en) Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data
US5526492A (en) System having arbitrary master computer for selecting server and switching server to another server when selected processor malfunctions based upon priority order in connection request
WO2018035856A1 (zh) 实现硬件加速处理的方法、设备和系统
EP0272835A2 (en) Virtual execution of programs on a multiprocessor system
CN111404931B (zh) 一种基于持久性内存的远程数据传输方法
JP2004536382A (ja) 置換可能なサービス品質機能のあるネットワーク通信チャネルコンポーネントを選択するために、置換可能なコンポーネントを用いるシステム、方法及び製造物
JP2024512209A (ja) IoT機器に基づく情報処理方法、関連機器及び記憶媒体
CN113010333A (zh) 适用于Linux服务器集群的多场景进程间通信方法
JPH1115662A (ja) 分散オブジェクト管理システム
CN112583927B (zh) 基于机载嵌入式实时操作系统的服务管理系统
JPH06301655A (ja) 分散処理システム
JP3741818B2 (ja) 多数のコンピュータが参加する情報分配応答システム
EP1242900B1 (en) Inter process communication in a distributed processing system
KR20010010275A (ko) 메시지큐와 공유메모리를 결합 이용한 프로세스 간의 통신 방법
JP3007340B1 (ja) 機能呼び出し方法、並列分散処理システムおよびコンピュータ
JPH1074146A (ja) オブジェクト指向分散システム
CN114936098B (zh) 一种数据流转方法、装置、后端设备及存储介质
JP2000151739A (ja) 情報処理装置、分散処理装置およびネットワークシステム
KR0143742B1 (ko) 다중처리 시스템을 위한 데이타 통신방법
KR100659172B1 (ko) 에이전트 플랫폼과 non-에이전트 플랫폼 간의 상호 운용시스템과 그 운용 방법 및 이를 기록한 기록매체
JPH09245003A (ja) 並列分散処理システムおよびその方法
JP2003141070A (ja) 装 置
JP2000137688A (ja) 多重プロセッサシステムおよびデ―タ処理方法
JPH10228453A (ja) 分散型コンピュータシステム及びそのコンピュータ並びに分散処理方法