JPH11272622A - 並行分散処理システムおよびその方法 - Google Patents

並行分散処理システムおよびその方法

Info

Publication number
JPH11272622A
JPH11272622A JP10071019A JP7101998A JPH11272622A JP H11272622 A JPH11272622 A JP H11272622A JP 10071019 A JP10071019 A JP 10071019A JP 7101998 A JP7101998 A JP 7101998A JP H11272622 A JPH11272622 A JP H11272622A
Authority
JP
Japan
Prior art keywords
function
identifier
argument
parallel distributed
distributed processing
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
JP10071019A
Other languages
English (en)
Inventor
Takayuki Saito
隆之 斉藤
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 JP10071019A priority Critical patent/JPH11272622A/ja
Publication of JPH11272622A publication Critical patent/JPH11272622A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 多重定義された関数・メソッドなどの機能に
ついても遠隔機能呼び出しを行なうことができる並行分
散処理システムを提供する。 【解決手段】 コンピュータ110は、コンピュータ1
20において多重定義されている機能を呼び出す場合
に、同一の名前管理空間内における機能名が同一で引数
の特性が異なる複数の機能のうち一の機能を特定する機
能特定識別子および引数を含む機能呼び出しメッセージ
をネットワーク130を介してコンピュータ120に伝
送する。コンピュータ120は、前記機能特定識別子
と、当該機能特定識別子に対応する機能の手続きが記録
されたメモリ上のアドレスとの対応表を備え、前記対応
表を用いて、前記機能呼び出しメッセージに含まれる前
記機能特定識別子に対応するアドレスを得て、当該アド
レスに記憶された手続きを前記機能呼び出しメッセージ
に含まれる引数を用いて実行する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、ネットワークを介
して接続された複数のコンピュータ上のプロセス相互間
で遠隔機能呼び出しを行なう並行分散処理システムおよ
びその方法に関し、特に、多重定義された関数およびメ
ソッドについても適切に遠隔機能呼び出しを行なうこと
ができる並行分散処理システムおよびその方法に関す
る。
【0002】
【従来の技術】近年、マルチメディア情報を利用および
流通させる情報提供利用サービスアプリケーションであ
るISM(Information Super-Market)の開発が活発に行
われている。ISMでは、プロセス相互間の通信の柔軟
性を高めるために、ネットワークワイドなマルチメディ
ア並行処理を効率的に行うアプリケーション実行環境が
求められる。これに応えようとするのが、並行分散処理
システムであるこのような並行分散処理システムでは、
ネットワークを介して異なるコンピュータ上に存在する
プロセス相互間で機能呼び出しを行なうことができる。
ここで、機能呼び出しとは、あるプロセスで他のプロセ
スが提供する関数やメソッドなどの機能を利用すること
をいう。
【0003】並行分散処理システムの代表的なものに、
CORBA(Common Object RequestBroker Architectur
e) −ORB(Object Request Broker) がある。このC
ORBA−ORBでは、あるプロセスが他のプロセスの
機能を呼び出すにあたって、例えば文字列で示される機
能名と引数が呼び出し元プロセスから呼び出し先プロセ
スに転送される。呼び出し先プロセスには、文字列で示
される機能名と当該機能を実現するプログラムの実行ア
ドレスとの対応表が備えてあり、呼び出し先プロセス
は、その対応表を検索することによって実行アドレスを
取得し、呼び出された機能を実行する。
【0004】ところで、プログラミング言語には、例え
ば、C++などのオブジェクト指向プログラミング言語
のように、関数やメソッドなどの機能を、多重定義でき
るものがある。多重定義は、例えば、ある関数やメソッ
ドの引数の型や並びが複数通り存在する場合に、個々の
場合によって異なる関数名の関数を作り分け、呼び出し
側で明示的に区別するといったプログラミング上の手間
を軽減するために、同じ名前を持つ関数を引数のデータ
型、数および並びについて多重に定義するものである。
ソースプログラムに含まれる多重定義された関数は、コ
ンパイル時に、当該関数の引数の型、数および並びが検
査され、この検査結果から、対応するコードが自動的に
生成される。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
たCORBA−ORBでは、上述したように、一のプロ
セスから他のプロセスに、機能名および引数を転送して
当該他のプロセスの機能を遠隔呼び出しするため、多重
定義された機能については、呼び出し先のプロセスで
は、当該呼び出し時の引数の型と並びとを知ることが一
般的には困難であり、多重定義された機能を適切に遠隔
呼び出しすることができない。すなわち、CORBA−
ORBでは機能の識別には機能名のみを用いている。そ
のため、上述したCORBA−ORBでは、多重定義さ
れた機能を用いた遠隔呼び出しのプログラミングが禁止
されている。従って、CORBA−ORBでは、C++
などのオブジェクト指向プログラミング言語を用いて分
散プログラムを記述する場合に、遠隔呼び出しを行なう
機能に制約が課せられ、言語の特性を十分に生かした処
理ができないという問題がある。
【0006】本発明は上述した従来技術の問題点に鑑み
てなされ、ネットワークを介して接続された複数のコン
ピュータ上のプロセス相互間で、多重定義された関数や
メソッドなどの機能についても遠隔機能呼び出しを行な
うことができる並行分散処理システムおよびその方法を
提供することを目的とする。
【0007】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の観点の並行分散処理システムは、第1の演算処理
手段と第2の演算処理手段とがネットワークを介して接
続されており、前記第1の演算処理手段が実行する第1
のプロセスから、前記第2の演算処理手段が実行する第
2のプロセスが提供する機能を呼び出す並行分散処理シ
ステムであって、前記第1の演算処理手段の前記第1の
プロセスは、多重定義されている機能を呼び出す場合
に、同一の名前管理空間内における機能名が同一で引数
の特性が異なる複数の機能のうち一の機能を特定する機
能特定識別子および引数を含む機能呼び出しメッセージ
を前記ネットワークを介して前記第2の演算処理手段に
送信し、前記第2の演算処理手段の前記第2のプロセス
は、前記機能特定識別子と、当該機能特定識別子に対応
する機能の手続きが記憶されたメモリ上のアドレスとの
対応表を備え、前記機能呼び出しメッセージを受信する
と、前記対応表を用いて、前記機能呼び出しメッセージ
に含まれる前記機能特定識別子に対応するアドレスを得
て、当該アドレスに記憶された手続きを前記機能呼び出
しメッセージに含まれる引数を用いて実行する。
【0008】本発明の第1の観点の並行分散処理システ
ムでは、前記第1の演算処理手段上で動作する第1のプ
ロセスが、前記第2の演算処理手段上で動作する第2の
プロセスが提供する関数などの機能を呼び出す場合に、
同一の名前管理空間内における機能名が同一で引数の特
性が異なる複数の機能、いわゆる多重定義された機能の
うち、引数の特性が合致した一の機能を特定する機能特
定識別子が求められる。そして、この機能特定識別子お
よび引数を含む機能呼び出しメッセージが前記ネットワ
ークを介して前記第2の演算処理手段に送信される。前
記第2の演算処理手段の前記第2のプロセスでは、前記
機能呼び出しメッセージを受信すると、前記対応表を用
いて、前記機能呼び出しメッセージに含まれる前記機能
特定識別子に対応するアドレスが得られる。そして、こ
の得られたアドレスに記憶された手続きが、前記機能呼
び出しメッセージに含まれる引数を用いて実行される。
【0009】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記機能特定識別子は、ソー
スプログラムをコンパイルして前記第1のプロセスの機
械語プログラムを生成する際に、第1のデータから当該
第1のデータに比べてデータ量の少ない前記第1のデー
タの識別子である第2のデータを生成する演算法を用い
て、前記機能名が同一で引数の特性が異なる複数の機能
のそれぞれについて相互に異なるように決定されてい
る。
【0010】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記演算法は、ハッシュ関数
法である。
【0011】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記ハッシュ関数法を用いて
前記機能特定識別子を決定する際に、前記機能特定識別
子の衝突を回避するために、予め用意された複数のハッ
シュ表のサイズを所定の順序で切り換えて使用する。
【0012】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記対応表は、ソースプログ
ラムをコンパイルして前記第2のプロセスの機械語プロ
グラムを生成する際に、前記第1のプロセスの機械語プ
ログラムを生成するときに用いたものと同じ演算法を用
いて前記機能特定識別子を決定して生成されている。こ
こで、当該演算法は、好ましくは、ハッシュ関数法であ
る。
【0013】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記第2の演算処理手段の前
記第2のプロセスは、前記手続きを実行した結果を返り
値として、前記ネットワークを介して前記第1の演算処
理手段の前記第1のプロセスに出力する。
【0014】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記機能特定識別子は、前記
機能の機能名から生成した識別子と、引数のデータ型の
特性情報から生成した引数特性識別子とからなる。
【0015】また、本発明の第1の観点の並行分散処理
システムは、好ましくは、前記機能特定識別子は、前記
機能名および前記引数のデータ型の特性から得られた単
数の識別子からなる。
【0016】また、本発明の第2の観点の並行分散処理
システムは、第1の演算処理手段と第2の演算処理手段
とがネットワークを介して接続されており、前記第1の
演算処理手段が実行する第1のプロセスから、前記第2
の演算処理手段が実行する第2のプロセスが提供する機
能を呼び出す並行分散処理システムであって、前記第1
の演算処理手段の前記第1のプロセスは、機能名と、当
該機能名についての前記ネットワーク上での識別子であ
る外部機能識別子との対応を示す外部参照表を備え、多
重定義されている前記第2のプロセスの機能を呼び出す
場合に、前記外部参照表から得られた呼び出しを行なう
機能の機能名に対応する外部機能識別子、同一の名前管
理空間内における機能名が同一で引数の特性が異なる複
数の機能のうち一の機能を特定する引数特性識別子およ
び引数を含む機能呼び出しメッセージを前記ネットワー
クを介して前記第2の演算処理手段に送信し、前記第2
の演算処理手段の前記第2のプロセスは、多重定義され
た機能についての前記外部機能識別子と、前記引数特性
識別子と、当該第2のプロセス内での識別子である内部
機能識別子との内部参照表を備え、前記機能呼び出しメ
ッセージを受信すると、前記内部参照表を用いて、前記
機能呼び出しメッセージに含まれる前記外部機能識別子
および前記引数特性識別子に対応する内部機能識別子を
得て、この内部機能識別子によって特定される手続きを
前記機能呼び出しメッセージに含まれる引数を用いて実
行する。
【0017】また、本発明の第2の観点の並行分散処理
システムでは、前記第1のプロセスが、多重定義されて
いる前記第2のプロセスの機能を呼び出す場合に、前記
第1のプロセスにおいて、前記外部参照表から呼び出し
を行なう機能の機能名に対応する外部機能識別子が得ら
れ、この得られた外部機能識別子と、同一の名前管理空
間内における機能名が同一で引数の特性が異なる複数の
機能のうち一の機能を特定する引数特性識別子と、引数
とを含む機能呼び出しメッセージが、前記ネットワーク
を介して前記第1のプロセスから前記第2のプロセスに
送信される。次に、第2のプロセスによって前記機能呼
び出しメッセージが受信され、前記内部参照表を用い
て、前記機能呼び出しメッセージに含まれる前記外部機
能識別子および前記引数特性識別子に対応する内部機能
識別子が得られる。次に、当該得られた内部機能識別子
によって特定される手続きが、前記機能呼び出しメッセ
ージに含まれる引数を用いて実行される。
【0018】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記第2の演算処理手段の前
記第2のプロセスは、前記内部機能識別子から、メモリ
上のアドレスを得て、当該アドレスに記憶された手続き
を実行する。
【0019】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記引数特性識別子は、ソー
スプログラムをコンパイルして前記第1のプロセスの機
械語プログラムを生成する際に、第1のデータから当該
第1のデータに比べてデータ量の少ない前記第1のデー
タの識別子である第2のデータを生成する演算法を用い
て、前記機能名が同一で引数の特性が異なる複数の機能
のそれぞれについて相互に異なるように決定されてい
る。
【0020】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記演算法は、ハッシュ関数
法である。
【0021】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記ハッシュ関数法を用いて
前記引数特性識別子を決定する際に、前記機能特定識別
子の衝突を回避するために、予め用意された複数のハッ
シュ表のサイズを所定の順序で切り換えて使用する。
【0022】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記ハッシュ関数法を用いて
前記引数特性を決定する際に、前記機能特定識別子の衝
突を回避するために、予め用意された複数のハッシュ表
のサイズを所定の順序で切り換えて使用する。
【0023】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記内部参照表は、ソースプ
ログラムをコンパイルして前記第2のプロセスの機械語
プログラムを生成する際に、前記第1のプロセスの機械
語プログラムを生成するときに用いものと同じ演算法を
用いて前記引数特性識別子を決定して生成されている。
【0024】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記第2の演算処理手段の前
記第2のプロセスは、前記手続きを実行した結果を返り
値として、前記ネットワークを介して前記第1の演算処
理手段の前記第1のプロセスに出力する。
【0025】また、本発明の第2の観点の並行分散処理
システムは、好ましくは、前記外部機能識別子は、引数
の特性情報に応じた単数の整数値からなる機能特定識別
子である。
【0026】また、本発明の第3の観点の並行分散処理
システムは、第1の演算処理手段と第2の演算処理手段
とがネットワークを介して接続されており、前記第1の
演算処理手段が実行する第1のプロセスから、前記第2
の演算処理手段が実行する第2のプロセスが提供する機
能を呼び出す並行分散処理システムであって、前記第1
の演算処理手段の前記第1のプロセスは、機能名と、同
一の名前管理空間内における前記機能名が同一で引数の
特性が異なる複数の機能のうち一の機能を特定する機能
特定識別子と、前記機能名についての前記ネットワーク
上での識別子である外部機能識別子との対応を示す外部
参照表を備え、多重定義されている前記第2のプロセス
の機能を呼び出す場合に、呼び出しを行なう機能の機能
名および当該機能の前記機能特定識別子に対応する外部
機能識別子を前記外部参照表から得て、当該外部機能識
別子を前記ネットワークを介して前記第2の演算処理手
段に送信し、前記第2の演算処理手段の前記第2のプロ
セスは、多重定義された機能についての前記外部機能識
別子と、当該第2のプロセス内での識別子である内部機
能識別子との内部参照表を備え、前記機能呼び出しメッ
セージを受信すると、前記内部参照表を用いて、前記機
能呼び出しメッセージに含まれる前記外部機能識別子に
対応する内部機能識別子を得て、この内部機能識別子に
よって特定される手続きを前記機能呼び出しメッセージ
に含まれる引数を用いて実行する。
【0027】また、本発明の第3の観点の並行分散処理
システムでは、多重定義されている前記第2のプロセス
の機能を前記第1のプロセスが呼び出す場合に、前記第
1のプロセスにおいて、前記呼び出しを行なう機能の機
能名および当該機能の前記機能特定識別子に対応する外
部機能識別子が前記外部参照表を用いて得られる。そし
て、当該得られた外部機能識別子が、前記ネットワーク
を介して前記第2の演算処理手段に送信される。次に、
前記第2の演算処理手段の前記第2のプロセスにおい
て、受信された前記機能呼び出しメッセージに含まれる
前記外部機能識別子に対応する内部機能識別子が前記内
部参照表を用いて得られる。そして、前記第2のプロセ
スにおいて、当該得られた内部機能識別子によって特定
される手続きが、前記機能呼び出しメッセージに含まれ
る引数を用いて実行される。
【0028】また、本発明の第1の観点の並行分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、多重定義されてい
る前記第2のプロセスの機能を前記第1のプロセスが呼
び出す場合に、同一の名前管理空間内における機能名が
同一で引数のデータ型の特性が異なる複数の機能のうち
一の機能を特定する機能特定識別子および引数を含む機
能呼び出しメッセージを前記ネットワークを介して前記
第1のプロセスから前記第2のプロセスに送信し、前記
機能特定識別子と当該機能特定識別子に対応する機能の
手続きが記憶されたメモリ上のアドレスとの対応表を用
いて、前記第2のプロセスが受信した前記機能呼び出し
メッセージに含まれる前記機能特定識別子に対応するア
ドレスを得て、前記第2のプロセスにおいて前記アドレ
スに記憶された手続きを前記機能呼び出しメッセージに
含まれる引数を用いて実行する。
【0029】また、本発明の第2の観点の並行分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、前記第1のプロセ
スから前記第2のプロセスに対して多重定義されている
機能を呼び出す場合に、機能名と当該機能名についての
前記ネットワーク上での識別子である外部機能識別子と
の対応を示す外部参照表を用いて、呼び出しを行なう機
能の機能名に対応する外部機能識別子を得て、当該外部
機能識別子と、同一の名前管理空間内における機能名が
同一で引数の特性が異なる複数の機能のうち一の機能を
特定する引数特性識別子と、引数とを含む機能呼び出し
メッセージを前記ネットワークを介して前記第1のプロ
セスから前記第2のプロセスに送信し、多重定義された
機能についての前記外部機能識別子と、前記引数特性識
別子と、当該第2のプロセス内での識別子である内部機
能識別子との内部参照表を用いて、前記第2のプロセス
が受信した前記機能呼び出しメッセージに含まれる前記
外部機能識別子および前記引数特性識別子に対応する内
部機能識別子を得て、当該内部機能識別子によって特定
される手続きを前記メッセージに含まれる引数を用いて
実行する。
【0030】また、本発明の第3の観点の並行分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、多重定義されてい
る機能を前記第1のプロセスから前記第2のプロセスに
対して呼び出す場合に、機能名と、同一の名前管理空間
内における前記機能名が同一で引数の特性が異なる複数
の機能のうち一の機能を特定する引数特性識別子と、前
記機能名についての前記ネットワーク上での識別子であ
る外部機能識別子との対応を示す外部参照表を用いて、
呼び出しを行なう機能の機能名および当該機能の前記引
数特性識別子に対応する外部機能識別子を得て、当該外
部機能識別子を前記ネットワークを介して前記第2の演
算処理手段に送信し、多重定義された機能についての前
記外部機能識別子と、当該第2のプロセス内での識別子
である内部機能識別子との内部参照表を用いて、前記機
能呼び出しメッセージに含まれる前記外部機能識別子に
対応する内部機能識別子を得て、前記第2のプロセスに
おいて、前記内部機能識別子によって特定される手続き
を前記メッセージに含まれる引数を用いて実行する。
【0031】
【発明の実施の形態】以下、本発明の実施形態に係わる
並行分散処理システムおよびその方法について説明す
る。第1実施形態 図1は、本実施形態の並行分散処理システム100の構
成図である。図1に示すように、本実施形態の並行分散
処理システム100では、ネットワーク130を介し
て、第1の演算処理手段としてのコンピュータ110と
第2の演算処理手段としてのコンピュータ120とが通
信可能な状態で接続されている。 〔コンピュータ110〕コンピュータ110は、CPU
(Central Processing Unit) 113と、オペレーティン
グシステム114、ネットワーク通信システム115お
よびメモリ116を有する。オペレーティングシステム
114は、CPU113を用いて実行され、コンピュー
タ110における処理を統括的に管理する。ネットワー
ク通信システム115は、ネットワーク130を介した
コンピュータ120のネットワーク通信システム125
との間の通信を実現するためのものである。
【0032】メモリ116は、例えば、ソースプログラ
ム111a、機械語プログラム111bおよびコンパイ
ラプログラム112を記憶する。ソースプログラム11
1aは、例えば、C、C++、Java、Fortra
nあるいはLISPなどのプログラミング言語などを用
いて、サブルーチン、プロシジャー、関数およびメソッ
ドなどの機能(要素機能)を含めて記述されている。ま
た、ソースプログラム111aには、コンピュータ12
0で処理されるソースプログラム121aに記述されて
いる機能を呼び出すための所定の遠隔機能呼び出し記述
が含まれている。この遠隔機能呼び出し記述は、所定の
構文あるいはAPI(Application Programming Interfa
ce) などを用いて行なわれ、ソースプログラム111a
内に記述された関数などの機能を呼び出す内部呼び出し
記述とは識別可能になっている。
【0033】コンパイラプログラム112は、CPU1
13に読み出されて処理されることで、図2に示すよう
な、構文解析モジュール151、機械語生成モジュール
152および識別子生成モジュール153を備えた言語
処理系150を実現する。なお、言語処理系150は、
プリプロセッサおよびトランスレータとしての機能をも
備えている。言語処理系150は、ソースプログラム1
11aから機械語プログラム111bを生成し、これを
メモリ116に記憶する。
【0034】構文解析モジュール151は、ソースプロ
グラム111aを解析する過程で、遠隔機能呼び出し記
述を抽出し、この抽出した遠隔機能呼び出し記述S15
1aを識別子生成モジュール153に出力する。また、
構文解析モジュール151は、ソースプログラム111
aに含まれる遠隔機能呼び出し記述以外の記述につい
て、通常の手法で構文解析を行い、その解析結果S15
1bを機械語生成モジュール152に出力する。
【0035】識別子生成モジュール153は、遠隔機能
呼び出し記述S151aに含まれる、呼び出し対象とな
る機能の名前、引数のデータ型および並び(以下、両者
を含む概念として引数並びとも記す)から、機能特定識
別子としてのデータ量の小さな(コンパクトな)識別子
S153を生成し、当該遠隔機能呼び出し記述S151
aに相当する記述と対応付けて、機械語プログラム11
1b内に識別子S153を出力する。これにより、遠隔
機能呼び出し記述S151aによって指定される機能が
多重定義されている場合に、多重定義された個々の機能
に個別の識別子S153が割り当てられる。ここで、識
別子S153の形式(フォーマット)としては、多様な
ものが使用でき、例えば、1個の整数、1個の文字列あ
るいはそれらの組み合わせなどが使用できる。
【0036】識別子生成モジュール153における識別
子S153の生成では、遠隔機能呼び出し記述S151
aに含まれる、呼び出し対象となる機能の名前、引数の
データ型および並びと一意に対応するコンパクトな識別
子S153を得るために、例えば、ハッシュ関数法が用
いられる。ここで、ハッシュ関数法を用いた場合に異な
る入力に対して同じ出力(識別子S153)が得られ
る、いわゆる衝突が発生する可能性があり、遠隔機能呼
び出し記述S151aによって指定された多重定義され
た同一機能名の異なる機能に、同じ識別子S153が割
り当てられる可能性がある。この場合に、コンピュータ
120では、識別子S153から、多重定義された適切
な機能を特定できなくなる。本実施形態では、このよう
な衝突を回避するために、識別子生成モジュール153
に、一連のハッシュ基底値を予め用意し、衝突が発生し
た場合には、ハッシュ基底を所定の順番で切り換えて、
識別子S153を再計算する。これにより、識別子生成
モジュール153において、多重定義された同一機能名
の異なる機能に、異なる識別子S153が割り当てられ
ることが保証される。
【0037】機械語生成モジュール152は、構文解析
モジュール151からの解析結果S151bから、機械
語プログラム111bを生成する。
【0038】〔コンピュータ120〕コンピュータ12
0は、CPU123と、オペレーティングシステム12
4、ネットワーク通信システム125およびメモリ12
6を有する。オペレーティングシステム124は、CP
U123を用いて実行され、コンピュータ120におけ
る処理を統括的に管理する。ネットワーク通信システム
125は、ネットワーク130を介したコンピュータ1
10のネットワーク通信システム115との間の通信を
実現するためのものである。
【0039】メモリ126は、例えば、ソースプログラ
ム121a、機械語プログラム121bおよびコンパイ
ラプログラム122を記憶する。ソースプログラム12
1aは、例えば、ソースプログラム111aと同様に、
プログラミング言語などを用いて、サブルーチン、プロ
シジャー、関数およびメソッドなどの機能(要素機能)
を含めて記述されている。また、ソースプログラム12
1aには、ソースプログラム111aに記述された遠隔
機能呼び出し記述S151aによって呼び出し対象とさ
れた関数などの機能が記述されており、当該呼び出し対
象となっていることが、所定の構文あるいはAPIなど
を用いて記述されている。
【0040】コンパイラプログラム122は、CPU1
23に読み出されて処理されることで、図3に示すよう
な、構文解析モジュール161、機械語生成モジュール
162および識別子生成モジュール163を備えた言語
処理系160を実現する。なお、言語処理系160は、
言語処理系150と同様に、プリプロセッサおよびトラ
ンスレータとしての機能をも備えている。言語処理系1
60は、ソースプログラム121aから機械語プログラ
ム121bを生成し、これをメモリ126に記憶する。
【0041】構文解析モジュール161は、ソースプロ
グラム121aを解析する過程で、コンピュータ110
から遠隔機能呼び出しの対象となる関数などの機能の記
述を抽出し、この抽出した被遠隔機能呼び出し機能記述
S161aを識別子生成モジュール163に出力する。
また、構文解析モジュール161は、当該遠隔機能呼び
出しの対象となる機能以外の記述について、通常の手法
で構文解析を行い、その解析結果S161bを機械語生
成モジュール162に出力する。
【0042】識別子生成モジュール163は、被遠隔機
能呼び出し機能記述S161aに含まれる機能の名前、
引数のデータ型および並びから、識別子S163を生成
し、当該識別子S163と、当該被遠隔機能呼び出し機
能記述S161aが示す機能の実行開始アドレスとの対
応を示す識別子テーブル(表)170を、機械語プログ
ラム121b内に出力する。ここで、識別子生成モジュ
ール163における識別子S163の生成は、前述した
識別子生成モジュール153における識別子S153の
生成において使用されたものと同一のハッシュ関数およ
びハッシュのサイズを用いて行なわれる。従って、コン
ピュータ110からコンピュータ120に遠隔機能呼び
出しされる多重定義された個々の機能については、識別
子S153と識別子S163とが同じになる。
【0043】〔ネットワーク130〕ネットワーク13
0としては、例えば、イーサーネットやCATV(Cable
Television)などが用いられる。また、ネットワーク1
30としては、その他に、共有メモリやプロセッサ間バ
スなどを用いてもよい。
【0044】以下、並行分散処理システム100の動作
について説明する。ここでは、例えば、図4に示すよう
に、ソースプログラム111aおよび121aにおい
て、関数名「f」の関数が、1個の整数型「int」の
引数を持つ場合と、1個の浮動少数点型「float」
の引数を持つ場合と、1個の浮動少数点型「floa
t」および1個の整数型「int」の順で合計2個の引
数を持つ場合との3つの場合で同一の名前管理空間内に
おいて多重定義されており、機械語プログラム111b
に含まれる引数値が「1.234」の1個の浮動小数点
型「float」の引数を持ち関数名「f」の関数を呼
び出す遠隔機能呼び出し記述181を処理する場合の動
作について説明する。なお、名前管理空間は、例えば、
コンパイル時に、多重定義の場合を除いて、同一の名前
の関数(機能)を同一の関数であると判断し、同一のコ
ードを割り当てる範囲である。
【0045】並行分散処理システム100では、当該遠
隔機能呼び出し動作を行う前処理として、コンピュータ
110において、コンパイラプログラム112をCPU
113で処理することで、図2に示す言語処理系150
によって、機械語プログラム111bを生成する。コン
ピュータ110では、ソースプログラム111aから機
械語プログラム111bを生成する過程で、図2に示す
識別子生成モジュール153において、例えば、遠隔機
能呼び出し記述181に含まれる関数「f」の識別子で
あるID(”f”)と、関数「f」の引数の型の識別子
である「float」のID(”float”)とが生
成される。そして、遠隔機能呼び出し記述181のコン
パイラ結果である「call(P,f,1.123
4)」と、識別子「ID(”f”)」および識別子「I
D(”float”)」とが対応付けられた機械語プロ
グラム111bが生成される。ここでID(X)という
記法はXを入力として識別子生成モジュールによって生
成された識別子を意味し、より具体的には整数などであ
る。
【0046】また、コンピュータ120では、ソースプ
ログラム121aから機械語プログラム121bを生成
する過程で、多重定義された関数「f」について、関数
「f」の識別子「ID(”f”)」および識別子「ID
(”int”)」の組み合わせ、識別子「ID(”
f”)」および識別子「ID(”float”)」の組
み合わせ、および、識別子「ID(”f”)」および識
別子「ID(”float,int”)」の組み合わせ
と、関数「f(int x)」、関数「f(float
x)」および関数「f(float x, int
y)」の実行開始アドレスとの対応をそれぞれ示す識別
子テーブル170が生成され、識別子テーブル170が
機械語プログラム121bに組み込まれる。
【0047】次に、並行分散処理システム100におけ
る機械語プログラム111bの実行時の処理について説
明する。コンピュータ110では、図5に示すように、
機械語プログラム111bがCPU113で実行される
ことで本発明の第1のプロセスが生成される。そして、
機械語プログラム111bに含まれる例えば「call
(P,f,1.1234)」が実行されると、識別子
「ID(”f”)」、識別子「ID(”floa
t”)」および「Arg1=1.234」を含み、機械
語プログラム121bが解釈可能な表現形式のメッセー
ジ171が生成される。このメッセージ171は、ネッ
トワーク通信システム115から、ネットワーク130
を介して、コンピュータ120のネットワーク通信シス
テム125に伝送される。
【0048】コンピュータ120では、機械語プログラ
ム121bがCPU123で実行されることで本発明の
第2のプロセスが生成される。そして、図5に示すよう
に、ネットワーク通信システム125にメッセージ17
1が入力されると、ディスパッチャ172において、識
別子テーブル170が参照され、メッセージ171に含
まれる識別子「ID(”f”)」および識別子「I
D(”float”)」から、多重定義された関数名
「f」の関数のうち、浮動少数点型「float」の引
数を持つ関数「f(float x)」の実行開始アド
レスが得られる。そして、コンピュータ120におい
て、この実行開始アドレスを用いて、メッセージ171
に含まれる「Arg1」が示す「1.234」を引数と
して関数f(float x)が実行され、その実行結
果が、機械語プログラム111bが解釈可能な表現形式
に変換された後に、ネットワーク130を介して、コン
ピュータ120に返り値として出力される。
【0049】以上説明したように、並行分散処理システ
ム100によれば、関数名「f」の関数が多重定義され
ている場合でも、コンピュータ110において機械語プ
ログラム111bを実行中に、ネットワーク130を介
して、機械語プログラム121bに記述された関数名
「f」の関数を呼び出すことができる。すなわち、機械
語プログラム111bから、多重定義された関数名
「f」の複数の関数のうち引数が浮動少数点型の関数
「f(float x)」を、機械語プログラム121
bから適切に呼び出すことができる。そのため、並行分
散処理システム100によれば、ソースプログラム11
1aおよび121aを記述した関数などの機能の多重定
義をサポートしたプログラミング言語の特性を効果的に
利用した遠隔機能呼び出しを実現できる。
【0050】また、上述したように、並行分散処理シス
テム100によれば、遠隔機能呼び出し時に、1個の整
数や1個の文字列あるいはそれらの組み合わせなどのコ
ンパクトな識別子S153を含むメッセージ171が、
コンピュータ110からコンピュータ120に伝送さ
れ、コンピュータ120では、この識別子S153を用
いて識別子テーブル170から当該関数の実行開始アド
レスが得られる。その結果、識別子S153に対応する
実行開始アドレスを識別子テーブル170から検索する
処理を高速に実現できる。また、識別子テーブル170
の構造を工夫することにより、線型検索法のみならず、
ハッシュ法、平衡木法など効率的な検索法を採用でき
る。
【0051】なお、上述した実施形態では、図5に示す
ように、関数名「f」の関数の識別子「ID(”
f”)」、引数並びの識別子「ID(”floa
t”)」および引数「Arg1=1.234」を含むメ
ッセージ171を生成した場合を例示したが、例えば、
図6に示すように関数名「f」および引数並びを示す単
数の識別子「ID(”f”,”float”)」を生成
し、この識別子「ID(”f”,”float”)」を
含むメッセージ191を、ネットワーク130を介し
て、コンピュータ110からコンピュータ120に出力
してもよい。この場合には、機械語プログラム121b
には、関数および引数並びを示す単数の識別子と、その
関数の実行開始アドレスとの対応を示す識別子テーブル
190が組み込まれる。
【0052】また、関数fおよび引数の型の識別子を含
むメッセージを出力するのではなく、図7に示すよう
に、関数名「f」および引数並び「float」という
文字列そのものを含むメッセージ195を、ネットワー
ク130を介して、コンピュータ110からコンピュー
タ120に出力してもよい。この場合には、機械語プロ
グラム121bには、関数名および引数並びを表現する
文字列と、その関数の実行開始アドレスとの対応を示す
識別子テーブル196が組み込まれる。
【0053】第2実施形態 以下、本発明のその他の実施形態に係わる並行分散処理
システムについて説明する。本実施形態の並行分散処理
システムは、分散したリソースが結合されたネットワー
クに対して、これをひとつの統合的な計算環境として、
そのネットワーク上で大域的な処理を行う。本実施形態
の並行分散処理システムの具体的な構成を説明する前
に、当該並行分散処理システムで採用される大域並行計
算の概念と、オブジェクト管理およびメッセージパッシ
ング機能の概念とを説明する。
【0054】大域並行計算の方式 まず、本実施の形態で行う大域並行計算について説明す
る。図8は、本実施形態における大域計算の概念構成を
示す図である。大域計算(Global Computation)は、広域
(Wide Area) のネットワーク上の計算であって、そこで
の分散リソースを論理的に一体のものとして捉え、そし
てその上で実行される計算である。ここで、広域のネッ
トワークとは、インターネットや、CATV網、衛星通
信など多様な通信メディアが混在しているものであり、
分散リソースとは、コンピュータ(計算機ノード)など
のハードウェアに加えて、データベースや高性能計算サ
ーバ、WWWページ等の情報ソースなど、計算ポテンシ
ャルを提供するものである。また、計算とは、広い範囲
の種々の処理の実行を含む。
【0055】並行計算の基本パラダイム このような大域計算の基本方式は、分散モジュールが非
同期のメッセージ交換によって並行計算を実行し、大域
的にはそのメッセージの連鎖によって計算を進行させる
ものである。なお、広域の分散・協調計算への適合性を
考慮すれば、同期性の少ない計算の枠組みの提供が望ま
しい。
【0056】この大域計算を実行する分散モジュール
を、並行オブジェクトと呼ぶ。この並行オブジェクト
は、ある大域計算空間上で表される大域参照で管理す
る。したがって、大域計算空間は、並行オブジェクトの
集合と、大域参照を用いて示されるオブジェクト間関係
との組である。並行オブジェクトは、計算空間上の計算
実体であり、リモート呼出可能な分散オブジェクト、分
散関数、あるいは、大域共有変数である。そして、これ
らにより、分散オブジェクト指向計算、分散手続き(関
数)呼び出し、および、大域共有変数というパラダイム
を持った並行計算を行う。
【0057】このような計算を行うための、分散オブジ
ェクトメソッドや分散関数の呼出や大域共有変数へのア
クセスという並行オブジェクト間の通信は、非同期メ
ッセージ送信(返値なしの一方向の通信)、遅延評価
型同期呼び出し(返値にアクセスしたとき、まだ返値が
到着していなければ、到着まで呼出側がブロックす
る)、完全同期呼出(返値到着まで呼出側がブロック
する)という3種類の方法により行う。これらの通信を
総称してメッセージと呼ぶ。
【0058】メッセージ上では並行オブジェクト間で、
任意のデータ構造体を送ることができる。並行オブジェ
クト間のメッセージでデータ構造体を扱うには、データ
構造を論理形式で処理しなければならない。従って、メ
ッセージ通信では、送信する引数のデータ構造をトレー
スし、その構造体要素を論理形式にフォーマットする機
能と、論理形式から元のデータと同じ構造体を生成する
機能を有し、これによりデータ構造体の送受信を実現す
る。
【0059】メッセージに基づく処理の実行(以降、こ
れを評価と言う場合もある。)のうち、分散オブジェク
トメソッドの計算と大域共有変数のアクセスは、そのオ
ブジェクトにおいて排他的かつアトミック(不可分)に
実行する。したがって、同一のオブジェクト上で複数の
メッセージを並行して評価したい場合や、メソッド内で
遅延処理をしたい場合は、それらを非同期メッセージに
分割した形で記述し処理する。また、実際に稼働させる
プログラミング言語によって、メソッドがオブジェクト
に属するのであれば、その実行はそのオブジェクトで行
う。メソッドが汎関数から派生するものであれば、実行
はそのメソッドの所在で行う。なお、計算の演算対象の
スコープは、並行オブジェクトの内部であり、リモート
オブジェクトのオペランドを直接見ることはできない。
【0060】オブジェクト管理とメッセージパッシング
機能 大域計算空間に配置する並行オブジェクトは、ネットワ
ークノードにプロセスを生成して管理する。計算空間
は、同一のネットワーク環境上に複数のものをそれぞれ
個別に形成し管理することができる。プロセスは、並行
オブジェクトのための計算環境である。図9(A)に並
行オブジェクトとプロセスとの関係を、図9(B)に並
行オブジェクトの内部状態構成を示す。
【0061】プロセスは、大域参照とその管理の機能
と、並行オブジェクト間のメッセージパッシングの機構
を提供する。メッセージパッシング機構は、アプリケー
ション言語インタフェース(API) と、OSやハード
ウェアに対するシステムインターフェースを備える。ま
た、オブジェクトとプロセスは、計算空間上をダイナミ
ックに移動することが可能である。これらの機能は、プ
ログラミング言語やOS、ハードウェア、ネットワーク
といった実行環境の違いに適応して稼働できる。メッセ
ージは、異なる言語間でも送信可能であり、また、前述
したように、任意のデータ構造体を引数として扱える。
プロセスの集合として得られる実行環境は、大域空間上
で共通の仮想的計算環境として機能する。
【0062】以下、本実施形態の並行分散処理システム
の具体的構成について説明する。図10は、本発明の実
施形態に係わる並行分散処理システム200の部分構成
図である。図10に示すように、並行分散処理システム
200内では、例えば、第1の演算処理手段としてのコ
ンピュータ210および第2の演算処理手段としてのコ
ンピュータ220が、ネットワーク130を介して接続
されている。なお、ネットワーク130には、コンピュ
ータ210および220の他に複数のコンピュータが接
続されているが、図10では省略されている。
【0063】ここで、コンピュータ210および220
の構成は、ソースプログラム111a,121aおよび
機械語プログラム111bおよび121bを除いて、そ
れぞれ図1に示すコンピュータ110および120と同
じである。具体的には、コンピュータ210は、図1に
示すCPU113において所定の機械語プログラムを実
行して、図10に示すように、分散オブジェクト25
1、分散関数213およびメッセージパッシング機能2
14を持つプロセス211を生成する。また、コンピュ
ータ220は、図1に示すCPU123において所定の
機械語プログラムを実行して、図10に示すように、分
散オブジェクト222、分散関数223、メッセージパ
ッシング機能224および大域共有変数225を持つプ
ロセス221を生成する。
【0064】図11は、プロセス211および221の
機能を説明するための図である。図11に示すように、
プロセス211は、その機能として、並行オブジェクト
(Concurrent Objects)251、アプリケーション・プロ
グラミング機能(Application Programming Features)2
52、メッセージ・パッシング・オペレータ(Message P
assing Operator)253、リファレンス・リソルバー(R
eference Resolver:参照解決器) 254、通信メディア
・インタフェース(Communication Media Interface) 2
55、メッセージ評価スケジューラ(Message Evaluatio
n Scheduler)257、システム・ディペンデエント・ツ
ール(System Dependent Tools)259、開発ツール(Dev
elopment Tools) 260、システム・イニシャライザー
(System Initializer)261およびオペレーティングシ
ステム・インタフェース(Operating System Interface)
262を有する。
【0065】〔アプリケーション・プログラミング機能
252〕アプリケーション・プログラミング機能252
は、並行オブジェクト251からのメッセージ送信要求
を受けつける機能と、着信したメッセージに従って、例
えばメソッドや関数などの並行オブジェクト251の機
能を呼び出す機能とを持つ。また、アプリケーション・
プログラミング機能252は、並行オブジェクト251
を実装しているプログラミング言語の処理系に依存した
実装形態をとる部分と、プログラミング言語に依存せず
共通の実装形態をとる部分とから構成されている。アプ
リケーション・プログラミング機能252は、またメッ
セージに含まれる引数データを共通表現と内部表現との
間で変換する処理を行う。すなわち、アプリケーション
・プログラミング機能252は、メッセージ送信および
着信に関連したAPI (Application Programming Inte
rface)を提供する
【0066】なお、アプリケーション・プログラミング
機能252は、メッセージ送信時の機能として、図15
に示すように、センダー(Sender)400、シンクコーラ
(Sync Caller) 401、ディファードコーラ(Deffered
Caller) 402、リターンバリューハンドラー(Return
Value Handler)403、ストラクチャーパッカー(Struc
ture Packer)404およびストラクチャーエクスパンダ
(Structure Expander)405を備えている。また、アプ
リケーション・プログラミング機能252は、メッセー
ジ受信時の機能として、図16に示すように、プリイン
ボーク(Pre-Invoke)500、ファンクションインボーカ
(Function Invoker)501、ポストインボーク(Post-In
voke) 502、ストラクチャイクスパンダ503(Struc
tre Expander) およびストラクチャパッカー(Structure
Packer)504を備えている。
【0067】〔リファレンス・リソルバー254〕リフ
ァレンス・リソルバー254は、ローカル(同一プロセ
ス内)またはリモート(異なるプロセス内)に存在する
並行オブジェクト、その関数およびメソッドからの参照
およびこれらに対しての参照を、プロセス内の参照表群
254aを用いて大域的に管理する。
【0068】図12は、参照表群254aの構成図であ
る。図12に示すように、参照表群254aは、内部参
照表としてのローカル参照表群301、外部参照表とし
てのリモート参照表群302、プロセス参照表303、
ドメイン参照表304およびネットワークノード参照表
305からなる。
【0069】図13は、ローカル参照表群301および
ドメイン参照表304を説明するための図である。 ローカル参照表群301:ローカル参照表群301は、
それぞれクラス、インスタンス、メソッドおよび関数に
ついてのローカルクラス参照表310、ローカルインス
タンス参照表311、ローカルメソッド参照表312お
よびローカル関数参照表313からなる。ローカル関数
参照表313は、図13に示すように、外部機能識別子
としてのリモート関数ID、内部機能識別子としてのロ
ーカル関数ID、機能特定識別子としての引数並びI
D、プリント名、ドメイン参照リストおよびドメイン内
名の5つのフィールドを有する。リモート関数IDは、
その関数の外部識別子であり、図10に示すプロセス2
11の外部からは、このリモード関数IDを外部識別子
として用いて関数を指定して呼び出しを行う。ローカル
関数IDは、プロセス211内での関数識別子であり、
プロセス211内に存在する関数については、このロー
カル関数IDを用いて、アクセスが行われる。
【0070】引数並びIDは、相互に異なる引数並びを
持つ多重定義された同一関数名の複数の関数について、
プロセス221の機械語プログラムのコンパイル時に前
述した第1実施形態に示したハッシュ関数法を用いて生
成された識別子である。すなわち、多重定義された同一
関数名の複数の関数は、共通のリモート関数IDおよび
ローカル関数IDを持つが、この引数並びIDが相互に
異なる。引数並びIDとしては、1個の整数、1個の文
字列あるいはそれらの組み合わせなどが使用できる。
【0071】プリント名は、ソースプログラム上での関
数名であり、例えばC++で実装された関数であれば、
その関数名となる。ドメイン参照リストは、その関数が
所属するドメイン参照表304へのポインタリストであ
る。ドメイン参照リストは、リスト構造のデータで示さ
れる。これは、当該関数が複数のドメインに属する場合
の表現を可能にするためである。ドメイン内名は、名前
空間上のドメイン内における名前であり、この名前を用
いて関数の指定呼び出しが行われる。
【0072】ローカルクラス参照表310、ローカルイ
ンスタンス参照表311およびローカルメソッド参照表
312は、基本的に、前述したローカル関数参照表31
3と同じ構成をしている。但し、クラスおよびインスタ
ンスには引数がないため、ローカルクラス参照表310
およびローカルインスタンス参照表311には、引数並
びIDのフィールドは設けられていない。
【0073】ドメイン参照表304:ドメイン参照表3
04は、ドメインの参照情報を管理するための表であ
る。ドメインは、階層構造をとることができ、一のドメ
イン中に他のドメインを含むことができる。図13に示
すように、ドメイン参照表304は、メンバー参照、上
位ドメイン参照およびドメイン名を有する。メンバー参
照は、そのドメインの構成要素であるクラス、インスタ
ンス、メソッド関数への参照およびサブドメイン参照へ
のポインタを示している。上位メイン参照は、そのドメ
インの上位のドメインへのポインタリストを示してい
る。ここで、上位ドメイン参照にリスト構造を用いたの
は、一のドメインが複数の上位ドメインを持つことがあ
るためである。ドメイン名は、名前空間上のドメイン名
を示している。
【0074】図14は、リモート参照表群302、プロ
セス参照表303およびネットワークノード参照表30
5を説明するための図である。 リモート参照表群302:リモート参照表群302は、
メッセージ送信時に、大域参照からネットワークノード
(ネットワークに接続されたコンピュータ)、プロセ
ス、リモートID(識別子)を得るための管理表であ
る。リモート参照表群302は、それぞれクラス、イン
スタンス、メソッドおよび関数についてのリモートクラ
ス参照表320、リモートインスタンス参照表321、
リモートメソッド参照表322およびリモート関数参照
表323からなる。リモート関数参照表323は、プロ
セス211内に存在する関数の外部参照用表である。
【0075】図14に示すように、リモート関数参照表
323は、リモート関数ID、ローカル関数ID、引数
並びID、プリント名、ドメイン参照リストおよびドメ
イン内名の5つのフィールドを有する。リモート関数I
D、引数並びID、ドメイン参照リストおよびドメイン
内ネームの意味は、前述したローカル関数参照表313
の場合と同じである。ここで、引数並びIDは、プロセ
ス211の機械語プログラムを生成するときに、プロセ
ス221の機械語プログラムを生成するときに用いたも
のと同じハッシュ関数を用いて生成される。従って、プ
ロセス211からプロセス221に遠隔機能呼び出しさ
れる多重定義された個々の機能については、図13に示
すローカル関数参照表313の引数並びIDと図14に
示すリモート関数参照表323の引数並びIDとは同じ
になる。プロセス参照は、そのリモート関数が存在する
プロセスの所在に関する情報であり、例えば、プロセス
参照表303へのポインタを示す。
【0076】プロセス参照表303:プロセス参照表3
03は、プロセスの所在を示す情報を格納する表であ
る。図14に示すように、プロセス参照表303は、ノ
ード参照、プロセスID、ドメイン参照リストおよびド
メイン内名の4つのフィールドを有する。ここで、ドメ
イン参照リストおよびドメイン内名の意味は、前述した
ものと同じである。ノード参照は、ネットワークノード
参照表305へのポインタを示す。プロセスIDは、参
照の対象となるプロセスの外部識別子を示している。
【0077】ネットワークノード参照表305:ネット
ワークノード参照表305は、ノード名および当該ノー
ド名のネットワークノード(コンピュータ)の通信メデ
ィア参照のフィールドを有する。通信メディア参照は、
プロセス参照表303に登録されている対応するプロセ
スが存在するネットワークに接続されたコンピュータの
通信メディア参照表306へのポインタを示す。通信メ
ディア参照表306は、通信メディアおよび当該通信メ
ディアにおけるネットワークアドレスの2つのフィール
ドを有する。通信メディアは、通信手段を示しており、
例えばイーサーネットやATMなどを示す。ネットワー
クアドレスは、通信手段に応じたコンピュータのネット
ワークアドレスを示しており、例えばIPアドレスやD
NS(Domain Name System)ネームなどを示す。
【0078】上述した参照表群254aは、プロセスの
生成時に、プロセス相互間の参照関係に基づいて初期設
定される。また、分散オブジェクトが生成されたときや
新たなプログラムモジュールが配置されたときには、新
たな参照が参照表群254aに登録される。大域参照か
らその参照対象の情報への変換を、参照解決と呼ぶ。そ
の変換は、大域参照あるいはそれを表わす名前から、オ
ブジェクトやドメイン、外部システムへの情報を得るも
のである。参照の解決は、オブジェクトの識別情報を特
定できるまで再帰的に動作させる。
【0079】〔メッセージ・パッシング・オペレータ2
53〕メッセージ・パッシング・オペレータ253は、
アプリケーション・プログラミング機能252から入力
したメッセージの送信処理を行なうメッセージセンダー
(Message Sender)256と、リファレンス・リソルバー
254の機能を用いて、通信メディア・インタフェース
255を介してネットワーク130から着信したメッセ
ージに含まれる宛て先オブジェクトのリモートIDをロ
ーカルIDに変換するなどのアプリケーション・プログ
ラミング機能252における処理の前処理を行なうメッ
セージディスパッチャー(Message Dispatcher)258と
を有する。
【0080】なお、メッセージセンダー256は、図1
5に示すように、メッセージ送信時に使用されるセンデ
ィングラウンチャ(Sending Launcher)410、コーリン
グラウンチャ(Calling Launcher)411、メッセージコ
ンストラクター(Message Constructor) 412およびエ
ラーオブザーバハンドラ(Error Observer/Handler)41
3を備えている。
【0081】また、メッセージディスパッチャー258
は、図16に示すように、メッセージ着信時に使用され
るメッセージディストリビュータ(Message Distribute
r) 510およびメッセージディストラクター(Message
Destructer)511を備えている。
【0082】〔メッセージ評価スケジューラ257〕メ
ッセージ評価スケジューラ257は、通信メディア・イ
ンタフェース255を介してネットワーク130から複
数のメッセージを着信した場合に、これら複数のメッセ
ージの処理順序を決定する。
【0083】〔通信メディア・インタフェース255〕
通信メディア・インタフェース255は、メッセージセ
ンダー256から入力した宛て先情報(リモートIDお
よびネットワークアドレス)と、共通表現に変換された
引数データとから、ネットワーク130を介して出力す
るのに適した形式のパケットなどのバイト列であるメッ
セージを生成し、この生成したメッセージをネットワー
ク130に出力する。また、通信メディア・インタフェ
ース255は、ネットワーク130を介して着信したバ
イト列からなるメッセージをメッセージディスパッチャ
ー258に出力する。通信メディア・インタフェース2
55は、図15および図16に示すように、リモートプ
ロシジャーコーラ(Remote Procedure Caller) 420、
出力キュー421、入力キュー422およびリモートプ
ロシジャーコーリ(Remote ProcedureCallee) 420を
備えている。
【0084】以下、並行分散処理システム200の動作
について説明する。本実施形態では、「f(int
x)」、「f(float x)」および「f(flo
at x, int y)」のように、メソッド名
「f」が、引数並びが異なる3つのメソッドに多重定義
さている場合に、図10および図17に示すプロセス2
11の分散オブジェクト251からプロセス221の分
散オブジェクト222に対して、整数型の引数を持つメ
ソッド「f(int x)」を遠隔機能呼び出しする場
合の動作について説明する。
【0085】この場合には、図11に示すリファレンス
・リソルバー254が備える参照表群254aには、図
18(A),(B)に示すリモートインスタンス参照表
321aおよびリモートメソッド参照表323aと、図
19(A),(B)に示すローカルインスタンス参照表
311aおよびローカルメソッド参照表313aと、図
20に示すプロセス参照表303a、ネットワークノー
ド参照表305aおよび通信メディア参照表306aが
含まれる。
【0086】並行分散処理システム200の動作を説明
する前に、図18(A),(B)、図19(A),
(B)および図20に示すに示すリモートインスタンス
参照表321a、リモートメソッド参照表323a、ロ
ーカルインスタンス参照表311a、ローカルメソッド
参照表313a、プロセス参照表303a、ネットワー
クノード参照表305aおよび通信メディア参照表30
6aの内容について説明する。
【0087】図18(A)に示すように、図17に示す
プロセス211のリモートインスタンス参照表321a
には、図17に示す分散オブジェクト222についての
項目が設けられ、当該項目には、分散オブジェクト22
2のリモートインスタンスID「#0123」およびド
メイン内名「”INSTANCE”」が登録されてい
る。また、図18(B)に示すように、プロセス211
のリモートメソッド参照表323aには、多重定義され
たメソッド「f(int x)」、「f(float
x)」および「f(float x, int y)」
の項目が設けられ、引数並びIDとして、それぞれ「#
0070」、「#0071」および「#0072」が登
録されている。また、共通のリモートメソッドID「#
0002」およびドメイン内名「”f”」が登録されて
いる。
【0088】一方、図19(A)に示すように、図17
に示すプロセス221のローカルインスタンス参照表3
11aには、図17に示す分散オブジェクト222につ
いての項目が設けられ、当該項目には、リモートインス
タンスID「#0123」およびローカルインスタンス
ID「#1000」が登録されている。また、図19
(B)に示すように、プロセス221のローカルメソッ
ド参照表313には、多重定義されたメソッド「f(i
nt x)」、「f(floatx)」および「f(f
loat x, int y)」項目が設けられ、引数
並びIDとして、それぞれ「#0070」、「#007
1」および「#0072」が登録されている。また、ロ
ーカルメソッドIDとして、それぞれ「#2001」、
「#2002」および「#2003」が登録されてい
る。さらに、共通のリモートメソッドID「#000
2」が登録されている。
【0089】さらに、図20に示すように、プロセス2
11のプロセス参照表303aには、プロセス221に
ついての項目が設けられ、当該項目にはプロセスID
「#0055」が登録され、ノード参照にはネットワー
クノード参照表305aへのポインタが登録されてい
る。ネットワークノード参照表305aにおけるプロセ
ス参照表303aからポインタによって指し示された項
目には、通信メディア参照表306aにおける通信メデ
ィアが「イーサーネット」でネットワークアドレス「1
92.168.1.1」の項目へのポインタが登録され
ている。
【0090】先ず、図10に示すコンピュータ210上
のプロセス211において、分散オブジェクト251か
ら、図11に示すアプリケーション・プログラミング機
能252に、メソッド「f(int x)」についての
メソッド呼び出しメッセージが出力される。メソッド呼
び出しメッセージは、呼び出しを行なうメソッドを提供
する図17に示す分散オブジェクト(インスタンス)2
22への参照と、多重定義されたメソッドfへの参照
と、引数データと、引数並びに対応した引数並びID
「#0070」を含んでいる。メソッド呼び出しメッセ
ージは、アプリケーション・プログラミング機能252
で解釈され、引数データ600が共通表現の引数データ
600aに変換される。
【0091】次に、メッセージセンダー256におい
て、図18(A)に示すリモートインスタンス参照表3
21aが参照され、メソッド呼び出しメッセージに含ま
れる分散オブジェクト222への参照から、リモートイ
ンスタンスID「#0123」が得られる。また、メッ
セージセンダー256において、図18(B)に示すリ
モートメソッド参照表323aが参照され、メソッドf
への参照から、リモートメソッドID「#0002」が
得られる。
【0092】また、リモートインスタンス参照表321
aおよびリモートメソッド参照表323aからのポイン
タによって指定された図20に示すプロセス参照表30
3a、ネットワークノード参照表305aおよび通信メ
ディア参照表306aから、プロセス221のプロセス
ID「#0055」およびそのネットワークアドレス
「192.168.1.1」が得られる。
【0093】次に、通信メディア・インタフェース25
5において、リモートインスタンスID「#012
3」、リモートメソッドID「#0002」、プロセス
ID「#0055」、引数並びID「#0070」、ネ
ットワークアドレス「192.168.1.1」および
共通表現の引数データ600aが、バイト列形式(パケ
ット)に組み立てられて遠隔機能呼び出しメッセージと
して、ネットワーク130を介して、コンピュータ22
0のプロセス221に送信される。
【0094】プロセス221では、通信メディア・イン
タフェース255を介して受信したプロセス211から
の遠隔機能呼び出しメッセージが、メッセージディスパ
ッチャー258に出力される。メッセージディスパッチ
ャー258では、リファレンス・リソルバー254の参
照表群254aを構成する図19(A)に示すローカル
インスタンス参照表311aが参照され、遠隔機能呼び
出しメッセージに含まれるリモートインスタンスID
「#0123」をキーとしてローカルインスタンスID
「#1000」が得られる。また、ローカルメソッド参
照表313aが参照され、遠隔機能呼び出しメッセージ
に含まれるリモートメソッドID「#0002」および
引数並びID「#0070」からローカルメソッドID
「#2001」が得られる。
【0095】このローカルインスタンスID「#100
0」およびローカルメソッドID「#2001」は、図
11に示すプロセス221のメッセージディスパッチャ
ー258からアプリケーション・プログラミング機能2
52に出力される。アプリケーション・プログラミング
機能252では、ローカルインスタンスID「#100
0」およびローカルメソッドID「#2001」に基づ
いて、分散オブジェクト222が提供するメソッド「f
(int x)」の実行アドレスが得られると共に、遠
隔機能呼び出しメッセージに含まれる共通表現の引数デ
ータ600aがプロセス221の内部表現の引数データ
600bに変換される。そして、引数データ600bを
引数として、メソッド「f(int x)」が実行さ
れ、実行結果が生成される。この実行結果は、プロセス
221のリモートインスタンス参照表321など参照表
群を参照して返り値としてプロセス211に送信され
る。
【0096】以上説明したように、並行分散処理システ
ム200によれば、メソッド名「f」が多重定義されて
いる場合でも、ネットワーク130を介して接続された
コンピュータ210上で動作するプロセス211の分散
オブジェクト251から、コンピュータ220上で動作
するプロセス221の分散オブジェクト222が提供す
るメソッド「f(int x)」を遠隔呼び出しでき
る。また、並行分散処理システム200によれば、引数
並びIDとして例えば簡単な1個の整数が用いられ、呼
び出し先のプロセス221において図19(B)に示す
ローカルメソッド参照表313aを用いて、ローカルメ
ソッドIDを高速に得ることができる。以上の説明は分
散オブジェクトのメソッドの呼び出しについてである
が、分散関数の呼び出しについてもリモート関数表、ロ
ーカル関数表を用いて同様に実現される。
【0097】本発明は上述した実施形態には限定されな
い。例えば、上述した第2実施形態の並行分散処理シス
テム200では、図18(B)に示すように、多重定義
されたメソッド相互間で同じリモートメソッドIDを持
つ場合を例示したが、多重定義されたメソッド(機能)
相互間で図21(A)に示すように異なるリモートメソ
ッドIDを持つようにしてもよい。この場合には、メソ
ッド遠隔呼び出し時に、ドメイン内名および引数並びI
Dをキーとして図21に示すリモートメソッド参照表3
23bを参照してリモートメソッドIDを得て、リモー
トメソッドIDおよび引数並びIDの双方ではなく、リ
モートメソッドIDのみをプロセス211からプロセス
221に出力する。プロセス211では、図21(B)
に示すように、多重定義されたメソッドについてリモー
トメソッドIDからローカルメソッドIDが一意に決ま
るローカルメソッド参照表313bを用いて、リモート
メソッドIDからローカルメソッドIDを得る。
【0098】また、上述した実施形態では、呼び出しを
行なう機能の一例として、メソッドを例示したが、呼び
出しを行なう機能は、メソッドなどのその他の機能であ
ってもよい。
【0099】
【発明の効果】以上説明したように、本発明の並行分散
処理システムおよびその方法によれば、第1の演算処理
手段の第1のプロセスから、第2の演算処理手段の第2
のプロセスが提供する多重定義された機能を遠隔呼び出
しすることができる。そのため、本発明の並行分散処理
システムによれば、機能の多重定義をサポートしたプロ
グラミング言語の特性を効果的に利用した遠隔機能呼び
出しを実現できる。また、本発明の並行分散処理システ
ムおよびその方法によれば、第1の演算処理手段の第1
のプロセスから第2の演算処理手段の第2のプロセスに
は、メソッド名および引数の型の特性を示す情報をその
まま送信するのではなく、それらを特定する機能特定識
別子を送信するため、機能特定識別子としてデータ量、
バイト数、文字数などが少ないコンパクトなものを用い
ることで、第2のプロセスにおいて呼び出し対象となる
機能を高速に特定できる。
【図面の簡単な説明】
【図1】図1は、本発明の第1実施形態の並行分散処理
システムの構成図である。
【図2】図2は、遠隔機能呼び出し元のコンピュータに
おいて用いられる機械語プログラムを生成する過程を説
明するための図である。
【図3】図3は、遠隔機能呼び出し先のコンピュータに
おいて用いられる機械語プログラムを生成する過程を説
明するための図である。
【図4】多重定義されたメソッドを遠隔機能呼び出しす
る場合を説明するための図である。
【図5】図5は、遠隔機能呼び出しを行なう際に出力さ
れるメッセージの内容と処理の流れを説明するための図
である。
【図6】図6は、遠隔機能呼び出しを行なう際に出力さ
れるその他の変形例でのメッセージの内容と処理の流れ
を説明するための図である。
【図7】図7は、遠隔機能呼び出しを行なう際に出力さ
れるその他の変形例でのメッセージの内容と処理の流れ
を説明するための図である。
【図8】図8は、本発明の第2実施形態における大域計
算の概念構成を示す図である。
【図9】図9(A)は並行オブジェクトとプロセスとの
関係を示す図、図9(B)は図9(A)に並行オブジェ
クトの内部状態構成を示す図である。
【図10】図10は、本発明の第2実施形態に係わる並
行分散処理システムの部分構成図である。
【図11】図11は、図10に示す並行分散処理システ
ムの機能ブロック図である。
【図12】図12は、図11に示す参照表群の内部構成
図である。
【図13】図13は、図12に示すローカル参照表群お
よびドメイン参照表を説明するための図である。
【図14】図14は、図12に示すリモート参照表群、
プロセス参照表およびネットワークノード参照表を説明
するための図である。
【図15】図15は、図11に示す並行分散処理システ
ムの送信機能ブロック図である。
【図16】図16は、図11に示す並行分散処理システ
ムの受信機能ブロック図である。
【図17】図17は、図11に示す並行分散処理システ
ムの動作の一例を説明するための図である。
【図18】図18(A)は図17に示すリモートインス
タンス参照表の構成図であり、図18(B)は図17に
示すリモートメソッド参照表の構成図である。
【図19】図19(A)は図17に示すローカルインス
タンス参照表の構成図であり、図19(B)は図17に
示すローカルメソッド参照表の構成図である。
【図20】図20は、図17に示すプロセス参照表の構
成図である。
【図21】図20(A)は本発明の第2実施形態に係わ
る並行分散処理システムの変形例におけるリモートメソ
ッド参照表の構成図、(B)はローカルメソッド参照表
の構成図である。
【符号の説明】
110,120…コンピュータ、113,123…CP
U、114,124…オペレーティングシステム、11
5,125…ネットワーク通信システム、116,12
6…メモリ、111a,121a…ソースプログラム、
111b,121b…機械語プログラム、112,12
2…コンパイラプログラム、130,…ネットワーク、
151,161…構文解析モジュール、152,162
…機械語生成モジュール、153,163…識別子生成
モジュール、170…識別子テーブル(表)、171,
191,195…メッセージ、172…ディスパッチ
ャ、210,220…コンピュータ、211,221…
プロセス、222,251…並行オブジェクト(分散オ
ブジェクト)、213,223…分散メソッド、21
4,224…メッセージパッシング機能、252…アプ
リケーション・プログラミング機能、253…メッセー
ジ・パッシング・オペレータ、254…リファレンス・
リソルバー、254a…参照表群、255…通信メディ
ア・インタフェース、256…メッセージセンダー、2
57…メッセージ評価スケジューラ、258…メッセー
ジディスパッチャー、259…システム・ディペンデエ
ント・ツール、260…開発ツール、261…システム
・イニシャライザー、262…オペレーティングシステ
ム・インタフェース、301…ローカル参照表群、30
2…リモート参照表群、303…プロセス参照表、30
4…ドメイン参照表、305…ネットワークノード参照
【手続補正書】
【提出日】平成11年4月28日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項2
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】請求項8
【補正方法】変更
【補正内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】請求項10
【補正方法】変更
【補正内容】
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】請求項12
【補正方法】変更
【補正内容】
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】請求項19
【補正方法】変更
【補正内容】
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】請求項20
【補正方法】変更
【補正内容】
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】請求項21
【補正方法】変更
【補正内容】
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】請求項27
【補正方法】変更
【補正内容】
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】請求項29
【補正方法】変更
【補正内容】
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】請求項31
【補正方法】変更
【補正内容】
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】請求項38
【補正方法】変更
【補正内容】
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の観点の並列分散処理システムは、第1の演算処理
手段と第2の演算処理手段とがネットワークを介して接
続されており、前記第1の演算処理手段が実行する第1
のプロセスから、前記第2の演算処理手段が実行する第
2のプロセスが提供する機能を呼び出す並行分散処理シ
ステムであって、前記第1の演算処理手段の前記第1の
プロセスは、呼び出し先の機能の名前および引数の特性
に基づいて、同一の名前管理空間内における名前が同一
で引数の特性が異なる複数の機能のうち一の機能を特定
する機能特定識別子を得て、当該機能特定識別子および
前記呼び出し先の機能に与える引数を含む機能呼び出し
メッセージを前記ネットワークを介して前記第2の演算
処理手段に送信し、前記第2の演算処理手段の前記第2
のプロセスは、前記機能特定識別子と、当該機能特定識
別子に対応する機能の手続きが記憶されたメモリ上のア
ドレスとの対応表を備え、前記機能呼び出しメッセージ
を受信すると、前記対応表を用いて、前記機能呼び出し
メッセージに含まれる前記機能特定識別子に対応するア
ドレスを得て、前記メモリ上の当該アドレスに記憶され
た手続きを前記機能呼び出しメッセージに含まれる引数
を用いて実行する。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】本発明の第1の観点の並列分散処理システ
ムでは、第1の演算処理手段の第1のプロセスにおい
て、呼び出し先の機能の名前および引数の特性に基づい
て、同一の名前管理空間内における名前が同一で引数の
特性が異なる複数の機能のうち一の機能を特定する機能
特定識別子が生成される。そして、当該機能識別子およ
び前記特定した機能の引数を含む機能呼び出しメッセー
ジが、ネットワークを介して、第1の演算処理手段から
第2の演算処理手段に送信される。そして、前記機能呼
び出しメッセージが第2の演算処理手段で受信され、第
2の演算処理手段の第2のプロセスにおいて、予め備え
られた対応表を用いて、前記機能呼び出しメッセージに
含まれる前記機能特定識別子に対応するアドレスを得
て、当該アドレスに記憶された手続きが前記機能呼び出
しメッセージに含まれる引数を用いて実行される。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0016
【補正方法】変更
【補正内容】
【0016】本発明の第2の観点の並列分散処理システ
ムは、第1の演算処理手段と第2の演算処理手段とがネ
ットワークを介して接続されており、前記第1の演算処
理手段が実行する第1のプロセスから、前記第2の演算
処理手段が実行する第2のプロセスが提供する機能を呼
び出す並行分散処理システムであって、前記第1の演算
処理手段の前記第1のプロセスは、機能の名前と、当該
機能の引数の特性を示す引数特性識別子と、当該機能の
名前についての前記ネットワーク上での識別子である外
部機能識別子との対応を示す外部参照表を備え、多重定
義されている前記第2のプロセスの機能を呼び出す場合
に、前記外部参照表に基づいて、前記呼び出し先の機能
の名前に対応する外部機能識別子と、前記呼び出し先の
機能の引数の特性を示す引数特性識別子と、前記呼び出
し先の機能に与える引数を含む機能呼び出しメッセージ
を前記ネットワークを介して前記第2の演算処理手段に
送信し、前記第2の演算処理手段の前記第2のプロセス
は、多重定義された機能についての前記外部機能識別子
と、前記引数特性識別子と、当該第2のプロセス内での
識別子である内部機能識別子との対応を示す内部参照表
を備え、前記機能呼び出しメッセージを受信すると、前
記内部参照表を用いて、前記機能呼び出しメッセージに
含まれる前記外部機能識別子および前記引数特性識別子
に対応する内部機能識別子を得て、この内部機能識別子
によって特定される手続きを前記機能呼び出しメッセー
ジに含まれる引数を用いて実行する。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】本発明の第2の観点の並列分散処理システ
ムでは、第1のプロセスは、機能の名前と、当該機能の
引数の特性を示す引数特性識別子と、当該機能の名前に
ついての前記ネットワーク上での識別子である外部機能
識別子との対応を示す外部参照表を備えている。また、
第1のプロセスは、多重定義されている前記第2のプロ
セスの機能を呼び出す場合に、前記外部参照表に基づい
て、前記呼び出し先の機能の名前に対応する外部機能識
別子と、前記呼び出し先の機能の引数の特性を示す引数
特性識別子と、前記呼び出し先の機能の引数を含む機能
呼び出しメッセージを前記ネットワークを介して前記第
2の演算処理手段に送信する。また、第2のプロセス
は、多重定義された機能についての前記外部機能識別子
と、前記引数特性識別子と、当該第2のプロセス内での
識別子である内部機能識別子との対応を示す内部参照表
を備えている。そのため、第2のプロセスでは、内部参
照表を用いて、受信した機能呼び出しメッセージに含ま
れる引数特性識別子に基づいて、多重定義された複数の
機能のうち一の機能を特定できる。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正内容】
【0026】本発明の第3の観点の並列分散処理システ
ムは、第1の演算処理手段と第2の演算処理手段とがネ
ットワークを介して接続されており、前記第1の演算処
理手段が実行する第1のプロセスから、前記第2の演算
処理手段が実行する第2のプロセスが提供する機能を呼
び出す並行分散処理システムであって、 前記第1の演
算処理手段の前記第1のプロセスは、機能の名前と、
記機能の引数の特性を示す引数特性識別子と、同一の名
前管理空間内における名前が同一で引数の特性が異なる
複数の機能のうち一の機能を特定するための外部機能識
別子との対応を示す外部参照表を備え、多重定義されて
いる前記第2のプロセスの機能を呼び出す場合に、前記
外部参照表に基づいて、前記呼び出し先の機能の名前お
よび当該機能の前記引数特性識別子に対応する前記外部
機能識別子と、前記呼び出し先の機能に与える引数とを
含む機能呼び出しメッセージを前記ネットワークを介し
て前記第2の演算処理手段に送信し、前記第2の演算処
理手段の前記第2のプロセスは、多重定義された機能に
ついての前記外部機能識別子と、当該第2のプロセス内
での識別子である内部機能識別子との内部参照表を備
え、前記機能呼び出しメッセージを受信すると、前記内
部参照表を用いて、前記機能呼び出しメッセージに含ま
れる前記外部機能識別子に対応する内部機能識別子を得
て、当該内部機能識別子によって特定される手続きを前
記機能呼び出しメッセージに含まれる引数を用いて実行
する。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】また、本発明の第3の観点の並列分散処理
システムでは、第1のプロセスは、機能の名前と、前記
機能の引数の特性を示す引数特性識別子と、同一の名前
管理空間内における名前が同一で引数の特性が異なる複
数の機能のうち一の機能を特定するための外部機能識別
子との対応を示す外部参照表を備えている。また、第1
のプロセスは、多重定義されている前記第2のプロセス
の機能を呼び出す場合に、前記外部参照表に基づいて、
前記呼び出し先の機能の名前および当該機能の前記引数
特性識別子に対応する前記外部機能識別子と、前記呼び
出し先の機能に与える引数とを含む機能呼び出しメッセ
ージを前記ネットワークを介して前記第2の演算処理手
段に送信する。また、第2のプロセスは、多重定義され
た機能についての前記外部機能識別子と、当該第2のプ
ロセス内での識別子である内部機能識別子との内部参照
表を備えている。また、第2のプロセスは、前記機能呼
び出しメッセージを受信すると、前記内部参照表を用い
て、前記機能呼び出しメッセージに含まれる前記外部機
能識別子に対応する内部機能識別子を得て、この内部機
能識別子によって特定される手続きを前記機能呼び出し
メッセージに含まれる引数を用いて実行する。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】また、本発明の第1の観点の並列分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、多重定義されてい
る前記第2のプロセスの機能を前記第1のプロセスが呼
び出す場合に、前記第1のプロセスにおいて、呼び出し
先の機能の名前および引数の特性に基づいて、同一の名
前管理空間内における名前が同一で引数の特性が異なる
複数の機能のうち一の機能を特定する機能特定識別子を
得て、当該機能特定識別子および前記呼び出し先の機能
に与える引数を含む機能呼び出しメッセージを前記ネッ
トワークを介して前記第2のプロセスに送信し、前記第
2のプロセスにおいて、前記機能特定識別子と当該機能
特定識別子に対応する機能の手続きが記憶されたメモリ
上のアドレスとの対応表を用いて、受信した前記機能呼
び出しメッセージに含まれる前記機能特定識別子に対応
するアドレスを得て、前記メモリ上の当該アドレスに記
憶された手続きを前記機能呼び出しメッセージに含まれ
る引数を用いて実行する。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正内容】
【0029】また、本発明の第2の観点の並列分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、前記第1のプロセ
スから前記第2のプロセスに対して多重定義されている
機能を呼び出す場合に、前記第1のプロセスにおいて、
機能の名前と、当該機能の引数の特性を示す引数特性識
別子と、当該機能の名前についての前記ネットワーク上
での識別子である外部機能識別子との対応を示す外部参
照表に基づいて、前記呼び出し先の機能の名前に対応す
る外部機能識別子と、前記呼び出し先の機能の引数の特
性を示す引数特性識別子と、前記呼び出し先の機能に与
える引数を含む機能呼び出しメッセージを前記ネットワ
ークを介して前記第2のプロセスに送信し、前記第2の
プロセスにおいて、多重定義された機能についての前記
外部機能識別子と、前記引数特性識別子と、当該第2の
プロセス内での識別子である内部機能識別子との対応を
示す内部参照表を用いて、前記第2のプロセスが受信し
た前記機能呼び出しメッセージに含まれる前記外部機能
識別子および前記引数特性識別子に対応する内部機能識
別子を得て、当該内部機能識別子によって特定される手
続きを前記メッセージに含まれる引数を用いて実行する
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正内容】
【0030】また、本発明の第3の観点の並列分散処理
方法は、第1の演算処理手段と第2の演算処理手段とが
ネットワークを介して接続されており、前記第1の演算
処理手段が実行する第1のプロセスから、前記第2の演
算処理手段が実行する第2のプロセスが提供する機能を
呼び出す並行分散処理方法であって、多重定義されてい
る機能を前記第1のプロセスから前記第2のプロセスに
対して呼び出す場合に、前記第1のプロセスにおいて、
多重定義されている前記第2のプロセスの機能を呼び出
す場合に、前記第1のプロセスにおいて、多重定義され
ている前記第2のプロセスの機能を呼び出す場合に、機
能の名前と、前記機能の引数の特性を示す引数特性識別
子と、同一の名前管理空間内における名前が同一で引数
の特性が異なる複数の機能のうち一の機能を特定するた
めの外部機能識別子との対応を示す外部参照表に基づい
て、前記呼び出し先の機能の名前および当該機能の前記
引数特性識別子に対応する前記外部機能識別子と、前記
呼び出し先の機能に与える引数とを含む機能呼び出しメ
ッセージを前記ネットワークを介して前記第2のプロセ
スに送信し、前記第2のプロセスにおいて、多重定義さ
れた機能についての前記外部機能識別子と、当該第2の
プロセス内での識別子である内部機能識別子との対応を
示す内部参照表を用いて、前記機能呼び出しメッセージ
に含まれる前記外部機能識別子に対応する内部機能識別
子を得て、当該内部機能識別子によって特定される手続
きを前記機能呼び出しメッセージに含まれる引数を用い
て実行する

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】第1の演算処理手段と第2の演算処理手段
    とがネットワークを介して接続されており、前記第1の
    演算処理手段が実行する第1のプロセスから、前記第2
    の演算処理手段が実行する第2のプロセスが提供する機
    能を呼び出す並行分散処理システムにおいて、 前記第1の演算処理手段の前記第1のプロセスは、多重
    定義されている機能を呼び出す場合に、同一の名前管理
    空間内における機能名が同一で引数の特性が異なる複数
    の機能のうち一の機能を特定する機能特定識別子および
    引数を含む機能呼び出しメッセージを前記ネットワーク
    を介して前記第2の演算処理手段に送信し、 前記第2の演算処理手段の前記第2のプロセスは、前記
    機能特定識別子と、当該機能特定識別子に対応する機能
    の手続きが記憶されたメモリ上のアドレスとの対応表を
    備え、前記機能呼び出しメッセージを受信すると、前記
    対応表を用いて、前記機能呼び出しメッセージに含まれ
    る前記機能特定識別子に対応するアドレスを得て、当該
    アドレスに記憶された手続きを前記機能呼び出しメッセ
    ージに含まれる引数を用いて実行する並行分散処理シス
    テム。
  2. 【請求項2】前記機能特定識別子は、ソースプログラム
    をコンパイルして前記第1のプロセスの機械語プログラ
    ムを生成する際に、第1のデータから当該第1のデータ
    に比べてデータ量の少ない前記第1のデータの識別子で
    ある第2のデータを生成する演算法を用いて、前記機能
    名が同一で引数の特性が異なる複数の機能のそれぞれに
    ついて相互に異なるように決定されている請求項1に記
    載の並行分散処理システム。
  3. 【請求項3】前記演算法は、ハッシュ関数法である請求
    項2に記載の並行分散処理システム。
  4. 【請求項4】前記ハッシュ関数法を用いて前記機能特定
    識別子を決定する際に、前記機能特定識別子の衝突を回
    避するために、予め用意された複数のハッシュ表のサイ
    ズを所定の順序で切り換えて使用する請求項3に記載の
    並行分散処理システム。
  5. 【請求項5】前記対応表は、ソースプログラムをコンパ
    イルして前記第2のプロセスの機械語プログラムを生成
    する際に、前記第1のプロセスの機械語プログラムを生
    成するときに用いたものと同じ演算法を用いて前記機能
    特定識別子を決定して生成されている請求項2に記載の
    並行分散処理システム。
  6. 【請求項6】前記演算法は、ハッシュ関数法である請求
    項5に記載の並行分散処理システム。
  7. 【請求項7】前記第2の演算処理手段の前記第2のプロ
    セスは、前記手続きを実行した結果を返り値として、前
    記ネットワークを介して前記第1の演算処理手段の前記
    第1のプロセスに出力する請求項1に記載の並行分散処
    理システム。
  8. 【請求項8】前記機能特定識別子は、前記機能の機能名
    から生成した識別子と、引数のデータ型の特性情報から
    生成した引数特性識別子とからなる請求項1に記載の並
    行分散処理システム。
  9. 【請求項9】前記機能特定識別子は、前記機能名および
    前記引数のデータ型の特性から得られた単数の識別子か
    らなる請求項1に記載の並行分散処理システム。
  10. 【請求項10】第1の演算処理手段と第2の演算処理手
    段とがネットワークを介して接続されており、前記第1
    の演算処理手段が実行する第1のプロセスから、前記第
    2の演算処理手段が実行する第2のプロセスが提供する
    機能を呼び出す並行分散処理システムにおいて、 前記第1の演算処理手段の前記第1のプロセスは、 機能名と、当該機能名についての前記ネットワーク上で
    の識別子である外部機能識別子との対応を示す外部参照
    表を備え、 多重定義されている前記第2のプロセスの機能を呼び出
    す場合に、前記外部参照表から得られた呼び出しを行な
    う機能の機能名に対応する外部機能識別子、同一の名前
    管理空間内における機能名が同一で引数の特性が異なる
    複数の機能のうち一の機能を特定する引数特性識別子お
    よび引数を含む機能呼び出しメッセージを前記ネットワ
    ークを介して前記第2の演算処理手段に送信し、 前記第2の演算処理手段の前記第2のプロセスは、 多重定義された機能についての前記外部機能識別子と、
    前記引数特性識別子と、当該第2のプロセス内での識別
    子である内部機能識別子との内部参照表を備え、 前記機能呼び出しメッセージを受信すると、前記内部参
    照表を用いて、前記機能呼び出しメッセージに含まれる
    前記外部機能識別子および前記引数特性識別子に対応す
    る内部機能識別子を得て、この内部機能識別子によって
    特定される手続きを前記機能呼び出しメッセージに含ま
    れる引数を用いて実行する並行分散処理システム。
  11. 【請求項11】前記第2の演算処理手段の前記第2のプ
    ロセスは、前記内部機能識別子から、メモリ上のアドレ
    スを得て、当該アドレスに記憶された手続きを実行する
    請求項8に記載の並行分散処理システム。
  12. 【請求項12】前記引数特性識別子は、ソースプログラ
    ムをコンパイルして前記第1のプロセスの機械語プログ
    ラムを生成する際に、第1のデータから当該第1のデー
    タに比べてデータ量の少ない前記第1のデータの識別子
    である第2のデータを生成する演算法を用いて、前記機
    能名が同一で引数の特性が異なる複数の機能のそれぞれ
    について相互に異なるように決定されている請求項10
    に記載の並行分散処理システム。
  13. 【請求項13】前記演算法は、ハッシュ関数法である請
    求項12に記載の並行分散処理システム。
  14. 【請求項14】前記ハッシュ関数法を用いて前記引数特
    性識別子を決定する際に、前記引数特性識別子の衝突を
    回避するために、予め用意された複数のハッシュ表のサ
    イズを所定の順序で切り換えて使用する請求項13に記
    載の並行分散処理システム。
  15. 【請求項15】前記内部参照表は、ソースプログラムを
    コンパイルして前記第2のプロセスの機械語プログラム
    を生成する際に、前記第1のプロセスの機械語プログラ
    ムを生成するときに用いものと同じ演算法を用いて前記
    引数特性識別子を決定して生成されている請求項12に
    記載の並行分散処理システム。
  16. 【請求項16】前記演算法は、ハッシュ関数法である請
    求項15に記載の並行分散処理システム。
  17. 【請求項17】前記第2の演算処理手段の前記第2のプ
    ロセスは、前記手続きを実行した結果を返り値として、
    前記ネットワークを介して前記第1の演算処理手段の前
    記第1のプロセスに出力する請求項10に記載の並行分
    散処理システム。
  18. 【請求項18】前記外部機能識別子は、引数の特性情報
    に応じた単数の整数値からなる機能特定識別子である請
    求項10に記載の並行分散処理システム。
  19. 【請求項19】第1の演算処理手段と第2の演算処理手
    段とがネットワークを介して接続されており、前記第1
    の演算処理手段が実行する第1のプロセスから、前記第
    2の演算処理手段が実行する第2のプロセスが提供する
    機能を呼び出す並行分散処理システムにおいて、 前記第1の演算処理手段の前記第1のプロセスは、 機能名と、同一の名前管理空間内における前記機能名が
    同一で引数の特性が異なる複数の機能のうち一の機能を
    特定する機能特定識別子と、前記機能名についての前記
    ネットワーク上での識別子である外部機能識別子との対
    応を示す外部参照表を備え、 多重定義されている前記第2のプロセスの機能を呼び出
    す場合に、呼び出しを行なう機能の機能名および当該機
    能の前記機能特定識別子に対応する外部機能識別子を前
    記外部参照表から得て、当該外部機能識別子を前記ネッ
    トワークを介して前記第2の演算処理手段に送信し、 前記第2の演算処理手段の前記第2のプロセスは、 多重定義された機能についての前記外部機能識別子と、
    当該第2のプロセス内での識別子である内部機能識別子
    との内部参照表を備え、 前記機能呼び出しメッセージを受信すると、前記内部参
    照表を用いて、前記機能呼び出しメッセージに含まれる
    前記外部機能識別子に対応する内部機能識別子を得て、
    この内部機能識別子によって特定される手続きを前記機
    能呼び出しメッセージに含まれる引数を用いて実行する
    並行分散処理システム。
  20. 【請求項20】第1の演算処理手段と第2の演算処理手
    段とがネットワークを介して接続されており、前記第1
    の演算処理手段が実行する第1のプロセスから、前記第
    2の演算処理手段が実行する第2のプロセスが提供する
    機能を呼び出す並行分散処理方法において、 多重定義されている前記第2のプロセスの機能を前記第
    1のプロセスが呼び出す場合に、同一の名前管理空間内
    における機能名が同一で引数のデータ型の特性が異なる
    複数の機能のうち一の機能を特定する機能特定識別子お
    よび引数を含む機能呼び出しメッセージを前記ネットワ
    ークを介して前記第1のプロセスから前記第2のプロセ
    スに送信し、 前記機能特定識別子と当該機能特定識別子に対応する機
    能の手続きが記憶されたメモリ上のアドレスとの対応表
    を用いて、前記第2のプロセスが受信した前記機能呼び
    出しメッセージに含まれる前記機能特定識別子に対応す
    るアドレスを得て、 前記第2のプロセスにおいて前記アドレスに記憶された
    手続きを前記機能呼び出しメッセージに含まれる引数を
    用いて実行する並行分散処理方法。
  21. 【請求項21】ソースプログラムをコンパイルして前記
    第1のプロセスの機械語プログラムを生成する際に、第
    1のデータから当該第1のデータに比べてデータ量の少
    ない前記第1のデータの識別子である第2のデータを生
    成する演算法を用いて、前記機能名が同一で引数の特性
    が異なる複数の機能のそれぞれについて相互に異なるよ
    うに前記機能特定識別子を決定する請求項20に記載の
    並行分散処理方法。
  22. 【請求項22】前記演算法は、ハッシュ関数法である請
    求項21に記載の並行分散処理方法。
  23. 【請求項23】前記ハッシュ関数法を用いて前記機能特
    定識別子を決定する際に、前記機能特定識別子の衝突を
    回避するために、予め用意された複数のハッシュ表のサ
    イズを所定の順序で切り換えて使用する請求項22に記
    載の並行分散処理方法。
  24. 【請求項24】ソースプログラムをコンパイルして前記
    第2のプロセスの機械語プログラムを生成する際に、前
    記第1のプロセスの機械語プログラムを生成するときに
    用いたものと同じ演算方法を用いて前記機能特定識別子
    を決定して前記対応表を生成する請求項21に記載の並
    行分散処理方法。
  25. 【請求項25】前記演算法は、ハッシュ関数法である請
    求項24に記載の並行分散処理方法。
  26. 【請求項26】前記手続きを実行した結果を返り値とし
    て、前記ネットワークを介して前記第2のプロセスから
    前記第1のプロセスに出力する請求項20に記載の並行
    分散処理方法。
  27. 【請求項27】前記機能特定識別子は、前記機能の機能
    名から生成した識別子と、引数のデータ型の特性情報か
    ら生成した引数特性識別子とからなる請求項20に記載
    の並行分散処理方法。
  28. 【請求項28】前記機能特定識別子は、前記機能名およ
    び前記引数のデータ型の特性から得られた単数の識別子
    からなる請求項20に記載の並行分散処理方法。
  29. 【請求項29】第1の演算処理手段と第2の演算処理手
    段とがネットワークを介して接続されており、前記第1
    の演算処理手段が実行する第1のプロセスから、前記第
    2の演算処理手段が実行する第2のプロセスが提供する
    機能を呼び出す並行分散処理方法において、 前記第1のプロセスから前記第2のプロセスに対して多
    重定義されている機能を呼び出す場合に、 機能名と当該機能名についての前記ネットワーク上での
    識別子である外部機能識別子との対応を示す外部参照表
    を用いて、呼び出しを行なう機能の機能名に対応する外
    部機能識別子を得て、 当該外部機能識別子と、同一の名前管理空間内における
    機能名が同一で引数の特性が異なる複数の機能のうち一
    の機能を特定する引数特性識別子と、引数とを含む機能
    呼び出しメッセージを前記ネットワークを介して前記第
    1のプロセスから前記第2のプロセスに送信し、 多重定義された機能についての前記外部機能識別子と、
    前記引数特性識別子と、当該第2のプロセス内での識別
    子である内部機能識別子との内部参照表を用いて、前記
    第2のプロセスが受信した前記機能呼び出しメッセージ
    に含まれる前記外部機能識別子および前記引数特性識別
    子に対応する内部機能識別子を得て、 当該内部機能識別子によって特定される手続きを前記メ
    ッセージに含まれる引数を用いて実行する並行分散処理
    方法。
  30. 【請求項30】前記第2のプロセスにおいて前記内部機
    能識別子を、メモリ上のアドレスに変換し、当該アドレ
    スに記憶された手続きを実行する請求項29に記載の並
    行分散処理方法。
  31. 【請求項31】ソースプログラムをコンパイルして前記
    第1のプロセスの機械語プログラムを生成する際に、第
    1のデータから当該第1のデータに比べてデータ量の少
    ない前記第1のデータの識別子である第2のデータを生
    成する演算法を用いて、前記機能名が同一で引数の特性
    が異なる複数の機能のそれぞれについて相互に異なるよ
    うに前記引数特性を決定する請求項29に記載の並行分
    散処理方法。
  32. 【請求項32】前記演算法は、ハッシュ関数法である請
    求項30に記載の並行分散処理方法。
  33. 【請求項33】前記ハッシュ関数法を用いて前記引数特
    性識別子を決定する際に、前記引数特性の衝突を回避す
    るために、予め用意された複数のハッシュ表のサイズを
    所定の順序で切り換えて使用する請求項31に記載の並
    行分散処理方法。
  34. 【請求項34】ソースプログラムをコンパイルして前記
    第2のプロセスの機械語プログラムを生成する際に、前
    記第1のプロセスの機械語プログラムを生成するときに
    用いたものと同じ演算方法を用いて前記引数特性を決定
    して前記内部参照表を生成する請求項31に記載の並行
    分散処理方法。
  35. 【請求項35】前記演算法は、ハッシュ関数法である請
    求項34に記載の並行分散処理方法。
  36. 【請求項36】前記手続きを実行した結果を返り値とし
    て、前記ネットワークを介して前記第2のプロセスから
    前記第1のプロセスに出力する請求項29に記載の並行
    分散処理方法。
  37. 【請求項37】前記機能特定識別子は、前記機能名およ
    び前記引数のデータ型の特性から得られた単数の識別子
    からなる請求項29に記載の並行分散処理方法。
  38. 【請求項38】第1の演算処理手段と第2の演算処理手
    段とがネットワークを介して接続されており、前記第1
    の演算処理手段が実行する第1のプロセスから、前記第
    2の演算処理手段が実行する第2のプロセスが提供する
    機能を呼び出す並行分散処理方法において、 多重定義されている機能を前記第1のプロセスから前記
    第2のプロセスに対して呼び出す場合に、 機能名と、同一の名前管理空間内における前記機能名が
    同一で引数の特性が異なる複数の機能のうち一の機能を
    特定する引数特性識別子と、前記機能名についての前記
    ネットワーク上での識別子である外部機能識別子との対
    応を示す外部参照表を用いて、呼び出しを行なう機能の
    機能名および当該機能の前記引数特性識別子に対応する
    外部機能識別子を得て、 当該外部機能識別子を前記ネットワークを介して前記第
    2の演算処理手段に送信し、 多重定義された機能についての前記外部機能識別子と、
    当該第2のプロセス内での識別子である内部機能識別子
    との内部参照表を用いて、前記機能呼び出しメッセージ
    に含まれる前記外部機能識別子に対応する内部機能識別
    子を得て、 前記第2のプロセスにおいて、前記内部機能識別子によ
    って特定される手続きを前記メッセージに含まれる引数
    を用いて実行する並行分散処理方法。
JP10071019A 1998-03-19 1998-03-19 並行分散処理システムおよびその方法 Pending JPH11272622A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10071019A JPH11272622A (ja) 1998-03-19 1998-03-19 並行分散処理システムおよびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10071019A JPH11272622A (ja) 1998-03-19 1998-03-19 並行分散処理システムおよびその方法

Publications (1)

Publication Number Publication Date
JPH11272622A true JPH11272622A (ja) 1999-10-08

Family

ID=13448400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10071019A Pending JPH11272622A (ja) 1998-03-19 1998-03-19 並行分散処理システムおよびその方法

Country Status (1)

Country Link
JP (1) JPH11272622A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233984A (ja) * 2007-03-16 2008-10-02 Brother Ind Ltd 電子文書システム及び文書電子化方法
JP2009505174A (ja) * 2005-07-29 2009-02-05 マイクロソフト コーポレーション ラムダ式
JP2010035837A (ja) * 2008-08-06 2010-02-18 Toshiba Corp 医療通信機器設定システム及び医療通信機器設定方法
JP2019505932A (ja) * 2015-11-27 2019-02-28 カデンス イマジュリー メディカル インコーポレイテッドCadens Imagerie Medicale Inc. サーバを使用してデータを処理するための関数を実行する方法およびシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505174A (ja) * 2005-07-29 2009-02-05 マイクロソフト コーポレーション ラムダ式
JP2008233984A (ja) * 2007-03-16 2008-10-02 Brother Ind Ltd 電子文書システム及び文書電子化方法
JP2010035837A (ja) * 2008-08-06 2010-02-18 Toshiba Corp 医療通信機器設定システム及び医療通信機器設定方法
JP2019505932A (ja) * 2015-11-27 2019-02-28 カデンス イマジュリー メディカル インコーポレイテッドCadens Imagerie Medicale Inc. サーバを使用してデータを処理するための関数を実行する方法およびシステム

Similar Documents

Publication Publication Date Title
KR100322213B1 (ko) 병렬분산처리시스템및그방법
US6633923B1 (en) Method and system for dynamic configuration of interceptors in a client-server environment
US8010967B2 (en) Method and system for dynamic configuration of interceptors in a client-server environment
US5265250A (en) Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
Dumant et al. Jonathan: an open distributed processing environment in Java
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
US6496871B1 (en) Distributed agent software system and method having enhanced process mobility and communication in a computer network
US5519875A (en) Distributed processing system for modules, each having modularized objects
US20050229189A1 (en) Inter-process communication using different programming languages
JP2000515280A (ja) オブジェクト指向型情報伝送方法および装置
KR20010041293A (ko) 원격 메소드 호출을 위한 방법 및 장치
WO1998002814A1 (en) Method and apparatus for dynamically brokering object messages among object models
JP3361663B2 (ja) 通信管理方法
Chiang The use of adapters to support interoperability of components for reusability
Dincer A ubiquitous message passing interface implementation in Java: jmpi
US6253205B1 (en) Object oriented translation framework method, apparatus, and program
JPH11272622A (ja) 並行分散処理システムおよびその方法
JP3007340B1 (ja) 機能呼び出し方法、並列分散処理システムおよびコンピュータ
JPH10116196A (ja) リモート・ゲートウェイ・システムにアクセスする方法および装置
WO2004057469A1 (en) A distributed object processing system and method
US6006280A (en) Distributed instantiation system and method
JPH0830455A (ja) オブジェクト指向情報処理システム
JPH09245003A (ja) 並列分散処理システムおよびその方法
Putzolu Software API Conventions Implementation Agreement
Govindaraju et al. Design and implementation issues for distributed CCA framework interoperability