JP2000056995A - ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置 - Google Patents

ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置

Info

Publication number
JP2000056995A
JP2000056995A JP10220465A JP22046598A JP2000056995A JP 2000056995 A JP2000056995 A JP 2000056995A JP 10220465 A JP10220465 A JP 10220465A JP 22046598 A JP22046598 A JP 22046598A JP 2000056995 A JP2000056995 A JP 2000056995A
Authority
JP
Japan
Prior art keywords
node
external reference
message
external
nodes
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
JP10220465A
Other languages
English (en)
Inventor
Shigeyasu Kobayashi
重康 小林
Hirotoshi Maekawa
博俊 前川
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.)
Digital Vision Laboratories Corp
Original Assignee
Digital Vision Laboratories 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 Digital Vision Laboratories Corp filed Critical Digital Vision Laboratories Corp
Priority to JP10220465A priority Critical patent/JP2000056995A/ja
Publication of JP2000056995A publication Critical patent/JP2000056995A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ネットワークで接続されたノード間でのオブ
ジェクト及びプロセスの移動技術及び機能の入れ替え技
術を提供すること。 【解決手段】 複数のノードが接続され、前記各複数の
ノード上に複数のオブジェクトが動作するネットワーク
システムにおいて、前記複数のオブジェクトの1つを第
1のノードから第2のノードに移動する際に、前記複数
のオブジェクトへの参照をオブジェクトの実行形式の所
在を示す内部参照と内部参照に対応付けられたネットワ
ーク全体で有効な外部参照とで保持し、第1のノードか
ら第2のノードに複製されたオブジェクトへの新たな参
照を第2のノード上での内部参照と第2のノード上での
内部参照に対応付けられた外部参照とで保持し、複製さ
れる前の第1のノード上のオブジェクトの内部参照を前
記第2のノード上のオブジェクトへの外部参照と対応付
けて、参照可能とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークで接
続されたノード間のオブジェクト及びプロセスの移動技
術に関する。
【0002】
【従来の技術】ネットワークを介して複数のコンピュー
タノードが接続され、前記複数のコンピュータノード上
で動作する複数のオブジェクト間でメッセージ通信を行
いながら処理を行う分散処理システムがある。
【0003】このような分散処理システムでは、あるノ
ード上で動作するオブジェクトを他のノードに動的に移
動したい場合がある。例えば、ある特定のノードにのみ
負荷が集中し、システム全体としてのスループットが減
少している場合がある。このような場合には、負荷の高
いノード上で動作しているオブジェクトを負荷の低いノ
ードに移動することで、負荷の分散が可能にになり、シ
ステム全体のスループットの増大が可能になる。
【0004】また、他の例として通信コストが高いノー
ド上に存在するオブジェクトと頻繁にメッセージ通信を
行って処理を行う場合がある。このような場合には、当
該オブジェクトを、まず、通信コストの低いノードに移
動した後に処理を開始することで、通信コストの低減が
可能になる。
【0005】このような場合、オブジェクトを移動する
と共に、メッセージ送信時にオブジェクトの所在を特定
するための情報である「参照」も変更する必要がある。
この参照の管理方法として以下の方法が考えられる。
【0006】まず、1つのオブジェクトに対して1つの
参照を作成し、全ての参照を1ヶ所或いは複数に分割し
て管理する方法がある。このような場合には、1つのオ
ブジェクトに対して1つの参照が存在するために、移動
オブジェクトに対応する1つの参照情報を変更するだけ
でよい。しかし、参照がオブジェクトに対して1つしか
存在しないために、メッセージの送受信に必要な参照を
取得する際に、参照を管理している部分にアクセスが集
中してしまい、そのために、ボトルネックが生じてしま
う。
【0007】次に、システム上のオブジェクトを複数の
グループに分割し、グループ毎に必要となる参照をグル
ープ毎に作成、管理する方法がある。すなわち、1つの
オブジェクトに対して複数の参照を作成する方法があ
る。この場合には、1つのオブジェクトに対する複数の
参照の所在は当該オブジェクトで保持し、オブジェクト
が移動した場合には、当該オブジェクトで所在を保持し
ている全ての参照についての情報を変更する。しかし、
この方法では、移動の際にのみ必要な自オブジェクトに
対応する複数の参照の所在を常に保持する必要があるの
で、ロスが多くなる。
【0008】
【発明が解決しようとする課題】上記のように、1つの
参照によるオブジェクトを管理する方法ではアクセスが
集中してボトルネックが生じるので、好ましくない。ま
た、オブジェクトに対応する複数の参照の所在を当該オ
ブジェクトで予め保持しておく方法では、オブジェクト
に対応する複数の参照の所在を常に保持しておかなくて
はならないので、ロスが多い。
【0009】本発明は、上記の事情を考慮して成された
もので、ネットワークで接続されたノード間のオブジェ
クト及びプロセスの移動方法及び機能の入れ替え方法並
びにそれらの機能を有するノード装置を提供することを
目的とする。
【0010】
【課題を解決するための手段】本発明は、上記の課題を
解決するために次のような手段を講じた。本発明の骨子
は、例えば、オブジェクトの移動に関し、オブジェクト
への参照は、その実行形式の所在を示す内部参照と、内
部参照に対応付けられたネットワーク全体で有効な外部
参照とで保持して、オブジェクトの移動の際は、移動前
のオブジェクトへの内部参照に移動後のオブジェクトへ
の外部参照を対応付けて移動前オブジェクトへの参照を
移動後オブジェクトへの参照に実質的に置き換えること
を特徴とする。
【0011】本発明に係るオブジェクトの移動方法(請
求項1)は、複数のノードが接続され、前記各複数のノ
ード上に複数のオブジェクトが動作するネットワークシ
ステムにおいて、前記複数のオブジェクトの1つを第1
のノードから第2のノードに移動する際に、前記複数の
オブジェクトへの参照は、前記オブジェクトの実行形式
の所在を示す内部参照と、前記内部参照に対応付けられ
たネットワーク全体で有効な外部参照とで保持し、前記
複数のオブジェクトの1つを、第1のノードから第2の
ノードに複製し、前記複製されたオブジェクトへの新た
な参照は第2のノード上での内部参照と前記第2のノー
ド上での内部参照に対応付けられた外部参照とで保持
し、複製される前の第1のノード上のオブジェクトの内
部参照を前記第2のノード上の複製されたオブジェクト
への外部参照と対応付けることによって、前記第1のノ
ード上のオブジェクトへの参照を前記複製された第2の
ノード上のオブジェクトへの参照に実質的に置き換える
ことを特徴とする。
【0012】本発明に係るプロセスの移動方法(請求項
6)は、複数のノードが接続され、前記各複数のノード
上には複数のプロセスが動作するネットワークシステム
において、第1のノードから第2のノードに前記複数の
プロセスの1つを移動する際に、前記複数のプロセスの
参照は、前記ノード内で有効なプロセス識別子と、ノー
ドの所在情報とで保持され、前記複数のプロセスの1つ
を、第1のノードから第2のノードに複製し、前記複製
されたプロセスへの参照は、第2のノード内で有効なプ
ロセス識別子と第2のノードの所在情報とで保持し、複
製される前の第1のノード上のプロセスを前記複製先の
第2のノード上のプロセスへの参照に対応付けることに
よって、前記第1ノード上のプロセスへの参照を前記複
製された第2のノード上のプロセスへの参照に実質的に
置き換えることを特徴とする。
【0013】上記のオブジェクト及びプロセスの移動に
関して、オブジェクト及びプロセスを別のノードに移動
するようにしているが、これに限らず同一のノード内で
移動することも可能である。
【0014】上記のオブジェクト及びプロセスの移動方
法に関する好ましい実施態様は、以下の通りである。 (1)オブジェクト移動方法において、前記内部参照と
前記外部参照は、前記複数のノード上に生成されるプロ
セス上で管理され、保持されること。 (2)オブジェクト移動方法又はプロセス移動方法にお
いて、前記複製される前の第1のノード上のオブジェク
トへのメッセージを受信した場合において、当該オブジ
ェクトへの内部参照に前記オブジェクトの移動を示す外
部参照が対応付けられているときに、前記メッセージが
前記外部参照によって示されるオブジェクトに転送され
ること。 (3)オブジェクト移動方法又はプロセス移動方法にお
いて、前記複製される前の第1のノード上のオブジェク
トへのメッセージが前記第2のノード上のオブジェクト
に転送された場合に、前記メッセージの送信オブジェク
トに対して前記第2のノード上のオブジェクトへの外部
参照を通知し、前記送信オブジェクトに係わる外部参照
を前記通知された外部参照で置き換えること。 (4)オブジェクト移動方法又はプロセス移動方法にお
いて、オブジェクトを前記第2のノードに複製する際
に、当該オブジェクトに関連づけられた受信メッセージ
で処理が未開始ものは、前記複製されたオブジェクトに
全て転送されること。 (5)プロセス移動方法において、前記プロセスの複製
は前記プロセスに係わるプログラムモジュールを第2の
ノード上に配置し、前記プログラムモジュールは移動さ
れたプロセスによって使用されること。 (6)プロセス移動方法において、前記複製される第1
のノード上のプロセスに属するオブジェクトは、複製先
の第2のノード上のプロセス上に複製され、複製された
新たな第2のノード上のオブジェクトへの参照は、第2
のノード上での内部参照と第2のノード上での内部参照
に対応付けられた外部参照とで保持し、前記第1のノー
ド上のオブジェクトへの内部参照と前記第2のノード上
の複製されたオブジェクトへの外部参照を対応付けるこ
とによって、前記第1のノード上のオブジェクトへの参
照を前記複製された第2のノード上のオブジェクトへの
参照に実質的に置き換えて、オブジェクトの移動を行う
こと。 (7)プロセス移動方法において、前記複製される前の
第1のノード上のオブジェクトへのメッセージを受信し
た場合において、当該オブジェクトへの内部参照に外部
参照が対応付けられているときに、前記メッセージが前
記第2のノード上の外部参照に転送又は再送信されるこ
と。
【0015】上記の構成により、本発明では、オブジェ
クトの移動やプロセスの動的な移動が容易かつ確実にで
きる。また、機能の入れ替え方法(請求項13)は、複
数のノードが接続され、前記各複数のノード上には複数
のプロセスが動作するネットワークシステムにおいて、
前記プロセス中において処理中の第1の機能を第2の新
たな機能に入れ替える際の入れ替え方法に関し、前記第
2の機能を有するオブジェクトを用意し、用意された前
記オブジェクトを含む新たなプロセスを生成して、それ
らの参照を保持し、前記第1の機能を有するオブジェク
トを前記新たなプロセスに移動し、移動前のオブジェク
トの内部参照を新たなオブジェクトの外部参照と対応付
けることを特徴とする。ここで、機能の入れ替えの際
に、新機能を別のノードに持たせても良いし、同一ノー
ド内で機能を入れ替えても良い。
【0016】上記の構成により新機能の導入が容易に果
たせる。なお、上記のオブジェクトの移動方法、プロセ
スの移動方法並びに機能の入れ替え方法は、これらの機
能を有するシステム(すなわち、ノード装置:請求項1
3から請求項15)として構成されても良いし、これら
の機能を実行するためのプログラムが格納されたコンピ
ュータで読みとり可能な記録媒体であっても良い。
【0017】
【発明の実施の形態】図面を参照して本発明の実施の形
態を説明する。図1は、本発明が適用される並行分散処
理システムの概略構成を示す図である。
【0018】図1において、並行分散処理システム1
は、ネットワーク2で接続されたノード3−1、3−2
からなる。それぞれのノード3−1及び3−2は内部に
一般プロセス31および管理プロセス4を有し、これら
のプロセス31の内部に内蔵されたプログラムを実行す
る。一般プロセス31の内部には、アプリケーションプ
ログラムモジュールとしての分散オブジェクト311、
分散関数312、または大域共用変数313が存在し、
またそれらアプリケーションプログラムモジュールがメ
ッセージを送信・受信することを支援するメッセージパ
ッシング部32が存在する。
【0019】ここで、分散オブジェクト311とは独自
の内部データと独自の手続を持つ。分散関数312は独
自の手続を持つ。大域共用変数313は独自の内部デー
タを持つ。これらを総称して並行オブジェクト34と呼
ぶ。
【0020】1つのプロセス内部には複数の並行オブジ
ェクトが存在できるが、メッセージパッシング部は1つ
のプロセスには1つだけ存在できる。1つのノード内部
には複数の一般プロセスが存在できる。また、1つのノ
ード内部には、各ノードにプロセスを配置するための管
理プロセスが1つだけ存在する。
【0021】なお、図1には、簡略化のため、ノードと
してノード3−1とノード3−2の2つしか示していな
いが、これ以上のノードが存在するのは明らかであっ
て、ネットワーク2にこのようなプロセスを有する任意
の数のノードが接続されていてもよい。これらの任意の
数のノードが以下に詳述するようなメッセージパッシン
グの機能によって連携することによって、1つの並行分
散処理システムが構成できる。
【0022】図2は、図1のメッセージパッシング部3
2の内部構成を示す概略図である。なお、図中に示す各
部の機能は以下の通りである。アプリケーション・プロ
グラミング・フィーチャー321(Application Progra
mming Features:以下、APFと称する)は、並行オブ
ジェクト34からのメッセージ送信要求を受けつける機
能と、着信したメッセージに従って並行オブジェクト3
4を呼び出す機能を有する。
【0023】メッセージ・パッシング・オペレーター3
22(Message Passing Operator)は、メッセージの送
信処理を行うメッセージ・センダー3221(Message
Sender)と、着信したメッセージの宛先オブジェクトの
リモートIDをローカル参照に変換するなどAPF32
1のための前処理を行うメッセージ・ディスパッチャー
3222(Message Dispatcher)とからなる。
【0024】スケジューラー323(Scheduler )は、
着信した複数のメッセージ間の処理順序を決定し、その
制御を行う。参照解決器324(Reference Resolver)
は、自プロセスおよび他プロセスに存在する並行オブジ
ェクト34への参照を管理し、参照をシステムのより低
いレベルでの表現(リモートID、ネットワークアドレ
スなど)に解決する。なお、参照解決器は、詳細は後述
するように送信時と受信時における参照解決部を有す
る。以下、用語「解決」は、参照が示すオブジェクトに
メッセージ通信などにより実際にアクセスする際に必要
となる表現を当該参照から変換して得ることを意味す
る。
【0025】通信メディア・インターフェース325
(Communication Media Interface )は、メッセージ・
センダー3221から受け渡された宛先情報(リモート
ID、プロセスID、ネットワークアドレス)と、ノー
ド種別に依存しないデータの共通表現に変換済みの引数
データからネットワーク上に送出するのに適した形式の
バイト列(パケットなど)を組み立ててネットワークに
送出する機能と、ネットワークから着信したバイト列
(メッセージ)をメッセージ・ディスパッチャーに伝達
する機能を持つ。
【0026】上記のように構成されたメッセージパッシ
ング部の動作を図3を参照して説明する。 (1)メッセージ送信時の処理 メッセージ送信時の処理について、メッセージ送信側で
のメッセージパッシング部内部での処理の流れを説明す
る。
【0027】並行オブジェクト34から発行されたメッ
セージ送信要求(宛先並行オブジェクト34ヘの参照、
引数データからなる)は、APF321によって引数デ
ータがノード種別に依存しないデータの共通表現へ表現
変換された後に、処理がメッセージ・センダー3221
に引き継がれる。メッセージ・センダー3221は、メ
ッセージの宛先オブジェクトへの参照を、参照解決器3
24の送信時参照解決部(図示しない)を使って、ネッ
トワークアドレスなど通信メディアインターフェースが
解釈可能な表現に解決した後、処理を通信メディア・イ
ンターフェース325に引き継ぐ。通信メディア・イン
ターフェース325は、宛先オブジェクトのリモートI
Dと共通表現に変換済みの引数データをネットワーク上
のバイト列形式(パケット)に組み立ててネットワーク
2へ送出する。 (2)メッセージ受信時の処理 メッセージ受信時の処理を説明する。
【0028】通信メディア・インターフェース325が
ネットワークから着信したメッセージのバイト列を取り
込むと、取り込まれたメッセージは、メッセージ・ディ
スパッチャー3222に渡される。メッセージ・ディス
パッチャー3222は、参照解決器324の受信時参照
解決部(図示しない)を呼び出して、メッセージの宛先
のリモートIDをローカル参照に解決する。
【0029】ローカル参照に解決後、APF321にメ
ッセージが渡される。APF321は、ローカル参照の
ローカルIDを対応する並行オブジェクト34のメモリ
上のアドレスに変換する。また、引数データもやはりA
PF321内においてノード内固有の内部表現に変換さ
れる。そして、スケジューラー323によって宛先並行
オブジェクト34をいつ実行すべきかが決定され、AP
F321はそのスケジュールに従って並行オブジェクト
34の実行を開始する。
【0030】次に、図3に示す参照解決器について図4
を参照して説明する。図4は、参照解決器324の概略
構成を示す図である。参照解決器324は、別スレッド
で並行動作可能なエクスポート処理部3241、インポ
ート処理部3242、リモートID通知部3243、送
信時参照解決部3244、受信時参照解決部3245
と、これら各部からアクセスされる複数の参照表からな
る。
【0031】各部からアクセスされる参照表は、ローカ
ル参照表3246、リモート参照表3247、プロセス
参照表3248、ノード参照表3249の4つの表で構
成される。
【0032】ローカル参照表3246は、自プロセス内
の並行オブジェクト34についての大域的に有効なリモ
ートIDとそのプロセスでのみ有効なローカルIDの対
応表であって、自プロセス内並行オブジェクト34の名
称、リモートID及びローカルIDを格納する。
【0033】リモート参照表3247は、他プロセスに
存在する並行オブジェクトの名称、リモートID、及び
その並行オブジェクト34が存在するプロセス参照を格
納する。
【0034】プロセス参照表3248は、プロセスの名
称、プロセスのID、プロセスが存在するノード参照を
格納する。ノード参照表3249は、ノードの名称、ノ
ードのネットワークアドレス、通信メディアを格納す
る。
【0035】メッセージの送信に際しては、送信時参照
解決部3244によりリモート参照からプロセス参照等
への参照を手繰り、参照している並行オブジェクト34
のリモートID、並行オブジェクト34が存在している
プロセスのID、プロセスが存在しているノードへの経
路(通信メディア)とそのネットワークアドレスが引き
出される。図5に各参照表の例を示す。
【0036】上記の要素を含む複数のプロセスを管理
(及び複数のノードに分散配置)するために、管理プロ
セスを起動することが必要である。管理プロセスは、各
ノードに配置された上記のような一般的なプロセスの一
種であり、固定されたプロセスIDが割り当てられてい
る。各ノードの管理プロセスは、与えられたプロセス配
置要求に基づき、相互に連携して一般プロセスの配置や
入替を行う。
【0037】なお、プロセス配置要求を与えられる管理
プロセスを、マスタ管理プロセスと呼ぶ。マスタ管理プ
ロセスからプロセス生成要求を受ける管理プロセスを、
スレーブ管理プロセスと呼ぶ。
【0038】図6は、管理プロセスの構成例を示す図で
ある。管理プロセス4は、プロセス配置表41と、プロ
セス配置機構42と、プロセス生成機構43と、メッセ
ージパッシング部44とからなる。
【0039】メッセージパッシング部44は、一般プロ
セスと同様であるので説明を省略する。プロセス配置機
構42は、プロセス配置要求を受取ってプロセス配置処
理を開始する。なお、このプロセス配置処理は、マスタ
管理プロセス4で動作する。
【0040】また、プロセス配置機構42は、別スレッ
ドで並行動作可能なプロセス配置部421、プロセス情
報設定部422、プロセス情報通知部423からなり、
プロセス配置表41をアクセスする。
【0041】プロセス生成機構43は、プロセス生成要
求を受取ってプロセス生成処理を開始する。このプロセ
ス生成処理は、スレーブ管理プロセス4で動作する。プ
ロセス配置表41は、プロセス管理表とノード管理表と
からなり、プロセス配置機構42によってアクセスされ
る。プロセス管理表は、配置プロセスの名称、プロセス
IDおよびプロセスが動作しているノード名を有する。
ノード管理表は、プロセスが動作しているノードの情報
を保持し、ノードの名称、ネットワークアドレスおよび
通信メディアからなる。図7にプロセス配置表41の例
を示す。
【0042】上記のようなネットワークシステムに適用
される本発明の実施形態について図面を参照して説明す
る。図8は、本発明の第1の実施形態に係るメッセージ
パッシング部におけるメッセージ受信の動作を示す図で
ある。図8の構成が図3の構成と異なる点は、以下の通
りである。 (1)ローカル参照表に項目が追加されたこと (2)メッセージ待避テーブルが追加されたこと、であ
る。
【0043】ここで、上記のローカル参照表は自プロセ
ス内の並行オブジェクトについての大域的な有効リモー
トIDとそのプロセスでのみ有効なローカルIDの対応
表であって、本発明においては、自プロセス内並行オブ
ジェクトの名称、リモートID、ローカルID、転送先
並行オブジェクトのリモート参照へのポインタ、メッセ
ージ待避テーブルへのポインタを格納する。また、これ
らの格納された項目のうち、自プロセス内並行オブジェ
クトの名称及びリモートIDは必ず設定される。ローカ
ルID、転送先リモート先のリモート参照へのポインタ
及びメッセージ待避テーブルへのポインタは、これらの
3つのうちいずれか1つのみが設定される。
【0044】上記のように構成されたメッセージパッシ
ング部44のメッセージ受信時における処理の流れを図
9を参照して説明する。まず、通信メディア・インター
フェース325がネットワークから着信したメッセージ
のバイト列を取り込む。そして、取り込まれたメッセー
ジは、メッセージ・ディスパッチャー3222に渡され
る(ステップS1)。
【0045】メッセージ・ディスパッチャー3222
は、参照解決器324の受信時参照解決部3245を呼
び出して、メッセージの宛先のリモートIDをローカル
参照に解決する(ステップS2からステップS4)。
【0046】メッセージ・ディスパッチャー3222
は、ローカル参照において設定項目をチェックする(ス
テップS5)。ローカル参照においてローカルIDが設
定されている場合は、自プロセス内の並行オブジェクト
34へのメッセージであると判定し、APF321にメ
ッセージが渡される(ステップS6)。APF321
は、ローカル参照のローカルIDを対応する並行オブジ
ェクト34のメモリ上のアドレスに変換する。また、引
数データも同様にしてAPF321内においてノード内
固有の内部表現に変換される。そして、スケジューラー
323によって宛先並行オブジェクト34をいつ実行す
べきかが決定され、APF321はそれに従って並行オ
ブジェクト34の実行を開始する。
【0047】ローカル参照において転送先並行オブジェ
クトのリモート参照へのポインタが設定されている場合
は、他プロセス内の並行オブジェクト34へメッセージ
を転送する必要があるため、当該転送先リモート参照と
受信メッセージとからなるメッセージ送信要求をメッセ
ージ・センダー3221に引き渡す(ステップS7)。
メッセージ送信(転送)要求を受け取ったメッセージ・
センダー3221は、メッセージ送信時と同様の処理を
行いメッセージを転送する。
【0048】また、メッセージ送信元プロセスの参照解
決器324、リモート参照変更部に対して、自プロセス
内並行オブジェクト34のリモートIDおよび転送先リ
モート参照と共にリモート参照変更要求を出力し、自プ
ロセス内並行オブジェクト34へのリモート参照を転送
先リモート参照へ変更するよう依頼する(ステップS
8)。
【0049】ローカル参照にメッセージ待避テーブル3
27(SaveRecvInfo)へのポインタが設定されている場
合は、受信したメッセージをメッセージ待避テーブル3
27に格納する(ステップS9)。
【0050】次に、本発明の第1の実施形態に係る参照
解決器324について、説明する。第1の実施形態に係
る参照解決器324においては、図示しないが、図4に
加えて、別スレッドで並行動作可能な部として、オブジ
ェクト移動部(MigrateObject )、オブジェクト転送部
(TransObject )、ローカル参照追加部(AddLocalEntr
yRef)、リモート参照変更部(ModifyRemoteEntryRef)
が追加されている。
【0051】ローカル参照表3246で変更された構成
では、上述したように自プロセス内並行オブジェクトの
名称、リモートID、ローカルID、転送先並行オブジ
ェクトのリモート参照へのポインタ、メッセージ待避テ
ーブルへのポインタが格納されている。その様子を図1
0に示す。
【0052】なお、オブジェクトが移動された場合に
は、参照元のリモート参照を変更する必要が生じる。こ
のリモート参照を変更するためのリモート参照変更部に
おける処理をオブジェクトが移動した通知を受け取った
場合について説明する。
【0053】リモート参照変更部は、リモート参照変更
要求と共にリモートIDと転送先リモート参照を受け取
ると、まず、リモート参照変更要求と共に受け取ったリ
モートIDに基づいて、自身のリモート参照表3247
から、移動されたオブジェクトへのリモート参照を検索
する。続いて、検索されたリモート参照の内容を、リモ
ート参照変更要求と共に受け取った転送先リモート参照
の内容に書き換える。
【0054】以上の処理を行うことにより、これ以後転
送先オブジェクトヘ直接メッセージが送信できるように
なる。ここで、具体的にプロセスXonA内のオブジェクト
からプロセスYonBのオブジェクトFtaxにメッセージを送
信した場合を考慮すると、当該メッセージはプロセスYo
nBからプロセスYonB2 内のオブジェクトFtaxに転送され
る。また、プロセスYonBのメッセージ・ディスパッチャ
ーからプロセスXonAに対してリモート参照変更要求が出
力され、この要求に対応してプロセスXonAのリモート参
照変更部が処理を実行するとプロセスXonAのリモート参
照表3247は図11のように変更される。
【0055】次に、第1の実施形態においてオブジェク
トを移動する具体例について説明する。ここにおいて、
図12に示すように、プロセスB上の分散オブジェクト
αをプロセスCに移動する場合を考慮する。なお、プロ
セスB上の分散オブジェクトαが持つ独自の手続と同等
の手続が、プロセスCに既に用意されているものとす
る。
【0056】具体的な分散オブジェクトの移動手順を図
13を参照して説明する。なお、以下の説明において、
処理手順の番号と図中の番号は同一の処理を示すもので
ある。 (1)移動元プロセスBのオブジェクト移動部51に、
オブジェクト・マイグレーションを指示する。この際、
移動元プロセスBのオブジェクト移動部51に、移動す
るオブジェクト名(α)と、移動先のプロセス名(C)
を引数として与える。 (2)オブジェクト移動部51は、移動先プロセスCの
ローカル参照追加部52をオブジェクト名αを引数とし
て呼び出し、プロセスCのローカル参照表3246にα
のエントリを作成するよう依頼する。 (3)ローカル参照追加部52は、転送されてきたメッ
セージを一時待避しておくメッセージ待避テーブル32
7(図下部)を生成後に、ローカル参照表3246にα
のエントリを追加する。
【0057】追加されたαのエントリは、ローカルID
及び転送先オブジェクトへのリモート参照のポインタを
空欄とし、生成したメッセージ待避テーブル327への
ポインタが設定された状態になっている。 (4)ローカル参照追加部52は、移動後のプロセスC
内でのαのリモートID:202を、移動元プロセスの
オブジェクト移動部51に通知する。 (5)オブジェクト移動部51は、自プロセス内のリモ
ート参照表3247に移動後のオブジェクト:αのエン
トリを作成する。この際、リモートIDにローカル参照
追加部52から通知された202が設定される。 (6)オブジェクト移動部51は、自プロセス内のロー
カル参照表3246のαのエントリを受信時参照解決部
3245でリモートIDからローカル参照に解決する際
の検索対象から取り除く。続けて、ローカル参照表32
46にαのエントリを新しく追加する。ここで、新しい
αのエントリは、ローカルID及びメッセージ待避テー
ブルのポインタが空欄であり、転送先オブジェクトへの
リモート参照のポインタが設定されている。
【0058】本処理が終了すると、それ以降にプロセス
Bに到着するプロセスB内のオブジェクトαへのメッセ
ージは、メッセージ・ディスパッチャー3222からプ
ロセスCに転送されるようになる。 (7)オブジェクト移動部51は、オブジェクトαが処
理しているメッセージがあればそれが終了直後に、一
方、処理しているメッセージがなければその時点で、転
送先プロセスのオブジェクト転送部54をオブジェクト
α自身と移動先プロセスCのオブジェクトαのリモート
ID:202を引数として呼び出して、オブジェクトα
をプロセスCに転送する。ここで、オブジェクトαをプ
ロセスCに転送するとは、具体的には、オブジェクトα
独自の内部データをプロセスCに送信することである。 (8)オブジェクト移動部51は、スケジューラー32
3に対して転送先オブジェクトのリモート参照とローカ
ルIDを引数としてスケジューラー323を呼び出して
オブジェクトαに関連付けられた受信メッセージで処理
が未開始のものを転送先へ転送するように依頼してオブ
ジェクト移動部51の処理が終了する。
【0059】以上で、オブジェクト・マイグレーション
の処理は終了する。次に、オブジェクト・マイグレーシ
ョンにおけるスケジュールの管理及びメッセージの処理
を説明する。 (9)スケジューラー323は、(8)の要求に応じて
引数で指定されたローカルIDが示すオブジェクトαに
関連づけられた当該スケジューラー内で保持する未処理
の受信メッセージをメッセージ・センダー3221に依
頼して、オブジェクト転送先に転送する。 (10)転送メッセージを受け取ったプロセスCのメッセ
ージ・ディスパッチャー3222は、転送先オブジェク
トへのローカル参照にはメッセージを一時待避するメッ
セージ待避テーブル327へのポインタが設定されてい
るので、受信メッセージをAPFに渡さず当該メッセー
ジ待避テーブル327にメッセージを一時的に格納す
る。 (11)プロセスCのオブジェクト転送部54は、受信し
たオブジェクトαを自プロセス内に展開する。呼Kで、
オブジェクトαを自プロセス内に展開するとは、具体的
にはプロセスBから送信されてきたオブジェクトα独自
の内部データと、オブジェクトα独自の手続に対応する
既にプロセスCに用意されている同等の手続から、新た
に分散オブジェクトを生成することである。 (12)オブジェクト転送部54は、引数で与えられたリ
モートID:202を利用してローカル参照表3246
のエントリを検索し、エントリのローカルIDとしてα
へのポインタ(本実施形態では、2202)を設定す
る。続いて、エントリのメッセージ待避テーブルへのポ
インタを削除する。 (13)続いて、オブジェクト転送部54は、オブジェク
トα用に用意されたメッセージ待避テーブル327に待
避してあるメッセージを取り出して、処理を行うようメ
ッセージ・ディスパッチャー3222に指令する。 (14)オブジェクト転送部54の指令によってメッセー
ジ・ディスパッチャー3222は、メッセージ待避テー
ブルからメッセージを取り出して、メッセージ受信時と
同様の処理を行う。 (15)最終的に、メッセージ・ディスパッチャー322
2により待避されていたメッセージは、APF321に
渡される。
【0060】上記のように、本発明の第1の実施形態に
よれば、ローカル参照とリモート参照による参照方法を
分散オブジェクトの移動に応じた形態で用意することに
より、容易かつ確実に動的な分散オブジェクトの移動が
できる。
【0061】次に、プロセスの移動に関する本発明の第
2の実施形態を説明する。本実施形態においては、第1
の実施形態の参照解決器324の構成に加えて、別スレ
ッドで並行動作可能な部分として、詳細は後述するプロ
セス移動部(MigrateProcess)、リモート参照表通知部
(NotifyRemoteReferenceTable)が追加されている。
【0062】本実施形態では、図14に示すように、ノ
ードNodeX からノードNodeY にプロセスBを移動する場
合を説明する。図14において、管理プロセスMCに対
して、プロセスBを移動するようプロセス配置要求が入
力されている。図14において、プロセス配置要求が与
えられている管理プロセスMCがマスタ管理プロセス、
管理プロセスMC(マスタ管理プロセス)からプロセス
生成要求を受け付けている管理プロセスMBがスレーブ
管理プロセスである。
【0063】移動先プロセスの生成手順を図15を参照
して説明する。 (1)マスタ管理プロセスMCのプロセス配置機構42
のプロセス配置部421に対して、移動先プロセスの生
成を指示する。この際、プロセス配置情報として、 移動元プロセスのプロセス名 B プログラムモジュールの所在 ftp://ftp.dvl.co.j
p/moduleB.exe プロセス配置先ノード情報(ノード名・アドレス・通信
メディア)NodeY 、s2.dvl.co.jp、Ethernet をプロセス配置部421に与える。ここで、プロセス配
置情報のプログラムモジュールには、移動先プロセスで
あるノードNodeX 上のプロセスBを生成する際に利用し
たプログラムモジュールと同じもの、或いは同等の機能
を有するプログラムモジュールを指定する。 (2)プロセス配置部421は、プロセス配置表41か
ら、移動元プロセスBのプロセスIDおよび移動元プロ
セスが所在するノードの情報を取得すると共に、新規に
生成する移動先プロセスのためのエントリを作成する。
しかし、この時点では、作成した移動先プロセスのエン
トリはプロセス配置表41には追加しない。 (3)プロセス配置部421は、ノードNodeY 上のスレ
ーブ管理プロセスMBのプロセス生成機構43を呼び出
して、プロセスの生成を指示する。この時に与えるプロ
セス生成情報は、新規プロセスのプロセス(移動元プロ
セスと同名)、プログラムモジュールの所在、移動元プ
ロセスのプロセスID、移動元プロセス所在ノード情
報、マスタ管理プロセス4の所在ノード情報からなる。
【0064】以上で、プロセス配置部421の処理は終
了する。 (4)スレーブ管理プロセスMBのプロセス生成機構4
3は、プロセス生成情報として、 新規プロセスのプロセス名 (移動元プロセスと同名) B プログラムモジュールの所在 ftp://ftp.dvl.co.jp/moduleB.exe 移動元プロセスのプロセスm 20 移動元プロセス所在ノード情報 NodeX 、s1.dv1.co.jp、Ethernet マスタ管理プロセス4の所在ノード情報 NodeZ 、s3.dv1.co.jp、Ethernet を受け付けて、移動先プロセスを生成する。まず、プロ
グラムモジュールの所在を元にプログラムをダウンロー
ドし、続いて、これから生成するプロセスに割り当てる
プロセスIDを決定し、ダウンロードしたプログラムモ
ジュールからプロセスを生成する。なお、プロセスID
は、0以外の数値をノード内で一意になるように割り当
てる。この場合は、120を割り当てる。
【0065】また、プロセス生成機構43はプロセス生
成時に、移動先プロセスに対して、 新規プロセスのプロセス名 B 新規プロセスに割り当てたID 120 移動元プロセスのプロセスID 20 移動元プロセス所在ノード情報 NodeX 、s1.dv1.co.jp、Ethernet マスタ管理プロセス4の所在ノード情報 NodeZ 、s3.dvl.co.jp、Ethernet を与える。 (5)新規に生成された移動先プロセスは、自身の初期
処理の中でマスター管理プロセスMCのプロセス情報設
定部422を呼び出す。この際引数として、自プロセス
の名称及び自プロセスのID:120を与える。 (6)マスター管理プロセスMCのプロセス情報設定部
422は、通知されたプロセスID:120を新規プロ
セスのためのエントリに追加記入する。続いてプロセス
情報設定部422は、アプリケーション空間管理表の移
動元プロセスのエントリと、移動先プロセスのエントリ
を入替える。
【0066】上記のようにして、プロセスBがノードNo
deX からノードNodeY に移動できる。プロセスがノード
間を移動する際に、プロセスを実行可能とするために、
プロセスに含まれる並行オブジェクト34も移動しなく
てはならない。プロセスに含まれる並行オブジェクト3
4は先に述べたように分散関数と、分散オブジェクト
と、大域共用変数とがある。このうち、分散関数は独自
の内部データを持たないが、分散オブジェクトと大域共
用変数は独自の内部データを有している。従って、独自
の内部データを持たない分散関数は、移動先プロセスの
生成直後から、メッセージ転送が可能である。これに反
し、分散オブジェクトと大域共用関数は、移動先プロセ
スにオブジェクト・マイグレーションを行って独自の内
部データを移動後、メッセージの転送が可能となる。
【0067】以下、移動先のプロセスが生成された後の
プロセス内の並行オブジェクト34の移動処理を図16
を参照して説明する。なお、以下の説明では、便宜上、
移動元プロセスをB、移動先プロセスをB′とする。ま
た、プロセスIDには、並行オブジェクト34として分
散関数:tansA およびA、オブジェクト:αが存在する
こととする。 (1)新規に生成された移動先プロセスB′は、その初
期処理で参照解決器324のエクスポート処理部324
1を呼び出してローカル参照表3246を作成する。 (2)初期処理部60は、移動元プロセスBのプロセス
移動部61を呼び出して、プロセス・マイグレーション
を依頼する。この際、引数として自プロセスのローカル
参照表3246を与える。以後、移動先プロセスB′の
初期処理部60は、自プロセスのリモート参照表通知部
62の処理が終了するまで、処理を中断する。 (3)移動元プロセスBのプロセス移動部61は、自プ
ロセスのリモート参照表3247を引数として、B′の
リモート参照表通知部62を呼び出して、移動元プロセ
スBのリモート参照表3247を移動先プロセスB′に
通知する。
【0068】続いて、プロセス移動部61は並行オブジ
ェクト34のマイグレーション処理を開始する。 (4)分散関数のマイグレーションが行われる。プロセ
スB′から送付されてきたローカル参照表3246と自
身のローカル参照表3246を比較し、同名の分散関数
について、自プロセスのリモート参照表3247にエン
トリを追加する。この場合は、分散関数:transAおよび
Aのエントリを追加する。なお、リモート参照表324
7のリモートIDについては、B′から送付されてきた
ローカル参照表3246から取得する。 (5)プロセス移動部61は、自プロセスのローカル参
照表3246のtransAおよびAのエントリをリモートI
Dからローカル参照に解決する際の検索対象から取り除
く。
【0069】続けて、ローカル参照表3246にtransA
およびAのエントリを新しく追加する。新しく追加する
エントリは、ローカルIDが空欄で転送先オブジェクト
へのリモート参照への参照へのポインタが設定されてい
る。
【0070】以上で、分散関数についてのマイグレーシ
ョン処理が終了する。プロセス移動部61は、続いて分
散オブジェクトのマイグレーションを開始する。 (6)プロセス移動部61は、自身のローカル参照表3
246の全分散オブジェクトについて、マイグレーショ
ンを開始する。この場合、分散オブジェクト:αのマイ
グレーションを行うために、自プロセス内のオブジェク
ト移動部51を呼び出す。この際、引数としてオブジェ
クト名:α、移動先プロセス:B′の参照を与える。な
お、分散オブジェクトのマイグレーションの詳細は、第
1の実施形態で説明したので、ここでは、説明を省略す
る。 (7)プロセスB′のリモート参照表通知部62は、引
数で通知されたリモート参照表3247から自プロセス
のリモート参照表3247を生成する。 (8)リモート参照表通知部62の終了を待ち合わせて
いた初期処理部60は、マスタ管理プロセス4に対し
て、プロセス情報設定要求を出力する。このプロセス情
報設定要求は、プロセス情報を含み、プロセス情報は要
求元プロセスの名称、プロセスIDからなる。なお、こ
の処理は、図15の(5)で述べた処理のことである。
【0071】この後、初期処理部60は、参照解決器3
24、インポート処理部3242を呼び出して、他プロ
セスに存在する並行オブジェクト34のインポート処理
を行うことによって終了する。
【0072】本発明の第3の実施形態を図17を参照し
て説明する。第3の実施形態では、既存機能を入れ替え
る場合について説明する。本実施形態は、上記のオブジ
ェクト及びプロセスの移動を応用したものであって、基
本的な動作はオブジェクトの移動と同様であるので、重
複した部分は図示及び説明を省略する。本実施形態によ
れば、プログラムを実行している際に、バージョンアッ
プなどの機能変更があった場合に、動的に機能を変更す
ることが可能となる。
【0073】例えば、第1の機能を実現する第1の手続
を独自の手続とする分散関数FuncYを含むプログラムモ
ジュールYにおいて、第2の機能を実現する第2の手続
を独自の手続とする分散関数FuncY に置き換える場合に
ついて説明する。 (1)第2の機能を実現する第2の手続を独自の手続と
する分散関数FuncY を含むようなプログラムモジュール
Y′を用意する。 (2)第2の実施形態に記載した方法に基づいて、プロ
グラムモジュールY′から生成したプロセスBをNodeY
上に作成する。 (3)第1の実施形態に記載した方法に基づいて、ノー
ドNodeX 上のプロセスBの分散関数FuncY (オブジェク
ト)をノードNodeY 上のプロセスBへ移動する。
【0074】上記の手順により、既存機能を動的に入れ
替えることが可能となる。なお、上記の実施形態におい
ては、異なるノードにプロセスを移動することによっ
て、既存機能の動的な入れ替えを行っているが、同一ノ
ード内での移動や、機能の入れ替えも可能である。本発
明は、上記の発明の実施の形態に限定されるものではな
く、本発明の要旨を変更しない範囲で種々変形して実施
できるのは勿論である。
【0075】
【発明の効果】本発明によれば次のような効果が得られ
る。上記のように、本発明では、内部参照、外部参照等
を有効的に活用することにより、動的なオブジェクト、
プロセスの移動、並びに機能の入れ替え(並びに新機能
の導入)も容易に行うことが可能である。
【図面の簡単な説明】
【図1】 本発明が適用される並行分散処理システムの
概略構成を示す図。
【図2】 メッセージパッシング部の内部構成を示す概
略図。
【図3】 メッセージパッシング部の動作を示す図。
【図4】 参照解決器の構成例を示す図。
【図5】 各参照表の例を示す図。
【図6】 管理プロセスの構成例を示す図。
【図7】 プロセス配置表の例を示す図。
【図8】 本発明の第1の実施形態に係るメッセージパ
ッシング部におけるメッセージ受信の動作を示す図。
【図9】 メッセージ・ディスパッチャーのメッセージ
受信時における処理の流れを示す図。
【図10】 本発明の第1から第3の実施形態に係るロ
ーカル参照表の例を示す図。
【図11】 オブジェクトの移動後におけるリモート参
照表の変更前後を示す図。
【図12】 第1の実施形態において分散オブジェクト
を移動する実施形態を示す概念図。
【図13】 具体的な分散オブジェクトの移動手順を説
明するための図。
【図14】 第2の実施形態においてプロセスを移動す
る実施形態を示す概念図。
【図15】 移動先プロセスの生成手順を示す図。
【図16】 移動先のプロセスが生成された後のプロセ
ス内の並行オブジェクトの移動処理を説明するための
図。
【図17】 本発明の第3の実施形態を示す図。
【符号の説明】
1…並行分散処理システム 2…ネットワーク 3…ノード 31…一般プロセス 311…分散オブジェクト 312…分散関数 313…大域共用変数 32…メッセージパッシング部 321…アプリケーション・プログラミング・フィーチ
ャー(APF) 322…メッセージ・パッシング・オペレーター 3221…メッセージ・センダー 3222…メッセージ・ディスパッチャー 323…スケジューラー 324…参照解決器 3241…エクスポート処理部 3242…インポート処理部 3243…リモートID通知部 3244…送信時参照解決部 3245…受信時参照解決部 3246…ローカル参照表 3247…リモート参照表 3248…プロセス参照表 3249…ノード参照表 325…通信メディア・インターフェース 327…メッセージ待避テーブル 34…並行オブジェクト 4…管理プロセス 41…プロセス配置表 42…プロセス配置機構 421…プロセス配置部 422…プロセス情報設定部 423…プロセス情報通知部 43…プロセス生成機構 44…メッセージパッシング部 51…オブジェクト移動部 52…ローカル参照追加部 54…オブジェクト転送部 60…初期処理部 61…プロセス移動部 62…リモート参照表通知部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 GG01 5B098 AA10 GA04 GA08 GC08 GC16 GD02 GD18

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードが接続され、前記各複数の
    ノード上に複数のオブジェクトが動作するネットワーク
    システムにおいて、前記複数のオブジェクトの1つを第
    1のノードから第2のノードに移動する際に、 前記複数のオブジェクトへの参照は、前記オブジェクト
    の実行形式の所在を示す内部参照と、前記内部参照に対
    応付けられたネットワーク全体で有効な外部参照とで保
    持し、 前記複数のオブジェクトの1つを、第1のノードから第
    2のノードに複製し、 前記複製されたオブジェクトへの新たな参照は第2のノ
    ード上での内部参照と前記第2のノード上での内部参照
    に対応付けられた外部参照とで保持し、 複製される前の第1のノード上のオブジェクトの内部参
    照を前記第2のノード上の複製されたオブジェクトへの
    外部参照と対応付けることによって、前記第1のノード
    上のオブジェクトへの参照を前記複製された第2のノー
    ド上のオブジェクトへの参照に実質的に置き換えること
    を特徴とするオブジェクト移動方法。
  2. 【請求項2】 請求項1記載のオブジェクト移動方法に
    おいて、前記内部参照と前記外部参照は、前記複数のノ
    ード上に生成されるプロセス上で管理され、保持される
    ことを特徴とするオブジェクト移動方法。
  3. 【請求項3】 請求項1又は請求項2記載のオブジェク
    ト移動方法において、前記複製される前の第1のノード
    上のオブジェクトへのメッセージを受信した場合におい
    て、当該オブジェクトへの内部参照に前記オブジェクト
    の移動を示す外部参照が対応付けられているときに、前
    記メッセージが前記外部参照によって示されるオブジェ
    クトに転送されることを特徴とするオブジェクト移動方
    法。
  4. 【請求項4】 請求項3記載のオブジェクト移動方法に
    おいて、前記複製される前の第1のノード上のオブジェ
    クトへのメッセージが前記第2のノード上のオブジェク
    トに転送された場合に、前記メッセージの送信オブジェ
    クトに対して前記第2のノード上のオブジェクトの外部
    参照を通知し、前記送信オブジェクトに係わる外部参照
    を前記通知された外部参照で置き換えることを特徴とす
    るオブジェクト移動方法。
  5. 【請求項5】 請求項1から請求項4のいずれかに記載
    のオブジェクト移動方法において、オブジェクトを前記
    第2のノードに複製する際に、当該オブジェクトに関連
    づけられた受信メッセージで処理が未開始のものは、前
    記複製されたオブジェクトに全て転送されることを特徴
    とするオブジェクト移動方法。
  6. 【請求項6】 複数のノードが接続され、前記各複数の
    ノード上には複数のプロセスが動作するネットワークシ
    ステムにおいて、第1のノードから第2のノードに前記
    複数のプロセスの1つを移動する際に、 前記複数のプロセスの参照は、前記ノード内で有効なプ
    ロセス識別子と、ノードの所在情報とで保持され、 前記複数のプロセスの1つを、第1のノードから第2の
    ノードに複製し、 前記複製されたプロセスへの参照は、第2のノード内で
    有効なプロセス識別子と第2のノードの所在情報とで保
    持し、 複製される前の第1のノード上のプロセスを前記複製先
    の第2のノード上のプロセスへの参照に対応付けること
    によって、前記第1ノード上のプロセスへの参照を前記
    複製された第2のノード上のプロセスへの参照に実質的
    に置き換えることを特徴とするプロセス移動方法。
  7. 【請求項7】 請求項6記載のプロセス移動方法におい
    て、前記プロセスの複製は前記プロセスに係わるプログ
    ラムモジュールを第2のノード上に配置し、前記プログ
    ラムモジュールは移動されたプロセスによって使用され
    ることを特徴とするプロセス移動方法。
  8. 【請求項8】 請求項1又は請求項2記載のプロセス移
    動方法において、 前記複製される第1のノード上のプロセスに属するオブ
    ジェクトは、複製先の第2のノード上のプロセス上に複
    製され、 複製された新たな第2のノード上のオブジェクトへの参
    照は、第2のノード上での内部参照と第2のノード上で
    の内部参照に対応付けられた外部参照とで保持し、 前記第1のノード上のオブジェクトへの内部参照と前記
    第2のノード上の複製されたオブジェクトへの外部参照
    を対応付けることによって、前記第1のノード上のオブ
    ジェクトへの参照を前記複製された第2のノード上のオ
    ブジェクトへの参照に実質的に置き換えて、オブジェク
    トの移動を行うことを特徴とするプロセス移動方法。
  9. 【請求項9】 請求項6から請求項8のいずれかに記載
    のプロセス移動方法において、前記複製される前の第1
    のノード上のオブジェクトへのメッセージを受信した場
    合において、当該オブジェクトへの内部参照に外部参照
    が対応付けられているときに、前記メッセージが前記第
    2のノード上の外部参照に転送又は再送信されることを
    特徴とするプロセス移動方法。
  10. 【請求項10】 請求項8記載のプロセス移動方法にお
    いて、前記複製される前の第1のノード上のオブジェク
    トへのメッセージが前記第2のノード上のオブジェクト
    に転送された場合に、前記メッセージの送信オブジェク
    トに対して前記第2のノード上のオブジェクトの外部参
    照を通知し、前記送信オブジェクトに係わる外部参照を
    前記通知された外部参照で置き換えることを特徴とする
    プロセス移動方法。
  11. 【請求項11】 請求項6から請求項10のいずれかに
    記載のプロセス移動方法において、オブジェクトを前記
    第2のノードに複製する際に、当該オブジェクトに関連
    づけられた受信メッセージで処理が未開始ものは、外部
    参照で示される前記第2のノード上に複製されたオブジ
    ェクトに全て転送されることを特徴とするプロセス移動
    方法。
  12. 【請求項12】 複数のノードが接続され、前記各複数
    のノード上には複数のプロセスが動作し、前記複数のプ
    ロセス上に複数のオブジェクトが動作するネットワーク
    システムにおいて、前記複数のプロセスの1つが有する
    第1の機能を第2の新たな機能に入れ替える際に、 前記複数のオブジェクトへの参照は、前記オブジェクト
    の実行形式の所在を示す内部参照と、前記内部参照に対
    応付けられたネットワーク全体で有効な外部参照とで保
    持し、 前記第2の機能を有するプログラムモジュールを用意
    し、 用意された前記オブジェクトを含む新たなプロセスを生
    成し、前記第1の機能を有するプロセスのオブジェクト
    を前記新たなプロセスに移動し、 前記移動されたオブジェクトへの新たな参照は新たな内
    部参照と前記新たな内部参照に対応付けられた新たな外
    部参照とで保持し、 複製移動前のオブジェクトの内部参照と前記移動後のオ
    ブジェクトへの外部参照と対応付けることによって、移
    動前のオブジェクトへの参照を移動後のオブジェクトへ
    の参照に実質的に置き換えることを特徴とする機能の入
    れ替え方法。
  13. 【請求項13】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトが動作するネットワーク
    に適用されるノード装置であって、 自ノード或いは他ノードのうちいずれかのノードに、自
    ノード上で動作するオブジェクトを出力するオブジェク
    ト出力手段と、 自ノード上で動作するオブジェクトの実行形式の所在を
    示す内部参照と、オブジェクトへのネットワーク全体で
    有効な外部参照を生成し、保持する参照生成保持手段
    と、 前記オブジェクト出力手段により出力されるオブジェク
    トへの内部参照に、他オブジェクトへの外部参照をメッ
    セージ転送先として対応付ける参照対応付け手段と、 外部参照からは自ノード上で動作するオブジェクトへの
    内部参照を、オブジェクト名からは外部参照を、前記参
    照生成保持手段に問い合わせて得る参照解決手段と、 第1の外部参照と第2の外部参照を他ノードに通知する
    外部参照通知手段と、 前記参照解決手段によって得た外部参照を含むメッセー
    ジを前記複数のノード間で送受信し、自ノード及び他ノ
    ードで動作するオブジェクトの相互呼び出し処理を行う
    メッセージ通信手段を備え、 複製作成のために前記オブジェクト出力手段によって出
    力されたオブジェクトによって複製されたオブジェクト
    への外部参照作成し、 前記複製元オブジェクトへの内部参照に、前記複製先オ
    ブジェクトへの外部参照をメッセージ転送先オブジェク
    トへの外部参照として対応付けて、 受信メッセージに含まれる外部参照から解決して得られ
    た内部参照に、メッセージ転送先オブジェクトへの外部
    参照が対応付けられている場合には、前記外部参照が示
    す転送先オブジェクトにメッセージを転送すると共に、
    メッセージ送信元ノードに対して第1の外部参照として
    前記メッセージに含まれる外部参照を、第2の外部参照
    として前記転送先オブジェクトへの外部参照を通知する
    ことによってオブジェクトの移動を行うことを特徴とす
    るノード装置。
  14. 【請求項14】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトが動作するネットワーク
    に適用されるノード装置であって、 入力したオブジェクトから自ノード上に新たなオブジェ
    クトを生成するオブジェクト入力手段と、 前記オブジェクト入力手段によって生成されたオブジェ
    クトを含む自ノード上で動作するオブジェクトの実行形
    式の所在を示す内部参照と、オブジェクトへのネットワ
    ーク全体で有効な外部参照を生成し、保持する参照生成
    保持手段と、 外部参照から自ノード上で動作するオブジェクトへの内
    部参照を、オブジェクト名から外部参照を、それぞれ、
    前記参照生成保持手段に問い合わせて得る参照解決手段
    と、 前記参照解決手段によって得た外部参照を含むメッセー
    ジを前記複数のノード間で送受信して、自ノード及び他
    ノードで動作するオブジェクトの相互呼び出し処理を行
    うメッセージ通信手段を備え、 新たに生成したオブジェクトの内部参照を生成して保持
    し、受信したメッセージに含まれる外部参照を解決して
    得られた内部参照が示すオブジェクトに前記受信メッセ
    ージを処理させることで、オブジェクトの移動を行うこ
    とを特徴とするノード装置。
  15. 【請求項15】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトを保持する複数のプロセ
    スが動作するネットワークに適用されるノード装置であ
    って、 自ノード或いは他ノードのうちいずれかのノードに、自
    ノード上で動作するオブジェクトを出力するオブジェク
    ト出力手段と、 自ノード上で動作するオブジェクトの実行形式の所在を
    示す内部参照と、オブジェクトへのネットワーク全体で
    有効な外部参照を生成し、保持する参照生成保持手段
    と、 前記オブジェクト出力手段により出力されるオブジェク
    トへの内部参照に、他オブジェクトへの外部参照をメッ
    セージ転送先として対応付ける参照対応付け手段と、 外部参照からは自ノード上で動作するオブジェクトへの
    内部参照を、オブジェクト名からは外部参照を、前記参
    照生成保持手段に問い合わせて得る参照解決手段と、 第1の外部参照と第2の外部参照を他ノードに通知する
    外部参照通知手段と、 前記参照解決手段によって得た外部参照を含むメッセー
    ジを前記複数のノード間で送受信し、自ノード及び他ノ
    ードで動作するオブジェクトの相互呼び出し処理を行う
    メッセージ通信手段と、 自ノード或いは他ノードのうちいずれかノード上に自ノ
    ード上で動作するプロセスを出力するプロセス出力手段
    と、 プロセスへの参照を生成保持するプロセス参照保持手段
    を備え、 前記プロセス出力手段によって第1のプロセスを出力し
    て、前記第1のプロセスから複製された第2のプロセス
    又は前記第1のプロセスに対応して生成された前記出力
    されたプロセスと異なる機能を有する第2のプロセスへ
    の参照及び前記第2のプロセスが保持するオブジェクト
    への外部参照を生成し、 前記第1のプロセスが保持していたオブジェクトへの内
    部参照に、前記第2のプロセスが保持しているオブジェ
    クトへの外部参照をメッセージ転送先オブジェクトへの
    外部参照として対応付けて、 受信メッセージに含まれる外部参照から解決して得られ
    た内部参照に、メッセージ転送先オブジェクトへの外部
    参照が対応付けられていた場合は、前記外部参照が示す
    転送先オブジェクトにメッセージを転送すると共に、メ
    ッセージ送信元ノードに対して第1の外部参照として前
    記メッセージに含まれる外部参照を、第2の外部参照と
    して前記転送先オブジェクトへの外部参照を通知するこ
    とを特徴とするノード装置。
  16. 【請求項16】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトを保持する複数のプロセ
    スが動作するネットワークに適用されるノード装置であ
    って、 前記プロセスを実現するプログラムモジュールの所在情
    報と当該プログラムモジュールの配置先のノードの所在
    情報とを含むプロセス配置要求に基づき、前記配置先の
    ノードに対して、前記プログラムモジュールを読み込み
    プロセスを生成するようプロセス生成要求を出力するこ
    とにより、当該プロセスを生成させるプロセス配置手段
    を備え、 第1のノード上の第1のプロセスを第2のノード上に移
    動する際、第1のプロセスを生成する際に利用したプロ
    グラムモジュールと同等或いは異なる機能を有するプロ
    グラムモジュールから第2のノード上に新たにプロセス
    を配置することを特徴とするノード装置。
  17. 【請求項17】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトを保持する複数のプロセ
    スが動作するネットワークに適用されるノード装置であ
    って、 入力したオブジェクトから自ノード上に新たなオブジェ
    クトを生成するオブジェクト入力手段と、 前記オブジェクト入力手段によって生成されたオブジェ
    クトを含む自ノード上で動作するオブジェクトの実行形
    式の所在を示す内部参照と、オブジェクトへのネットワ
    ーク全体で有効な外部参照を生成し、保持する参照生成
    保持手段と、 外部参照からは自ノード上で動作するオブジェクトへの
    内部参照を、オブジェクト名からは外部参照を、前記参
    照生成保持手段に問い合わせて得る参照解決手段と、 前記参照解決手段によって得た外部参照を含むメッセー
    ジを前記複数のノード間で送受信し、自ノード及び他ノ
    ードで動作するオブジェクトの相互呼び出し処理を行う
    メッセージ通信手段と、 入力したプロセス生成要求に応じて、プログラムモジュ
    ールからプロセスを、ノード内で一意になるよう割り当
    てたノード識別子を付して、新たに生成するプロセス生
    成手段と、 前記プロセス生成手段が生成したプロセスを、入力した
    プロセスによって使用させるプロセス入力手段とを備
    え、 入力したプロセスが使用する新規生成したプロセスに存
    在するオブジェクトの内部参照を生成して保持し、受信
    したメッセージに含まれる外部参照を解決して得られた
    内部参照が示すオブジェクトに前記受信メッセージを処
    理させることを特徴とするノード装置。
  18. 【請求項18】 複数ノードが接続され、前記各複数の
    ノード上に複数のオブジェクトが動作するネットワーク
    に適用されるノード装置であって、 自ノード上で動作するオブジェクトの実行形式の所在を
    示す内部参照と、オブジェクトへのネットワーク全体で
    有効な外部参照を生成し、保持する参照生成保持手段
    と、 外部参照からは自ノード上で動作するオブジェクトへの
    内部参照を、オブジェクト名からは外部参照を、前記参
    照生成保持手段に問い合わせて得る参照解決手段と、 他ノードから通知される第1の外部参照と第2の外部参
    照の2つの外部参照から、前記第1の外部参照が示すオ
    ブジェクトへの前記参照保持手段で保持する外部参照を
    前記第2の外部参照に置き換える外部参照置き換え手段
    を備え、 メッセージ送信先の第1のノード上のオブジェクトが、
    第2のノード上に移動していた場合に、前記第1のノー
    ドから通知される前記第1のノード上の移動元オブジェ
    クトへの第1の外部参照と前記第2のノード上の移動先
    オブジェクトへの第2の外部参照から自ノード内の前記
    移動先オブジェクトへの外部参照を通知された前記第2
    の外部参照に置き換える処理を行うことを特徴とするノ
    ード装置。
JP10220465A 1998-08-04 1998-08-04 ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置 Pending JP2000056995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10220465A JP2000056995A (ja) 1998-08-04 1998-08-04 ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10220465A JP2000056995A (ja) 1998-08-04 1998-08-04 ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置

Publications (1)

Publication Number Publication Date
JP2000056995A true JP2000056995A (ja) 2000-02-25

Family

ID=16751553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10220465A Pending JP2000056995A (ja) 1998-08-04 1998-08-04 ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置

Country Status (1)

Country Link
JP (1) JP2000056995A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007011001A1 (ja) * 2005-07-22 2007-01-25 Matsushita Electric Industrial Co., Ltd. 実行装置
JP2019075710A (ja) * 2017-10-17 2019-05-16 富士通株式会社 通信装置、及び通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224960A (ja) * 1992-02-07 1993-09-03 Mitsubishi Electric Corp メッセージ通信方式
JPH0675781A (ja) * 1992-08-28 1994-03-18 Fujitsu Ltd ジョブ環境動的変更機能を持つ処理装置および処理方法
JPH07123108A (ja) * 1993-10-27 1995-05-12 Fuji Facom Corp プロセス間通信方法
JPH10187468A (ja) * 1996-12-27 1998-07-21 Digital Vision Lab:Kk 並列分散処理システムおよびその方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224960A (ja) * 1992-02-07 1993-09-03 Mitsubishi Electric Corp メッセージ通信方式
JPH0675781A (ja) * 1992-08-28 1994-03-18 Fujitsu Ltd ジョブ環境動的変更機能を持つ処理装置および処理方法
JPH07123108A (ja) * 1993-10-27 1995-05-12 Fuji Facom Corp プロセス間通信方法
JPH10187468A (ja) * 1996-12-27 1998-07-21 Digital Vision Lab:Kk 並列分散処理システムおよびその方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007011001A1 (ja) * 2005-07-22 2007-01-25 Matsushita Electric Industrial Co., Ltd. 実行装置
JP2019075710A (ja) * 2017-10-17 2019-05-16 富士通株式会社 通信装置、及び通信方法

Similar Documents

Publication Publication Date Title
US6098111A (en) Parallel distributed processing system and method of same
EP0449500B1 (en) Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
US6438748B1 (en) Apparatus and method for conversion of messages
JPS60160463A (ja) プロセツサシステム
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
JPH0816536A (ja) マルチプロセッサシステム
JP2004252990A (ja) コンピュータ・プロセッサ及び処理装置
JPH0660039A (ja) ネットワークコンピュータ・システム処理グループ管理のための方法および装置
WO2023083038A1 (zh) 多注册中心的数据处理方法、装置、设备和存储介质
CN113672240A (zh) 一种基于容器的多机房批量自动化部署应用的方法及系统
US11500690B2 (en) Dynamic load balancing in network centric process control systems
JP2001265576A (ja) プログラム置換システム、分散処理システム及びプログラム置換方法
JP2004151800A (ja) 呼出規約変換処理の生成方法
JP2000056995A (ja) ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置
CN101335610B (zh) 一种高端以太网交换机中的arp同步方法
CN114553703B (zh) 工业设备控制策略的部署方法、装置、设备及存储介质
CN116155978A (zh) 多注册中心适配方法、装置、电子设备及存储介质
CN112527760A (zh) 数据存储方法、装置、服务器及介质
US6272524B1 (en) Distributed processing systems incorporating a plurality of cells which process information in response to single events
JPH10187468A (ja) 並列分散処理システムおよびその方法
US11496549B2 (en) Heterogeneous execution engines in a network centric process control system
JP2001092664A (ja) オブジェクト計算機システム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004133741A (ja) 監視制御システム構成設定方法および機構
JP2024002676A (ja) コントローラ、データ管理システム、データ管理プログラム、及びデータ管理方法
JP2000056994A (ja) プログラム配置方法