JP2000020328A - 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置 - Google Patents

通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置

Info

Publication number
JP2000020328A
JP2000020328A JP10181135A JP18113598A JP2000020328A JP 2000020328 A JP2000020328 A JP 2000020328A JP 10181135 A JP10181135 A JP 10181135A JP 18113598 A JP18113598 A JP 18113598A JP 2000020328 A JP2000020328 A JP 2000020328A
Authority
JP
Japan
Prior art keywords
signal input
output means
communication
message
destination
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
JP10181135A
Other languages
English (en)
Inventor
Kozo Oide
耕三 大出
Takayuki Saito
隆之 斉藤
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 JP10181135A priority Critical patent/JP2000020328A/ja
Publication of JP2000020328A publication Critical patent/JP2000020328A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】メッセージ通信を効率よく行い所望の処理を効
率よく行える分散処理環境を提供する。 【解決手段】ノードBのプロセスBの送信スレッド72
4から、ノードAのプロセスAに対してメッセージ送信
を行う場合には、送信スレッド724は、まず、プロセ
スAのデフォルトのソケット記述子704に対してメッ
セージを送信する。プロセスAでは、受信スレッド70
3がこれを受信し、プロセスBからの受信用ソケット記
述子として新たなソケット記述子705を決定し、これ
を送信スレッド724に対して通知する。以後のプロセ
スBからプロセスAに対する通信は、ソケット記述子7
05を介して行う。複数のソケット記述子に通信負荷が
分散するように、通信相手をダイナミックに割り当て、
複数の送受信スレッドを用いて通信を同時並列的に効率
よく行い、効率よく並列分散処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク上の
処理モジュール間で限られた入出力インターフィエスを
利用して効率よい通信を行うことができる通信方法、複
数のノード上に配置されたオブジェクトがメッセージ通
信を効率よく行いながら協働して所望の処理を行う分散
処理装置とその方法、そのような分散処理環境を提供す
るネットワークシステム、および、ネットワークに接続
してそのようなネットワークシステムを構築するのに好
適なノード装置に関する。
【0002】
【従来の技術】種々の計算リソースを、電話回線、ケー
ブルテレビ、衛星通信などのネットワークを介して接続
したネットワークシステムが急速に普及している。ま
た、そのようなネットワークシステムにおいて、複数の
オブジェクトをネットワークワイドに配置し、それらを
連係させて所望の処理を行う並列分散処理への期待も高
まっている。このような分散処理によれば、ネットワー
ク上の計算リソースを効率よく利用して所望の処理を高
速に行うことや、ネットワーク上のコンテンツを有効に
利用することが可能となる。
【0003】そのような分散処理を行うためには、各オ
ブジェクトがネットワークを介して通信を行いながら、
協調して動作をすることが基本となる。また、そのよう
な分散処理を効率よく行うためには、各オブジェクト
間、換言すれば、ネットワーク上の各ノードにおいてオ
ブジェクトに実行環境を提供している各プロセス間で、
通信を効率よく行う必要がある。なお、このようなプロ
セス間の通信の方式としては、RPC(Remote Procedu
re Call:遠隔手続き呼び出し)が用いられることが多
い。また、各オブジェクトから見たネットワークへのイ
ンターフェイスとしては、ソケット記述子が用いられて
いる。
【0004】
【発明が解決しようとする課題】ところで、これまで
は、通常、1つのプロセスには1つのソケット記述子が
対応付けられている場合が多く、ネットワークを介して
複数のプロセスから送信されてきたパケットは、そのソ
ケット記述子で受信されてソケットキューに投入され、
順次読み出されて処理されている。そのために、多数の
プロセスと並行して通信を行うことができず、効率よく
通信を行えないという問題がある。また、仮に複数のソ
ケット記述子を用いて通信が行えるようにしたとして
も、現状ではその複数のソケット記述子への通信の対応
付けの方法が無いため、一部のソケット記述子のみを使
用することになったり、通信量が偏ったりして、その複
数のソケット記述子を有効に使用できない可能性が高
い。
【0005】したがって、本発明の目的は、たとえばソ
ケット記述子であるような入出力手段を有効に利用し
て、ネットワークを介して接続されている処理モジュー
ル間の通信を効率よく行えるような通信方法を提供する
ことにある。また、本発明の他の目的は、たとえばソケ
ット記述子であるような入出力手段を有効に利用して、
プロセス間の通信を同時並列的に効率よく行うことがで
き、これにより分散配置されたオブジェクトが協働して
所望の処理を効率よく実行することができる分散処理装
置を提供することにある。また、本発明の他の目的は、
たとえばソケット記述子であるような入出力手段を有効
に利用して、プロセス間の通信を同時並列的に効率よく
行うことができ、これにより分散配置されたオブジェク
トが協働して所望の処理を効率よく実行することができ
る分散処理方法を提供することにある。
【0006】また本発明の他の目的は、各ノード上のプ
ロセスがたとえばソケット記述子であるような入出力手
段を有効に利用して、プロセス間の通信を同時並列的に
効率よく行い、分散配置された各オブジェクトが全体と
して所望の処理を効率よく実行することができるネット
ワークシステムを提供することにある。さらに、本発明
の他の目的は、たとえばソケット記述子であるような入
出力手段を有効に利用して、他のノードのプロセスと効
率よく通信を行え、配置されたオブジェクトが他のノー
ド上のオブジェクトと協働して行う所望の処理を効率よ
く行うことができるノード装置を提供することにある。
【0007】
【課題を解決するための手段】前記課題を解決するため
に、本発明の通信方法は、ネットワークを介して接続さ
れた処理モジュール間の通信方法であって、第1の前記
処理モジュールが、前記ネットワークを介して、第2の
前記処理モジュールの当該ネットワークとの所定の信号
入出力手段に信号を送信して、該第2の前記処理モジュ
ールに対して通信を開始し、前記第2の処理モジュール
は、前記所定の信号入出力手段より受信した前記通信の
開始を検知し、前記第1の処理モジュールに対して前記
ネットワークとの他の信号入出力手段を指定し、前記指
定された信号入出力手段を介して、少なくとも前記第1
の処理モジュールから前記第2の処理モジュールへの通
信を行う。
【0008】また、本発明の分散処理装置は、複数のオ
ブジェクトが協働して所望の処理を行う分散処理装置で
あって、各々接続された複数のノードと、前記ノード上
に各々1つまたは複数形成され、配置されたオブジェク
トに実行環境を提供する複数のプロセスと、各々前記複
数のプロセスのいずれかに配置される前記複数のオブジ
ェクトとを有し、前記複数のプロセスの各々は、複数の
信号入出力手段と、当該プロセスに配置された前記オブ
ジェクトの動作に基づく送信対象のメッセージを、任意
の送信先のプロセスに対して、当該送信先プロセスの信
号入出力手段が指定されていない場合には当該送信先プ
ロセスの所定の信号入出力手段を、当該送信先プロセス
の信号入出力手段が指定されている場合には当該指定さ
れている信号入出力手段を介して、各々送信する送信手
段と、前記複数の信号入出力手段を介して送信される信
号を受信する複数の受信手段と、任意のプロセスからの
前記複数の信号入出力手段の所定の信号入出力手段を介
して受信した通信を検知し、当該プロセスと通信を行う
信号入出力手段として、前記複数の信号入出力手段の前
記所定の信号入出力手段以外の他の特定の信号入出力手
段を指定する信号入出力手段指定手段とを有する。
【0009】また、本発明の分散処理方法は、複数のオ
ブジェクトが協働して所望の処理を行う分散処理方法で
あって、相互に接続された複数のノードの各々に、配置
されたオブジェクトに実行環境を提供する複数のプロセ
スを1または複数配置し、前記複数のオブジェクトを、
各々前記複数のプロセスのいずれかに配置し、前記プロ
セスに配置された前記各オブジェクトの動作に基づいて
生成された通信対象のメッセージを、通信元のプロセス
が通信先のプロセスの所定の信号入出力手段に信号を送
信して通信を要求し、前記通信先のプロセスが前記通信
の要求に基づいて当該通信元のプロセスに対して他の特
定の前記信号入出力手段を指定し、該指定された前記通
信先の信号入出力手段を介して前記通信元のプロセスか
ら前記通信先のプロセスへ送信することにより、前記オ
ブジェクト間で相互に通信し、前記所望の処理を行う。
【0010】また、本発明のネットワークシステムは、
ネットワークを介して接続された複数のノードと、協働
して所望の処理を行うための複数のオブジェクトが配置
される、前記ノード上に各々1つまたは複数形成される
複数のプロセスであって、各々、複数の信号入出力手段
と、当該プロセスに配置された前記オブジェクトの動作
に基づく送信対象のメッセージを、任意の送信先のプロ
セスに対して、当該送信先プロセスの信号入出力手段が
指定されていない場合には当該送信先プロセスの所定の
信号入出力手段を、当該送信先プロセスの信号入出力手
段が指定されている場合には当該指定されている信号入
出力手段を介して、各々送信する送信手段と、前記複数
の信号入出力手段を介して送信される信号を受信する複
数の受信手段と、任意のプロセスからの前記複数の信号
入出力手段の所定の信号入出力手段を介して受信した通
信を検知し、当該プロセスと通信を行う信号入出力手段
として、前記複数の信号入出力手段の前記所定の信号入
出力手段以外の他の特定の信号入出力手段を指定する信
号入出力手段指定手段とを有する複数のプロセスとを有
する。
【0011】また、本発明のノード装置は、ネットワー
クに接続されるノード装置であって、所望のオブジェク
トが配置され、当該オブジェクトに実行環境を提供する
プロセスであって、複数の信号入出力手段と、当該プロ
セスに配置された前記オブジェクトの動作に基づく送信
対象のメッセージを、前記ネットワークに接続された他
のノード装置の任意の送信先プロセスに対して、当該送
信先プロセスの信号入出力手段が指定されていない場合
には当該送信先プロセスの所定の信号入出力手段を、当
該送信先プロセスの信号入出力手段が指定されている場
合には当該指定されている信号入出力手段を介して、各
々送信する送信手段と、前記複数の信号入出力手段を介
して送信される信号を受信する複数の受信手段と、任意
のプロセスからの前記複数の信号入出力手段の所定の信
号入出力手段を介して受信した通信を検知し、当該プロ
セスと通信を行う信号入出力手段として、前記複数の信
号入出力手段の前記所定の信号入出力手段以外の他の特
定の信号入出力手段を指定する信号入出力手段指定手段
とを有するプロセスを1または複数有する。
【0012】前記プロセスの前記送信手段は、前記送信
対象のメッセージを、複数のパケットに分割し、該分割
したパケットごとに送信する。また好適には、前記プロ
セスは、前記複数の信号入出力手段を介して、複数の他
のプロセスと並行して通信を行う。
【0013】特定的には、前記プロセスは、遠隔手続き
呼び出し(リモート・プロシージャ・コール(RPC:R
emote Procedure Call))により通信を行う。また特定
的には、前記プロセスの前記所定の信号入出力手段は、
当該プロセスに係わるRPCプロセスのプロセスIDに
基づいて決定し、前記プロセスの送信手段は、送信先プ
ロセスの信号入出力手段が指定されていない場合に、当
該送信先プロセスのRPCプロセスのプロセスIDに基
づいて決定される信号入出力手段に、前記送信対象のメ
ッセージを送信する。
【0014】好適には、前記プロセスの信号入出力手段
指定手段は、任意のプロセスからの前記複数の信号入出
力手段の所定の信号入出力手段を介して受信した通信に
対して、当該プロセスと通信を行う信号入出力手段とし
て、前記複数の信号入出力手段の前記所定の信号入出力
手段を除く他の信号入出力手段において通信に係わる負
荷が均等になるように、前記他の特定の信号入出力手段
を指定する。特定的には、前記信号入出力手段は、ソケ
ット記述子である。
【0015】
【発明の実施の形態】本発明の一実施の形態について、
図1〜図8を参照して説明する。本実施の形態において
は、計算機装置などで構成される複数のノードがネット
ワークを介して接続されたネットワークシステムであっ
て、各ノード上に配置された分散オブジェクトがネット
ワークを介して通信を行いながら協働して所望の計算処
理を行うような、分散処理環境を提供するネットワーク
システムを例示して本発明を説明する。
【0016】まず、そのようなネットワークシステムの
全体構成について説明する。図1は、そのネットワーク
システムの全体構成を模式的に示す図である。本実施の
形態のネットワークシステムは、インターネットや、C
ATV網、衛星通信など多様な通信メディアが混在して
構成されるネットワーク環境において、ネットワーク上
の分散リソースを論理的に一体の計算環境として捉え、
分散処理環境を提供するものである。ここで、分散リソ
ースとは、各ノードのハードウェア機能に加えて、デー
タベースや高性能計算サーバ、WWWページの情報ソー
スなど、任意の計算機能を提供するものである。また、
その計算とは、広い範囲の種々の処理の実行を含むもの
とする。
【0017】このような分散処理環境上に、計算実体で
ある分散モジュール(並行オブジェクトと言う場合もあ
る。)が配置され、計算空間を形成する。なお、計算空
間は、同一のネットワーク環境上に複数のものをそれぞ
れ個別に形成することができる。この分散モジュール
は、具体的には、リモート呼出可能な分散オブジェク
ト、分散関数、あるいは、ネットワークを介して参照可
能な共有変数(以後、大域共有変数と言う。)である。
そして、これらにより、分散オブジェクト指向計算、分
散関数(手続き)呼び出しおよび大域共有変数処理とい
う各計算が、並行的に行われる。
【0018】このような計算を行うための、分散オブジ
ェクトメソッドおよび分散関数の呼び出しや、大域共有
変数へのアクセスという並行オブジェクト間の通信は、
非同期メッセージ送信(返値なしの一方向の通信)、
遅延評価型同期呼び出し(返値にアクセスしたときブ
ロックする)、完全同期呼び出し(返値到着まで呼出
側がブロックする)という3種類の方法により行う。な
お、これらの通信を総称してメッセージ通信と呼ぶ。す
なわち、このようなネットワークシステムは、ネットワ
ーク上に分散配置された並行オブジェクトが、メッセー
ジ通信によって並行計算を各々順次実行し、メッセージ
の連鎖によって全体として所望の計算を進行させるシス
テムと言うことができる。
【0019】計算空間に配置される各並行オブジェクト
は、図2に示すように、ネットワークノードにプロセス
を生成して管理する。プロセスは、並行オブジェクト間
のメッセージ送受信の機構などを提供する、並行オブジ
ェクトのための計算環境である。そのため、アプリケー
ション言語インタフェース(API) と、OSやハード
ウェアに対するシステムインターフェースを備え、プロ
グラミング言語やOS、ハードウェア、ネットワークと
いった実行環境の違いに適応して稼働できるようになっ
ている。また、メッセージは、異なる言語間でも送信可
能であり、任意のデータ構造体を引数として扱えるよう
になっている。その結果、このようなプロセスの集合と
して得られる実行環境は、大域空間上で共通の仮想的計
算環境として機能する。
【0020】次に、このようなプロセス間において行わ
れ、所望の分散処理を実施するための機構である、メッ
セージ送受信機構について説明する。図3は、前述した
ようにプロセスにより提供されるメッセージ送受信機構
を説明するための図である。プロセス100は、メッセ
ージ送受信に係わる構成部として、アプリケーションプ
ログラミング機能120、スケジューラ130、参照解
決器140、メッセージ通信部150、オペレーティン
グシステムインターフェイス(OSI/F)160およ
び通信メディアインターフェイス(通信メディアI/
F)170を有する。
【0021】アプリケーションプログラミング機能12
0は、並行オブジェクト110に対して、メッセージ送
信に関連したAPI (Application Programming Interf
ace)を提供する。スケジューラ130は、受信したメッ
セージの実行などの、そのプロセスにおける計算の制御
を行う。参照解決器140は、参照テーブル141を参
照して、メッセージ送信を行う計算実体を特定する。メ
ッセージ通信部150は、メッセージの送受信を行う機
能であり、メッセージセンダ151およびメッセージデ
ィスパッチャ152を有する。
【0022】OSI/F160は、移植性、可搬性を確
保しながらシステムに依存した処理を行えるようにする
ためのシステムプログラミングインターフェイスであ
る。通信メディアI/F170は、各並行オブジェクト
がメッセージ通信を行う上で必要となる、通信メディア
とのインターフェイスを行うシステムプログラミングイ
ンターフェイスである。本発明に係わるこの通信メディ
アI/F170については、後に詳述する。
【0023】このような構成のプロセス100における
メッセージ送信処理の流れについて、図4に示す。メッ
セージ送信では、アプリケーションプログラミング機能
120のAPI上のメッセージ送信関数の呼び出しによ
って、引数の構造体を認識して送信可能な論理形式に変
換し、参照解決器140により送信先オブジェクトの参
照解決を行ない、メッセージ通信部150で送信の処理
をする。この時、送信先の所在によって、通信メディア
I/F170を介したノード間RPC、ノード内IP
C、あるいは、プロセス内通信を選択して送信を行う。
ノード間でRPCを用いるのは、メッセージの到達を把
握するためである。送信先がドメインやオブジェクトク
ラスタになっていれば、プロセス毎のマルチキャストを
行なう。通信メディアI/F170は、対応するメディ
アごとに用意し、データの種類と制御の内容に応じて使
用するものを指定することができる。
【0024】また、このような構成のプロセス100に
おけるメッセージ受信処理の流れについて、図5に示
す。通信メディアI/F170を介してメッセージを受
信すると、メッセージディスパッチャ152は、受け取
ったリモート識別子から受信オブジェクトを特定し、そ
の処理を行なうための関数記述子を生成し、アプリケー
ションプログラミング機能120に出力する。メッセー
ジ引数は、論理形式からデータ構造体に展開する。関数
記述子は、オブジェクトメソッドと分散関数の呼び出
し、あるいは共有変数のアクセスを起動するための情報
と、メッセージの時間属性と優先度、および、メッセー
ジ送信元オブジェクトの呼出情報を保持したものであ
る。この関数記述子が、スケジューラ130に渡され処
理される。
【0025】メッセージ送信が同期呼出による場合は、
スケジューラ130による実行で得た評価値を同様に論
理形式に変換して、同じメッセージセンダ151により
呼び出し側に送信する。参照が中継されている場合は、
リモート識別子から新たな大域参照が得られるので、メ
ッセージディスパッチャ152はそのままメッセージセ
ンダ151を呼び出す。
【0026】次に、このようなネットワークシステムお
よびメッセージ通信方式において、上位からのメッセー
ジ通信の要求に応じて実際にメッセージの通信を行う通
信メディアI/F170について、詳細に説明する。な
おここでは、本発明に係わる、通信メディアを介してノ
ード間でメッセージ通信を行う場合について説明する。
【0027】図6は、プロセスの通信メディアI/F1
70の論理構成を示すとともに、ノードA上のプロセス
の通信メディアI/F170aからノードB上のプロセ
スの通信メディアI/F170bの間でメッセージ通信
が行われる場合の処理の流れを示す図である。図示のご
とく、通信メディアI/F170は、通信メソッドディ
スパッチャ171および各通信メソッドごとの通信部を
有する。
【0028】通信メソッドディスパッチャ171は、メ
ッセージ通信部150のメッセージセンダ151から入
力されるメッセージ通信の要求に応じて、そのメッセー
ジ通信を行うための通信メディアを選択し、その通信メ
ディアの通信部にそのメッセージ通信に係わる情報を入
力する。通信部には、CATV網、電話回線網などの通
信メディアに対応した各処理部が用意されているが、そ
の1つとして、インターネットを介してRPCによりメ
ッセージ通信を行うためのRPC部172が設けられて
いる。本実施の形態においては、以下、このRPC部1
72によるRPCを用いた通信制御方式について説明す
る。
【0029】RPCを使用した場合には、通信エラーの
リトライが自動的に行われたり、要求に対する応答でA
CKを受け取るという利用法により、送受信の確実性を
向上させることができる。また、通信メディアI/F1
70がメッセージ本体に付加する管理情報のバイトオー
ダなどの変換も、RPCのプトロコルコンパイラが生成
するフィルタを利用して行うことができるので好適であ
る。ただし、メッセージ本体に関する変換は、アプリケ
ーションプログラミング機能120で行う。なお、本実
施の形態のRPCは、具体的には、ソラリス(米国 Sun
Microsystems, Inc. の登録商標)におけるONC(Op
en Network Computing)RPC、WindowsNT(米国 M
icrosoft Corporationの登録商標)におけるONC-RPC fo
r WindowsNTである。
【0030】また、RPC部172においては、トラン
スポート層のプロトコルにTCPまたはUDPを用い
る。また、トランスポート層のプロトコルにTCPを選
択した場合には、TCPのサービスにより信頼性を向上
できる。しかし、TCPはコネクション指向であるた
め、同時に多数のコネクションを確立した時の性能面で
問題がある。それが問題となる場合には、トランスポー
ト層のプロトコルにUDPを選択すればよい。UDPを
選択した場合には、TCPのような信頼性は期待できな
いが、信頼性を向上させるサービスが無い分性能はよ
い。なお、以下の説明においては、UDPを選択した場
合について説明する。
【0031】図示のごとく、RPC部172は、さらに
メッセージハンドラ174とコミュニケーションマネー
ジャ173とを有する。
【0032】メッセージハンドラ174は、メッセージ
の分割および復元の処理を行う。UDPには、送信デー
タ量に制限がある。そのため、トランスポート層のプロ
トコルにUDPを用いる場合で、その送信量の制限を越
えるメッセージを送信する際は、メッセージを一定のデ
ータサイズのパケットに分割して送信し、受信側で復元
する。メッセージハンドラ174は、このような分割お
よび復元の処理を行う。図示のごとく、メッセージハン
ドラ174は、メッセージ分割部(Message Fragmentati
on) 175、メッセージ組み立て部(Message Reassembl
age)176およびバッファマネージャ(Buffer Manager)
177を有する。
【0033】メッセージ分割部175は、メッセージを
一定サイズのパケットに分割して、コミュニケーション
マネージャ173に出力する。この時、メッセージ分割
部175は、分割した各パケットに、受信側でメッセー
ジを復元するのに必要な情報を付加する。付加する情報
は、送信者のIPアドレスとプロセスID、メッセージ
長、メッセージシーケンス番号、パケット総数、および
パケットシーケンス番号である。メッセージシーケンス
番号は、プロセス内で何番目に送信したメッセージかを
示す番号であり、パケット総数は、メッセージをいくつ
のパケットに分割したかを示す数であり、パケットシー
ケンス番号は、メッセージを分割した中の何番目のパケ
ットかを示す番号である。
【0034】メッセージ再組み立て部176は、コミュ
ニケーションマネージャ173より入力される受信した
パケットを元のメッセージに組み立てて、メッセージ通
信部150のメッセージディスパッチャ152に出力す
る。この時、送信側は、分割したパケットを順番に送信
するだけであるが、受信側は1つのメッセージのパケッ
トとパケット間に、別のメッセージのパケットを受信す
る可能性がある。したがって、メッセージ再組み立て部
176は、メッセージごとに受信用バッファを持ち、受
信したパケットを対応するバッファに振り分け、メセー
ジを組み立てる。
【0035】バッファマネージャ177は、メッセージ
再組み立て部176の要求に応じて、図示せぬバッファ
を管理する。バッファマネージャ177は、メッセージ
再組み立て部176から新たなバッファの生成があった
時には、バッファを生成する。また、順次入力されるパ
ケットを、当該パケットが構成するメッセージに対応す
るバッファに順次格納する。また、1つのメッセージを
構成する全てのパケットが格納されてメッセージが完成
したら、そのメッセージをバッファより読み出して、メ
ッセージ再組み立て部176に出力する。
【0036】メッセージ再組み立て部176およびバッ
ファマネージャ177によるメッセージの再組み立ての
動作について具体的に説明する。メッセージ再組み立て
部176は、受信したパケットが、そのメッセージの最
初のパケットだった場合には、そのメッセージ長に応じ
たバッファを、バッファマネージャ177に要求する。
バッファは、送信側のIPアドレス、プロセスID、メ
ッセージシーケンス番号で識別される。そして、その要
求に基づいて生成されたバッファに、受信したパケット
を格納する。受信したパケットが、メッセージの2番目
以降のパケットだった場合には、前述したIPアドレ
ス、プロセスID、メッセージシーケンスが同一のバッ
ファを探索する。そして、そのバッファに、受信したパ
ケットを格納する。そして、格納したパケットがそのメ
ッセージの最後のパケットだった場合には、復元された
メッセージをバッファから読み出し、メッセージ通信部
150に出力する。
【0037】次に、コミュニケーションマネージャ17
3について説明する。コミュニケーションマネージャ1
73は、実際にネットワークを介して、所望のノード上
のプロセスのコミュニケーションマネージャ173との
間で、メッセージを構成するパケットの転送を行う。通
信メディアI/F170の機能は、メッセージの送受信
機能を提供することであり、同時に多数発生した送受信
に効率よく対処することが重要である。本実施の形態の
通信メディアI/F170においては、RPC下で使用
するクライアントハンドルおよびソケットを利用して、
効率のよい通信機能を実現するようにしており、通信メ
ディアI/F170は、実際のこのクライアントハンド
ルおよびソケットに係わる制御を行う。
【0038】クライアントハンドルは、RPCによるメ
ッセージの送信時に必要となるハンドルである。コミュ
ニケーションマネージャ173においては、クライアン
トハンドルは、各プロセス間の接続ごとに与え、送信側
プロセス内で管理する。すなわち、クライアントハンド
ルには、後述するソケット記述子、通信相手先であるプ
ロセスのソケット記述子およびそのプロセスが一意に対
応づけられている。したがって、プロセス内の各送信ス
レッドは、適切なクライアントハンドルを選択するのみ
で、目的とするプロセスにメッセージを送信することが
できる。また、送信先プロセスが以前に送信したプロセ
スと同じ場合、以前に確立した接続を再利用するように
し、再接続を不必要とする。
【0039】ソケット記述子は、プロセス内で使用可能
な数に制限があるため、同時に多数の送受信があること
を想定し、効率よく割り当て有効に利用しなければなら
ない。なお、本実施の形態においては、1プロセス当た
りのソケット記述子数は64個までに制限されているも
のとする。そこで、コミュニケーションマネージャ17
3は、接続ごとに、送信側、受信側それぞれにおいてそ
の接続に対してソケット記述子を割り当てる。この時、
RPCクライアントである送信側プロセスのコミュニケ
ーションマネージャ173aは、RPCサーバとの接続
要求時にソケット記述子を割り当てる。また、受信側プ
ロセスであるRPCサーバのコミュニケーションマネー
ジャ173bは、初受信時は、デフォルトのソケット記
述子で受信し、その初受信時に、直ちにそのプロセスと
の通信用に、別のソケット記述子を割り当てる。この時
には、受信側プロセスの各ソケットに対する負荷を考慮
して、負荷分散されるように、割り当てるソケット記述
子を決定する。
【0040】したがって、最初の通信は、送信側の割り
当てられたソケットと受信側のデフォルトのソケットと
の間で行われるが、以降の通信においては、送信側の割
り当てられたソケットと受信側で負荷を考慮の上割り当
てられたソケットとの間で行われる。また、これら送信
側および受信側における各ソケット記述子の割り当てに
おいて、各プロセスにおける接続数が指定制限内のソケ
ット記述子数であれば、RPCの機能により割り当てる
が、指定制限のソケット記述子数を上回れば、RPCに
割り当てられたソケット記述子を重ねて順に割り当て
る。したがって、そのような場合には、複数のクライア
ントハンドルがソケット記述子を共用することになる。
【0041】なお、RPC下では、接続先を特定するの
に、サーバホスト、プログラム番号、バージョン番号お
よびプロトコルの組み合わせを使用する。このうち、接
続するソケットを特定するためには、ソケットごとにプ
ロセス内でユニークなバージョン番号を割り振り、その
バージョン番号を指定することになる。なお、前述した
デフォルトのソケットに対して割り振るバージョン番号
は、RPCサーバプロセスのプロセスIDと通番の組み
合わせとする。
【0042】また、コミュニケーションマネージャ17
3は、生成したソケットをONC−RPCポートマッパ
180に登録しておく。ONC−RPCポートマッパ1
80に登録しておくと、RPCで使用しているソケット
にメッセージが届くと、RPC部172に通知が行わ
れ、処理を移すことができる。
【0043】このような構成の通信メディアI/F17
0を各々有するプロセス間で、ネットワークを介したメ
ッセージ通信を行う場合の処理の流れについて説明す
る。なお、ここでは、ノードA上のプロセス上で稼働し
ている並行オブジェクトなどから、ノードB上のプロセ
ス上で稼働している並行オブジェクトに対して、返値が
必要なメッセージを送信する場合の処理の流れについて
説明する。まず、ノードAの当該プロセスのメッセージ
通信部150aに対して、メッセジ送信の要求が行わ
れ、メッセージ通信部150aのメッセージディスパッ
チャ152aが、その送信対象のメッセージおよび送信
先のIPアドレス、プロセスIDを含むメッセージに係
わる情報を通信メディアI/F170aに伝達し、メッ
セージ送信を指示する。
【0044】通信メディアI/F170aでは、通信メ
ソッドディスパッチャ171aにおいて通信メディアを
選定する。たとえば、インターネットを介した通信を行
う場合には、RPC部172aのメッセージ分割部17
5aにおいて、そのメッセージをUDPによる送信に適
したデータ量の複数のデータ量に分割し、送信用パケッ
トを生成する。そして、コミュニケーションマネージャ
173aの要求送信機能により、ノードBの所望のプロ
セスに対してパケットを送信する。
【0045】このパケットは、適宜、ノードBのプロセ
スの通信メディアI/F170bのコミュニケーション
マネージャ173bの要求受信機能により受信され、メ
ッセージハンドラ174bのメッセージ再組み立て部1
76bにおいて、一時的に順次バッファマネージャ17
7bに格納されることによりメッセージとして組み立て
られる。組み立てられたメッセージは、メッセージ通信
部150bのメッセージディスパッチャ152bに渡さ
れ、図示せぬスケジューラ400bなどでスケジューリ
ング管理された後実行される。
【0046】そして、その実行が終了すると、結果など
の返値を戻すためのメッセージの送信がメッセージ通信
部150bのメッセージディスパッチャ152bよりR
PC部172bに指示される。通信メディアI/F17
0bにおいては、前述したノードAの通信メディアI/
F170aにおけるパケット生成の処理と同様に、メッ
セージ分割部175bにおいて、その返値に基づいて複
数のパケットを生成し、コミュニケーションマネージャ
173bの返値送信機能によりノードAのプロセスに対
してパケットを送信する。
【0047】このパケットは、ノードAのプロセスの通
信メディアI/F170aのコミュニケーションマネー
ジャ173aの返値受信機能により受信され、前述した
ノードBの通信メディアI/F170bにおけるメッセ
ージ復元の処理と同様に、メッセージハンドラ174a
のメッセージ再組み立て部176aにおいて、一時的に
順次バッファマネージャ177bに格納されることによ
りメッセージとして組み立てられる。組み立てられたメ
ッセージ、すなわち返値は、メッセージ通信部150a
のメッセージセンダ151aに渡され、メッセージ送信
元の並行オブジェクトなどに戻される。
【0048】次に、論理的にはこのような各機能を有す
るプロセス100およびその通信メディアI/F170
を、マルチスレッド環境において実際にプロセス内にお
いて実現する場合の、送信および受信に係わるスレッド
の構成および処理の流れについて図7を参照して説明す
る。図7は、ノードA上の遠隔機能呼び出しプロセスと
ノードB上の遠隔機能呼び出しプロセスとの間で、メッ
セージの通信を行う場合の、スレッドの構成および処理
の流れを示す図である。
【0049】図示のごとく、各プロセスは、複数の送信
スレッドおよび複数の受信スレッドを有しており、これ
らによりメッセージを構成するパケットの送受信が並行
して行われる。送信スレッド820,870は、上位か
ら送られて来たメッセージを相手側に送るためのスレッ
ドであり、メッセージが入力されるごとに生成される。
受信スレッド830,860は、メッセージを送った結
果を受信するためのスレッドであり、プロセス内に複数
設けられる。なお、このように送信スレッドおよび受信
スレッドは、各プロセスに各々複数あるものであるが、
以下の説明中においては、送信側(ノードAのプロセス
810)については送信スレッド820および受信スレ
ッド830、受信側(ノードBのプロセス850)につ
いては受信スレッド860および送信スレッド870の
各スレッドを具体例として説明を行う。
【0050】以下、各プロセスの各スレッドにおける処
理の流れについて説明する。送信側プロセス810の送
信スレッド820においては、アプリケーションプログ
ラミング機能120からの関数呼び出しにより、通信メ
ディアI/F170のユーザとしてのメッセージセンダ
821(図3におけるメッセージ通信部150のメッセ
ージセンダ151)を介して、メッセージの要求を受け
ると、通信メディアI/F170の最上位の関数である
CMIセンダ822がこれを受け、メッセージ要求送信
機能823に渡す。メッセージ要求送信機能823は、
ハンドルマネージャ824に、メッセージ送信先の情報
を渡す。ハンドルマネージャ824は、その情報に基づ
いて、クライアントハンドル管理テーブル840を参照
して、使用するRPCクライアントハンドルの情報を獲
得し、メッセージ要求送信機能823に戻す。メッセー
ジ要求送信機能823は、そのクライアントハンドルお
よびそのクライアントハンドルに対応付けられているポ
ート841を介して、メッセージを送信する。
【0051】この時、その送信相手先プロセスに対して
始めて通信を行う場合には、その相手先プロセスのデフ
ォルトのポート(ソケット記述子およびクライアントハ
ンドルが対応付けられて構成されている)885に対し
てメッセージを送信する。受信側プロセス850の受信
スレッド860は、後述するように、デフォルトのポー
ト885でパケットを受信したら、送信元のプロセス8
10に対する新たなポート886を割り当て、そのポー
トを示す情報を、そのパケットの受信を確認するACK
とともに送信側プロセス810に通知する。したがっ
て、送信スレッド820は、そのポート886の情報
を、ハンドルマネージャ824を介してクライアントハ
ンドル管理テーブル840に登録しておく。そして、以
後そのプロセスに対する通信は、その通知されたポート
を介して行う。したがって、送信スレッド820も、送
信対象のメッセージの残りのパケットを、順次ポート8
86に対して送信する。
【0052】メッセージの送信が終了したら、そのメッ
セージが返値を要求しないメッセージである場合には、
送信スレッド820は処理を終了する。そのメッセージ
が返値を要求する場合には、送信スレッド820はその
返値が戻ってくるのを待つ。返値は、これを受信した送
信側プロセス810内の受信スレッド830が、スレッ
ド間通信により送信スレッド820に通知する場合と、
その旨の通知を図示せぬメッセージキューに投入する場
合とがある。
【0053】いずれの場合も、送信スレッド820のC
MIレシーバ825がこの通知を受け取り、共有領域8
43内に記憶されている返値メッセージを読み出し、メ
ッセージセンダ821を介して上位の関数に戻す。な
お、この通知には、共有領域のどの位置にメッセジが存
在するかというアドレス情報も含まれる。したがって、
送信スレッドは、このアドレス情報を参照することによ
り、完成したメッセージをサーチすることなく、所望の
メッセージを取り出すことができる。
【0054】受信側プロセス850の複数の受信スレッ
ドは、各々ファイル記述子を監視するシステムコール
(select)により、受信側プロセス850のデフ
ォルトのポート885を監視する。そして、デフォルト
のポート852に到達したメッセージを最初に検知した
受信スレッド(これを受信スレッド860とする。)が
そのメッセージを受け取る。この最初のメッセージを受
け取った受信スレッド860は、前述したように、その
メッセージの送信元である送信側プロセス810に対し
て、メッセージを受信するための新たなポート886を
割り当てる。そして、このポートの情報を、到達確認A
CKとともに、送信スレッド820に通知する。これに
より、以後の送信側プロセス810からのメッセージ送
信は、ポート852に対して行われることになる。
【0055】また、受信スレッド860は、その生成段
階において、サービス登録機能862によりメッセージ
収集サービスの登録を行い、受信スレッド860宛のパ
ケットを収集する収集サービス863が行われるように
しておく。したがって、以後のパケットの収集は、この
収集サービス863により行われる。
【0056】そして受信スレッド860においては、メ
ッセージ要求受信機能861がポート885および88
6を介してパケットを受信し、これを収集サービス86
3が順次共有領域883に記憶する。共有領域883に
1つのメッセージが組み立てられると、それが先に送信
したメッセージの返値でない場合、すなわち、受信側プ
ロセス850に対する手続きなどの要求であった場合に
は、CMI受信機能864がこれを読み出し、メッセー
ジディスパッチャ865(図3における、メッセージ通
信部150のメッセージディスパッチャ152に相当す
る。)を介して、アプリケーションプログラミング機能
120に出力する。また、共有領域883に組み立てら
れたメッセージが、先に送信したメッセージの返値だっ
た場合には、収集サービス863がスレッド間通信によ
り、この返値メッセージを待っている受信側プロセス8
50内の受信スレッドに対して、その返値メッセージを
受信したことを通知する。
【0057】受信側プロセス850の受信スレッド87
0も、前述した送信側プロセス810の送信スレッド8
20と全く同じ機能を有する。送信側プロセス810か
ら送信されたメッセージに対する返値を戻す場合につい
て処理の流れを説明すると、アプリケーションプログラ
ミング機能120からの関数呼び出しにより、メッセー
ジセンダ871を介して、返値メッセージの要求を受
け、CMIセンダ872がさらにこれを受けてメッセー
ジ返値送信機能873に渡す。メッセージ要求送信機能
823は、ハンドルマネージャ874を介してクライア
ントハンドル管理テーブル880を参照して、プロセス
810に送信を行うために使用するRPCクライアント
ハンドルの情報を獲得し、その情報に基づいて、ポート
881を介してプロセス810に返値メッセージを送信
する。
【0058】この時も、このメッセージを送信がプロセ
ス850からプロセス810への最初の通信の場合に
は、プロセス810において、デフォルトのポートから
特定のポートへのポートの割り振りが行われるが、この
処理は前述したプロセス850の場合と同じなので、説
明は省略する。そして、プロセス850からプロセス8
10へ、ポート881およびポート845を介して返値
メッセージの送信が終了したら、送信スレッド870は
処理を終了する。
【0059】送信側プロセス810の受信スレッド83
0も、前述した受信側プロセス850の受信スレッド8
60と全く同じ機能を有する。受信側プロセス850か
ら返値メッセージが送信された場合について処理の流れ
を説明すると、受信側プロセス850の複数の受信スレ
ッドの中で、最初にメッセージの到達を検知した受信ス
レッド830のメッセージ返値受信機能831がポート
845を介して返値メッセージのパケットを順次受信
し、これを予めサービス登録機能832により登録され
た収集サービス833が、共有領域843に順次記憶す
る。共有領域843に返値メッセージが組み立てられる
と、収集サービス863がスレッド間通信により、この
返値メッセージを待っている送信スレッド820に対し
て、その返値メッセージを受信したことを通知する。
【0060】最後に、このようなプロセス間のメッセー
ジ通信の方法における、本発明に係わる各プロセスでの
ポートの振り分け方について、図8を参照して、まとめ
て説明する。なお、各プロセスとネットワークとのイン
ターフェイスは、ソケット記述子とポートにより構成さ
れるが、本実施の形態においては、前述したように、こ
れらは1対1に対応付けて用いるものとしたので、以後
の説明においては、単にプロセス側から見えるソケット
記述子のみを指して説明を行う。
【0061】たとえば、ノードAのプロセスAの第1の
送信スレッド701から、ノードBのプロセスBに対し
てメッセージ送信を行う場合には、送信スレッド701
は、まず、プロセスBのデフォルトのソケット記述子7
22に対してメッセージ(パケット)を送信する。プロ
セスBでは、受信スレッド721がこれを受信し、前述
したような処理により、プロセスAからの受信用ソケッ
ト記述子として新たなソケット記述子723を決定し、
これを送信スレッド701に対して通知する。これによ
り、以後のプロセスAからプロセスBに対する通信は、
このソケット記述子723を介して行われるようにな
る。
【0062】また、たとえば、ノードBのプロセスBの
送信スレッド724から、ノードAのプロセスAに対し
てメッセージ送信を行う場合には、送信スレッド724
は、まず、プロセスAのデフォルトのソケット記述子7
04に対してメッセージを送信する。プロセスAでは、
受信スレッド703がこれを受信し、プロセスBからの
受信用ソケット記述子として新たなソケット記述子70
5を決定し、これを送信スレッド724に対して通知す
る。これにより、以後のプロセスBからプロセスAに対
する通信は、ソケット記述子705を介して行われるよ
うになる。
【0063】同様に、ノードCのプロセスCから、ノー
ドAのプロセスAに対してメッセージ送信を行う場合
も、まずは送信スレッド744より、プロセスAのデフ
ォルトのソケット記述子704に対してメッセージが送
信される。プロセスAの受信スレッド703は、これに
対して、新たなソケット記述子706を決定し、これを
送信スレッド744に対して通知する。これにより、以
後のプロセスCからプロセスAに対する通信は、ソケッ
ト記述子706を介して行われるようになる。
【0064】このように、デフォルトのソケット記述子
に対して行われたメッセージ通信を、順次他のソケット
記述子の振り分けることにより、複数のソケット記述子
を用いて、また、それら複数のソケット記述子において
通信に係わる負荷が均等になるように、複数のプロセス
との通信を行うことができる。
【0065】また、このようなソケット記述子の振り分
けを行っている時に、そのプロセスで使用可能なソケッ
ト記述子に空きがなくなった場合、すなわち、新たなソ
ケット記述子を生成できなくなった時には、既に他のプ
ロセスとの通信に用いているソケット記述子に対して、
重複してプロセスを振り分ける。
【0066】たとえば、ノードDのプロセスDから、ノ
ードAのプロセスAに対してメッセージ送信を行う場
合、まずは送信スレッド764より、プロセスAのデフ
ォルトのソケット記述子704に対してメッセージが送
信され、プロセスAの受信スレッド703は、これに対
して新たなソケット記述子を決定しようとする。しか
し、プロセスAで使用できるソケット記述子を全て使用
してしまい、新しソケット記述子を割り振ることができ
ないとする。その場合には、受信スレッド703は、既
に他のプロセスのために割り振っているソケット記述
子、図8の例ではプロセスCとの通信のために割り振っ
ているソケット記述子706を、再びプロセスDのため
に割り振る。以後、ソケット記述子を割り振る必要が生
じた時には、既に使用しているソケット記述子に対し
て、その通信負荷が均一になるように、順次重複して通
信対象のプロセスを割り振っていく。
【0067】メッセージ送信用のソケット記述子につい
ても、使用できるソケット記述子が必要な通信先の数よ
りも少ない場合には、1つのソケット記述子に重複して
送信先プロセスを割り振っていく。たとえば、プロセス
Aの送信スレッド707と送信スレッド708のよう
に、各々はプロセスCとプロセスDにメッセージを行う
ものであるが、使用できるソケット記述子がソケット記
述子709の1つしかない場合には、2つの送信スレッ
ド707,708でソケット記述子709を共通利用し
て通信を行う。なお、ソケット記述子は共通であって
も、クライアントハンドルは送信先プロセスごとに設け
られる。したがって、各送信スレッドにおいては、送信
先プロセスに応じたクライアントハンドルを選択するの
みで、適切な自プロセスのソケット記述子およびポー
ト、相手プロセスのソケット記述子およびポートを指定
した通信を行うことができる。
【0068】このように、本実施の形態のネットワーク
システムにおいては、1つのプロセスが複数のソケット
および複数の受信スレッドを用いてメッセージを受信す
ることができ、多数の他のノード上のプロセスと、同時
並列的に通信を行うことができる。そのため、メッセー
ジ通信の性能を向上させることができ、プロセス間、換
言すれば並行オブジェクト間の通信を効率よく行うこと
ができ、所望の並列分散処理を効率よく行うことができ
る。その際に、各プロセスにおいては、まずデフォルト
のソケットで通信の要求、最初の通信を受け付け、これ
に対して使用するソケットを改めて割り当てるようにし
ている。したがって、使用可能な複数のソケットに対し
て、各プロセスとの通信を適切に均等に割り振ることが
できる。
【0069】また、使用可能なソケットの数を通信先の
数が越えた場合には、各ソケットに重複して通信を割り
当てていくので、そのような場合にも適切に並行したメ
ッセージ通信を行うことができる。そして、そのような
場合においても、通信相手のソケットへの割り振りは前
述したようにダイナミックに行いかつ制御することがで
きるので、各ソケットにおける通信に係わる負荷が均等
になるように割り振ることができる。
【0070】
【発明の効果】以上説明したように、本発明の通信方法
によれば、たとえばソケット記述子であるような入出力
手段を有効に利用して、ネットワークを介して接続され
ている処理モジュール間の通信を効率よく行える。ま
た、本発明の分散処理装置とその方法によれば、たとえ
ばソケット記述子であるような入出力手段を有効に利用
して、プロセス間の通信を同時並列的に効率よく行うこ
とができ、これにより分散配置されたオブジェクトが協
働して所望の処理を効率よく実行することができる。
【0071】また、本発明のネットワークシステムによ
れば、各ノード上のプロセスがたとえばソケット記述子
であるような入出力手段を有効に利用して、プロセス間
の通信を同時並列的に効率よく行い、分散配置された各
オブジェクトが全体として所望の処理を効率よく実行す
ることができる。さらに、本発明のノード装置によれ
ば、たとえばソケット記述子であるような入出力手段を
有効に利用して、他のノードのプロセスと効率よく通信
を行え、配置されたオブジェクトが他のノード上のオブ
ジェクトと協働して行う所望の処理を効率よく行うこと
ができる。
【図面の簡単な説明】
【図1】図1は、本発明の一実施の形態のネットワーク
システムの全体構成を模式的に示す図である。
【図2】図2は、図1に示した計算空間に配置される並
行オブジェクトとプロセスの関係を示す図である。
【図3】図3は、図2に示したプロセスにより提供され
るメッセージ送受信機構を説明するための図である。
【図4】図4は、図3に示したメッセージ送受信機構に
よるメッセージ送信処理の流れを示す図である。
【図5】図5は、図3に示したメッセージ送受信機構に
よるメッセージ受信処理の流れを示す図である。
【図6】図6は、図3に示した通信メディアI/Fの論
理構成、および、ノード間でメッセージ通信が行われる
場合の処理の流れを示す図である。
【図7】図7は、異なるノード上のプロセス間でメッセ
ージの通信を行う場合の、スレッドの構成および処理の
流れを示す図である。
【図8】図8は、異なるノード上のプロセス間でメッセ
ージの通信を行う場合の、各プロセスでのソケット記述
子の振り分け方を説明するための図である。
【符号の説明】
100…プロセス 110…並行オブジェクト 120…アプリケーションプログラミング機能 130…スケジューラ 140…参照解決器 141…参照テーブル 150…メッセージ通信部 151…メッセージセンダ 152…メッセージディスパッチャ 160…OSI/F 170…通信メディアI/F 180…ONC−RPCポートマッパ 810,850…プロセス 820,870…送信スレッド 821,871…メッセージセンダ 822,872…CMIセンダ 823,873…メッセージ送信機能 824,874…ハンドルマネージャ 825,875…CMIレシーバ 830,860…受信スレッド 831,861…メッセージ受信機能 832,862…サービス登録機能 833,863…収集サービス 834,864…CMI受信機能 835,865…メッセージディスパッチャ 840,880…クライアントハンドル管理テーブル 841,845,881,885,886…ポート 843,883…共有領域
【手続補正書】
【提出日】平成11年6月21日(1999.6.2
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】
【課題を解決するための手段】前記課題を解決するため
に、本発明の通信方法は、ネットワークを介して接続さ
れた処理モジュール間の通信方法であって、第1の処理
モジュールが、具備する所定の複数の信号入出力手段に
おいて通信に係わる負荷が均等になるようにいずれか1
つの信号入出力手段を割り当て、割り当てられた信号入
出力手段より、前記ネットワークを介して第2の前記処
理モジュールの所定の信号入出力手段に信号を送信して
第2の処理モジュールに対して通信を開始する。第2の
処理モジュールは、所定の信号入出力手段おいて前記信
号を受信し通信の開始を検知し、具備する複数の信号入
出力手段の中の前記所定の信号入出力手段を除く他の各
信号入出力手段において通信に係わる負荷が均等になる
ように、第1の処理モジュールに対して他の信号入出力
手段を割り当て、前記割り当てた信号入出力手段を前記
第1の処理モジュールに通知する。第1の処理モジュー
ルは、通知された信号入出力手段を第2の処理モジュー
ルに対応付けて所定の管理テーブルに記憶し、指定され
た信号入出力手段を介して第2の処理モジュールへの通
信を行う。そして、以後、第1の処理モジュールから第
2の処理モジュールへ新たな通信を行なう場合には、第
1の処理モジュールは管理テーブルを参照して第2の処
理モジュールに対応付けられている信号入出力手段を検
知し、検知した信号入出力手段に直接信号を送信して通
信を開始し、第2の処理モジュールへの通信を行う。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】また、本発明の分散処理装置は、複数のオ
ブジェクトが協働して所望の処理を行う分散処理装置で
あって、各々接続された複数のノードと、前記ノード上
に各々1つまたは複数形成され、配置されたオブジェク
トに実行環境を提供する複数のプロセスと、各々前記複
数のプロセスのいずれかに配置される前記複数のオブジ
ェクトとを有する。そして、特にその複数のプロセスの
各々は、複数の信号入出力手段と、通信先となるプロセ
スと当該各プロセスより通知された信号入出力手段とを
対応付けて記憶する管理テーブルと、具備する所定の複
数の信号入出力手段において通信に係わる負荷が均等に
なるように、いずれか1つの信号入出力手段を割り当て
る送信用信号入出力手段指定手段と、送信対象のメッセ
ージを前記割り当てられた信号入出力手段より任意の送
信先のプロセスに対して送信する手段であって、当該送
信先プロセスおよび該送信先プロセスの信号入出力手段
が前記管理テーブルに記憶されていない場合には当該送
信先プロセスの所定の信号入出力手段を介して、当該送
信先プロセスおよび該送信先プロセスの信号入出力手段
が前記管理テーブルに記憶されている場合には当該記憶
されている信号入出力手段を介して、各々前記メッセー
ジを送信する送信手段と、前記送信手段により、送信先
プロセスに対して当該プロセスの所定の信号入出力手段
を介して通信を開始した場合に当該送信先プロセスより
通知される、当該送信先プロセスの信号入出力手段を、
当該送信先プロセスと対応付けて前記管理テーブルに記
憶する管理テーブル更新手段と、前記複数の信号入出力
手段を介して送信される信号を受信する複数の受信手段
と、任意のプロセスからの前記複数の信号入出力手段の
所定の信号入出力手段を介して受信した通信を検知し、
当該プロセスと通信を行う信号入出力手段として、前記
複数の信号入出力手段の前記所定の信号入出力手段以外
の他の特定の信号入出力手段のいずれかを、当該他の信
号入出力手段各々における通信に係わる負荷が均等にな
るように割り当て、該割り当てた信号入出力手段を前記
通信元のプロセスに通知する受信用信号入出力手段指定
手段とを有する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】また、本発明の分散処理方法は、相互に接
続された複数のノードの各々に、配置されたオブジェク
トに実行環境を提供する複数のプロセスを1または複数
配置し、前記複数のオブジェクトを、各々前記複数のプ
ロセスのいずれかに配置し、前記プロセスに配置された
前記各オブジェクトの動作に基づいて生成されたメッセ
ージの通信をオブジェクト間で並列に行ない、該通信に
より、複数のオブジェクトが協働して所望の処理を行
う。そして、特に、そのメッセージの通信は、送信元の
プロセスが、具備する所定の複数の信号入出力手段にお
いて通信に係わる負荷が均等になるように、いずれか1
つの信号入出力手段を割り当て、前記送信元のプロセス
が、前記割り当てられたた信号入出力手段より、送信先
のプロセスの所定の信号入出力手段に信号を送信して該
送信先のプロセスに対して通信を開始し、前記送信先の
プロセスは、具備する複数の信号入出力手段の中の前記
所定の信号入出力手段を除く他の各信号入出力手段にお
いて、通信に係わる負荷が均等になるように、前記送信
元のプロセスに対して他の信号入出力手段を割り当て、
前記割り当てた信号入出力手段を前記送信元のプロセス
に通知し、前記送信元のプロセスは、前記通知された信
号入出力手段を、前記送信先のプロセスに対応付けて所
定の管理テーブルに記憶し、前記指定された信号入出力
手段を介して、前記送信元のプロセスから前記送信先の
プロセスへのメッセージの送信を行い、以後、前記送信
元のプロセスから前記送信先のプロセスへ新たな通信を
行なう場合には、前記送信元のプロセスは前記管理テー
ブルを参照して前記送信先のプロセスに対応付けられて
いる前記信号入出力手段を検知し、当該検知した信号入
出力手段を介して、前記送信元のプロセスから前記送信
先のプロセスへの通信を行うことにより行なう。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】また、本発明のネットワークシステムは、
ネットワークを介して接続された複数のノードと、協働
して所望の処理を行うための複数のオブジェクトが配置
される、前記ノード上に各々1つまたは複数形成される
複数のプロセスであって、各々、複数の信号入出力手段
と、通信先となるプロセスと当該各プロセスより通知さ
れた信号入出力手段とを対応付けて記憶する管理テーブ
ルと、具備する所定の複数の信号入出力手段において通
信に係わる負荷が均等になるように、いずれか1つの信
号入出力手段を割り当てる送信用信号入出力手段指定手
段と、当該プロセスに配置された前記オブジェクトの動
作に基づく送信対象のメッセージを、前記割り当てられ
た信号入出力手段より、任意の送信先のプロセスに対し
て送信する手段であって、当該送信先プロセスおよび該
送信先プロセスの信号入出力手段が前記管理テーブルに
記憶されていない場合には当該送信先プロセスの所定の
信号入出力手段を介して、当該送信先プロセスおよび該
送信先プロセスの信号入出力手段が前記管理テーブルに
記憶されている場合には当該記憶されている信号入出力
手段を介して、各々前記メッセージを送信する送信手段
と、前記送信手段により、送信先プロセスに対して当該
プロセスの所定の信号入出力手段を介して通信を開始し
た場合に当該送信先プロセスより通知される、当該送信
先プロセスの信号入出力手段を、当該送信先プロセスと
対応付けて前記管理テーブルに記憶する管理テーブル更
新手段と、前記複数の信号入出力手段を介して送信され
る信号を受信する複数の受信手段と、任意のプロセスか
らの前記複数の信号入出力手段の所定の信号入出力手段
を介して受信した通信を検知し、当該プロセスと通信を
行う信号入出力手段として、前記複数の信号入出力手段
の前記所定の信号入出力手段以外の他の特定の信号入出
力手段のいずれかを、当該他の信号入出力手段各々にお
ける通信に係わる負荷が均等になるように割り当て、該
割り当てた信号入出力手段を前記通信元のプロセスに通
知する受信用信号入出力手段指定手段とを有する複数の
プロセスとを有する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】また、本発明のノード装置は、ネットワー
クに接続されるノード装置であって、所望のオブジェク
トが配置され、当該オブジェクトに実行環境を提供する
プロセスであって、複数の信号入出力手段と、通信先と
なるプロセスと当該各プロセスより通知された信号入出
力手段とを対応付けて記憶する管理テーブルと、具備す
る所定の複数の信号入出力手段において通信に係わる負
荷が均等になるように、いずれか1つの信号入出力手段
を割り当てる送信用信号入出力手段指定手段と、当該プ
ロセスに配置された前記オブジェクトの動作に基づく送
信対象のメッセージを、前記割り当てられた信号入出力
手段より、任意の送信先のプロセスに対して送信する手
段であって、当該送信先プロセスおよび該送信先プロセ
スの信号入出力手段が前記管理テーブルに記憶されてい
ない場合には当該送信先プロセスの所定の信号入出力手
段を介して、当該送信先プロセスおよび該送信先プロセ
スの信号入出力手段が前記管理テーブルに記憶されてい
る場合には当該記憶されている信号入出力手段を介し
て、各々前記メッセージを送信する送信手段と、前記送
信手段により、送信先プロセスに対して当該プロセスの
所定の信号入出力手段を介して通信を開始した場合に当
該送信先プロセスより通知される、当該送信先プロセス
の信号入出力手段を、当該送信先プロセスと対応付けて
前記管理テーブルに記憶する管理テーブル更新手段と、
前記複数の信号入出力手段を介して送信される信号を受
信する複数の受信手段と、任意のプロセスからの前記複
数の信号入出力手段の所定の信号入出力手段を介して受
信した通信を検知し、当該プロセスと通信を行う信号入
出力手段として、前記複数の信号入出力手段の前記所定
の信号入出力手段以外の他の特定の信号入出力手段のい
ずれかを、当該他の信号入出力手段各々における通信に
係わる負荷が均等になるように割り当て、該割り当てた
信号入出力手段を前記通信元のプロセスに通知する受信
用信号入出力手段指定手段とを有するプロセスを1また
は複数有する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】好適には、前記プロセスの前記送信手段
は、前記送信対象のメッセージを、複数のパケットに分
割し、該分割したパケットごとに送信する。また好適に
は、前記プロセスは、前記複数の信号入出力手段を介し
て、複数の他のプロセスと並行して通信を行う。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】特定的には、前記プロセスは、遠隔手続き
呼び出し(リモート・プロシージャ・コール(RPC:R
emote Procedure Call))により通信を行い、前記送信
用信号入出力手段指定手段および前記受信用信号入出力
手段指定手段は、各々、前記割り当てを、当該プロセス
において既に割り当てた信号入出力手段の数が、当該プ
ロセスにおいて実質的に使用可能な信号入出力手段の数
より少ない場合には、前記RPCの機能により行ない、
当該プロセスにおいて既に割り当てた信号入出力手段の
数が、前記実質的に使用可能な信号入出力手段の数以上
の場合には、前記各信号入出力手段において通信に関わ
る負荷が分散されるように、前記RPCに前記既に割り
当てが行なわれている信号入出力手段をさらに指定する
ことにより行なう。特定的には、前記信号入出力手段
は、ソケット記述子である。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】また、前記通信方法および前記ネットワー
クシステムにおいて、特定的には、前記プロセスの前記
所定の信号入出力手段は、当該プロセスに係わるRPC
プロセスのプロセスIDに基づいて決定し、送信先プロ
セスの信号入出力手段が指定されていない場合に、当該
送信先プロセスのRPCプロセスのプロセスIDに基づ
いて決定される信号入出力手段に前記送信対象のメッセ
ージが送信される。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正内容】
【0041】なお、RPC下では、接続先を特定するの
に、サーバホスト、プログラム番号、バージョン番号お
よびプロトコルの組み合わせを使用する。このうち、接
続するソケットを特定するためには、ソケットごとにプ
ロセス内でユニークなバージョン番号を割り振り、その
バージョン番号を指定することになる。そのため、ソケ
ットに対して割り振るバージョン番号は、RPCサーバ
プロセスのプロセスIDと通番の組み合わせとする。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0054
【補正方法】変更
【補正内容】
【0054】受信側プロセス850の複数の受信スレッ
ドは、各々ファイル記述子を監視するシステムコール
(select)により、受信側プロセス850のデフ
ォルトのポート885を監視する。そして、デフォルト
のポート885に到達したメッセージを最初に検知した
受信スレッド(これを受信スレッド860とする。)が
そのメッセージを受け取る。この最初のメッセージを受
け取った受信スレッド860は、前述したように、その
メッセージの送信元である送信側プロセス810に対し
て、メッセージを受信するための新たなポート886を
割り当てる。そして、このポートの情報を、到達確認A
CKとともに、送信スレッド820に通知する。これに
より、以後の送信側プロセス810からのメッセージ送
信は、ポート852に対して行われることになる。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正内容】
【0057】受信側プロセス850の送信スレッド87
0も、前述した送信側プロセス810の送信スレッド8
20と全く同じ機能を有する。送信側プロセス810か
ら送信されたメッセージに対する返値を戻す場合につい
て処理の流れを説明すると、アプリケーションプログラ
ミング機能120からの関数呼び出しにより、メッセー
ジセンダ871を介して、返値メッセージの要求を受
け、CMIセンダ872がさらにこれを受けてメッセー
ジ返値送信機能873に渡す。メッセージ要求送信機能
823は、ハンドルマネージャ874を介してクライア
ントハンドル管理テーブル880を参照して、プロセス
810に送信を行うために使用するRPCクライアント
ハンドルの情報を獲得し、その情報に基づいて、ポート
881を介してプロセス810に返値メッセージを送信
する。
フロントページの続き (72)発明者 前川 博俊 東京都港区赤坂七丁目3番37号 株式会社 ディジタル・ビジョン・ラボラトリーズ内 Fターム(参考) 5B045 BB31 GG01 5B089 AA20 AB01 AC07 AD01 AF01 CC11 5B098 AA10 GC16

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】ネットワークを介して接続された処理モジ
    ュール間の通信方法であって、 第1の前記処理モジュールが、前記ネットワークを介し
    て、第2の前記処理モジュールの当該ネットワークとの
    所定の信号入出力手段に信号を送信して、該第2の前記
    処理モジュールに対して通信を開始し、 前記第2の処理モジュールは、前記所定の信号入出力手
    段より受信した前記通信の開始を検知し、前記第1の処
    理モジュールに対して前記ネットワークとの他の信号入
    出力手段を指定し、 前記指定された信号入出力手段を介して、少なくとも前
    記第1の処理モジュールから前記第2の処理モジュール
    への通信を行う通信方法。
  2. 【請求項2】前記処理モジュールは、前記ネットワーク
    の各ノードに設けられ、処理オブジェクトが配置される
    プロセスであって、 前記第2の処理モジュールたる第2のプロセスは、前記
    第1の処理モジュールたる第1のプロセスごとに、特定
    の前記信号入出力手段を指定する請求項1に記載の通信
    方法。
  3. 【請求項3】前記第2のプロセスは、複数の前記信号入
    出力手段を有し、複数の前記処理モジュールと並行して
    通信を行う請求項2に記載の通信方法。
  4. 【請求項4】前記通信は、遠隔手続き呼び出し(リモー
    ト・プロシージャ・コール(RPC:Remote Procedure
    Call))による通信である請求項2または3に記載の通
    信方法。
  5. 【請求項5】前記第2の処理モジュールは、当該第2の
    処理モジュールに係わるRPCプロセスのプロセスID
    に基づいて、前記所定の信号入出力手段を決定し、 前記第1の処理モジュールは、前記RPCプロセスのプ
    ロセスIDに基づく前記所定の信号入出力手段に前記信
    号を送信して、前記第2の処理モジュールとの通信を開
    始する請求項4に記載の通信方法。
  6. 【請求項6】前記第2の処理モジュールは、所定数の前
    記信号入出力手段を有し、任意の処理モジュールより前
    記所定の信号入出力手段を介して順次要求される前記通
    信の開始に対して、前記所定の信号入出力手段を除く各
    信号入出力手段において通信に係わる負荷が均等になる
    ように、各信号入出力手段に前記通信先の処理モジュー
    ルを順次割り当てる請求項1〜5のいずれかに記載の通
    信方法。
  7. 【請求項7】前記信号入出力手段は、ソケット記述子で
    ある請求項1〜6のいずれかに記載の通信方法。
  8. 【請求項8】複数のオブジェクトが協働して所望の処理
    を行う分散処理装置であって、 各々接続された複数のノードと、 前記ノード上に各々1つまたは複数形成され、配置され
    たオブジェクトに実行環境を提供する複数のプロセス
    と、 各々前記複数のプロセスのいずれかに配置される前記複
    数のオブジェクトとを有し、 前記複数のプロセスの各々は、 複数の信号入出力手段と、 当該プロセスに配置された前記オブジェクトの動作に基
    づく送信対象のメッセージを、任意の送信先のプロセス
    に対して、当該送信先プロセスの信号入出力手段が指定
    されていない場合には当該送信先プロセスの所定の信号
    入出力手段を、当該送信先プロセスの信号入出力手段が
    指定されている場合には当該指定されている信号入出力
    手段を介して、各々送信する送信手段と、 前記複数の信号入出力手段を介して送信される信号を受
    信する複数の受信手段と、 任意のプロセスからの前記複数の信号入出力手段の所定
    の信号入出力手段を介して受信した通信を検知し、当該
    プロセスと通信を行う信号入出力手段として、前記複数
    の信号入出力手段の前記所定の信号入出力手段以外の他
    の特定の信号入出力手段を指定する信号入出力手段指定
    手段とを有する分散処理装置。
  9. 【請求項9】前記プロセスの前記送信手段は、前記送信
    対象のメッセージを、複数のパケットに分割し、該分割
    したパケットごとに送信する請求項8に記載の分散処理
    装置。
  10. 【請求項10】前記プロセスは、前記複数の信号入出力
    手段を介して、複数の他のプロセスと並行して通信を行
    う請求項8または9に記載の分散処理装置。
  11. 【請求項11】前記プロセスは、遠隔手続き呼び出し
    (リモート・プロシージャ・コール(RPC:Remote Pr
    ocedure Call))により通信を行う請求項8〜10のい
    ずれかに記載の分散処理装置。
  12. 【請求項12】前記プロセスの前記所定の信号入出力手
    段は、当該プロセスに係わるRPCプロセスのプロセス
    IDに基づいて決定し、 前記プロセスの送信手段は、送信先プロセスの信号入出
    力手段が指定されていない場合に、当該送信先プロセス
    のRPCプロセスのプロセスIDに基づいて決定される
    信号入出力手段に、前記送信対象のメッセージを送信す
    る請求項11に記載の分散処理装置。
  13. 【請求項13】前記プロセスの信号入出力手段指定手段
    は、任意のプロセスからの前記複数の信号入出力手段の
    所定の信号入出力手段を介して受信した通信に対して、
    当該プロセスと通信を行う信号入出力手段として、前記
    複数の信号入出力手段の前記所定の信号入出力手段を除
    く他の信号入出力手段において通信に係わる負荷が均等
    になるように、前記他の特定の信号入出力手段を指定す
    る請求項8〜12のいずれかに記載の分散処理装置。
  14. 【請求項14】前記信号入出力手段は、ソケット記述子
    である請求項8〜13のいずれかに記載の分散処理装
    置。
  15. 【請求項15】複数のオブジェクトが協働して所望の処
    理を行う分散処理方法であって、 相互に接続された複数のノードの各々に、配置されたオ
    ブジェクトに実行環境を提供する複数のプロセスを1ま
    たは複数配置し、 前記複数のオブジェクトを、各々前記複数のプロセスの
    いずれかに配置し、 前記プロセスに配置された前記各オブジェクトの動作に
    基づいて生成された通信対象のメッセージを、通信元の
    プロセスが通信先のプロセスの所定の信号入出力手段に
    信号を送信して通信を要求し、前記通信先のプロセスが
    前記通信の要求に基づいて当該通信元のプロセスに対し
    て他の特定の前記信号入出力手段を指定し、該指定され
    た前記通信先の信号入出力手段を介して前記通信元のプ
    ロセスから前記通信先のプロセスへ送信することによ
    り、前記オブジェクト間で相互に通信し、 前記所望の処理を行う分散処理方法。
  16. 【請求項16】前記メッセージは、複数のパケットに分
    割し、 前記分割された複数のパケットごとに並行に送信される
    請求項15に記載の分散処理方法。
  17. 【請求項17】前記通信先のプロセスは、複数の前記信
    号入出力手段を有し、複数の前記プロセスと並行して通
    信を行う請求項15または16に記載の分散処理方法。
  18. 【請求項18】前記通信は、遠隔手続き呼び出し(リモ
    ート・プロシージャ・コール(RPC:Remote Procedur
    e Call))による通信である請求項15〜17のいずれ
    かに記載の分散処理方法。
  19. 【請求項19】前記通信先のプロセスは、当該プロセス
    に係わるRPCプロセスのプロセスIDに基づいて、前
    記所定の信号入出力手段を決定し、 前記通信元のプロセスは、前記RPCプロセスのプロセ
    スIDに基づく前記所定の信号入出力手段に前記信号を
    送信して、前記通信先のプロセスとの通信を要求する請
    求項18に記載の分散処理方法。
  20. 【請求項20】前記通信先のプロセスは、所定数の前記
    信号入出力手段を有し、任意のプロセスより前記所定の
    信号入出力手段を介して順次行われる前記通信の要求に
    対して、前記所定の信号入出力手段を除く各信号入出力
    手段において通信に係わる負荷が均等になるように、各
    信号入出力手段に前記通信元のプロセスを順次割り当て
    る請求項15〜19のいずれかに記載の分散処理方法。
  21. 【請求項21】前記信号入出力手段は、ソケット記述子
    である請求項15〜20のいずれかに記載の分散処理方
    法。
  22. 【請求項22】ネットワークを介して接続された複数の
    ノードと、 協働して所望の処理を行うための複数のオブジェクトが
    配置される、前記ノード上に各々1つまたは複数形成さ
    れる複数のプロセスであって、各々、 複数の信号入出力手段と、 当該プロセスに配置された前記オブジェクトの動作に基
    づく送信対象のメッセージを、任意の送信先のプロセス
    に対して、当該送信先プロセスの信号入出力手段が指定
    されていない場合には当該送信先プロセスの所定の信号
    入出力手段を、当該送信先プロセスの信号入出力手段が
    指定されている場合には当該指定されている信号入出力
    手段を介して、各々送信する送信手段と、 前記複数の信号入出力手段を介して送信される信号を受
    信する複数の受信手段と、 任意のプロセスからの前記複数の信号入出力手段の所定
    の信号入出力手段を介して受信した通信を検知し、当該
    プロセスと通信を行う信号入出力手段として、前記複数
    の信号入出力手段の前記所定の信号入出力手段以外の他
    の特定の信号入出力手段を指定する信号入出力手段指定
    手段とを有する複数のプロセスとを有するネットワーク
    システム。
  23. 【請求項23】前記プロセスの前記送信手段は、前記送
    信対象のメッセージを、複数のパケットに分割し、該分
    割したパケットごとに送信する請求項22に記載のネッ
    トワークシステム。
  24. 【請求項24】前記プロセスは、前記複数の信号入出力
    手段を介して、複数の他のプロセスと並行して通信を行
    う請求項22または23に記載のネットワークシステ
    ム。
  25. 【請求項25】前記プロセスは、遠隔手続き呼び出し
    (リモート・プロシージャ・コール(RPC:Remote Pr
    ocedure Call))により通信を行う請求項22〜24の
    いずれかに記載のネットワークシステム。
  26. 【請求項26】前記プロセスの前記所定の信号入出力手
    段は、当該プロセスに係わるRPCプロセスのプロセス
    IDに基づいて決定し、 前記プロセスの送信手段は、送信先プロセスの信号入出
    力手段が指定されていない場合に、当該送信先プロセス
    のRPCプロセスのプロセスIDに基づいて決定される
    信号入出力手段に、前記送信対象のメッセージを送信す
    る請求項25に記載のネットワークシステム。
  27. 【請求項27】前記プロセスの信号入出力手段指定手段
    は、任意のプロセスからの前記複数の信号入出力手段の
    所定の信号入出力手段を介して受信した通信に対して、
    当該プロセスと通信を行う信号入出力手段として、前記
    複数の信号入出力手段の前記所定の信号入出力手段を除
    く他の信号入出力手段において通信に係わる負荷が均等
    になるように、前記他の特定の信号入出力手段を指定す
    る請求項22〜26のいずれかに記載のネットワークシ
    ステム。
  28. 【請求項28】前記信号入出力手段は、ソケット記述子
    である請求項22〜27のいずれかに記載のネットワー
    クシステム。
  29. 【請求項29】ネットワークに接続されるノード装置で
    あって、 所望のオブジェクトが配置され、当該オブジェクトに実
    行環境を提供するプロセスであって、 複数の信号入出力手段と、 当該プロセスに配置された前記オブジェクトの動作に基
    づく送信対象のメッセージを、前記ネットワークに接続
    された他のノード装置の任意の送信先プロセスに対し
    て、当該送信先プロセスの信号入出力手段が指定されて
    いない場合には当該送信先プロセスの所定の信号入出力
    手段を、当該送信先プロセスの信号入出力手段が指定さ
    れている場合には当該指定されている信号入出力手段を
    介して、各々送信する送信手段と、 前記複数の信号入出力手段を介して送信される信号を受
    信する複数の受信手段と、 任意のプロセスからの前記複数の信号入出力手段の所定
    の信号入出力手段を介して受信した通信を検知し、当該
    プロセスと通信を行う信号入出力手段として、前記複数
    の信号入出力手段の前記所定の信号入出力手段以外の他
    の特定の信号入出力手段を指定する信号入出力手段指定
    手段とを有するプロセスを1または複数有するノード装
    置。
  30. 【請求項30】前記プロセスの前記送信手段は、前記送
    信対象のメッセージを、複数のパケットに分割し、該分
    割したパケットごとに送信する請求項29に記載のノー
    ド装置。
  31. 【請求項31】前記プロセスは、前記複数の信号入出力
    手段を介して、複数の他のプロセスと並行して通信を行
    う請求項29または30に記載のノード装置。
  32. 【請求項32】前記プロセスは、遠隔手続き呼び出し
    (リモート・プロシージャ・コール(RPC:Remote Pr
    ocedure Call))により通信を行う請求項29〜31の
    いずれかに記載のノード装置。
  33. 【請求項33】前記プロセスの前記所定の信号入出力手
    段は、当該プロセスに係わるRPCプロセスのプロセス
    IDに基づいて決定し、 前記プロセスの送信手段は、送信先プロセスの信号入出
    力手段が指定されていない場合に、当該送信先プロセス
    のRPCプロセスのプロセスIDに基づいて決定される
    信号入出力手段に、前記送信対象のメッセージを送信す
    る請求項32に記載のノード装置。
  34. 【請求項34】前記プロセスの信号入出力手段指定手段
    は、任意のプロセスからの前記複数の信号入出力手段の
    所定の信号入出力手段を介して受信した通信に対して、
    当該プロセスと通信を行う信号入出力手段として、前記
    複数の信号入出力手段の前記所定の信号入出力手段を除
    く他の信号入出力手段において通信に係わる負荷が均等
    になるように、前記他の特定の信号入出力手段を指定す
    る請求項29〜33のいずれかに記載のノード装置。
  35. 【請求項35】前記信号入出力手段は、ソケット記述子
    である請求項29〜34のいずれかに記載のノード装
    置。
JP10181135A 1998-06-26 1998-06-26 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置 Pending JP2000020328A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10181135A JP2000020328A (ja) 1998-06-26 1998-06-26 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10181135A JP2000020328A (ja) 1998-06-26 1998-06-26 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置

Publications (1)

Publication Number Publication Date
JP2000020328A true JP2000020328A (ja) 2000-01-21

Family

ID=16095503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10181135A Pending JP2000020328A (ja) 1998-06-26 1998-06-26 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置

Country Status (1)

Country Link
JP (1) JP2000020328A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003530639A (ja) * 2000-04-08 2003-10-14 サン・マイクロシステムズ・インコーポレイテッド サーバ・ソケットで受け取ったイベントを扱うための方法および装置
JP2009252107A (ja) * 2008-04-09 2009-10-29 Sony Corp 記録装置、ファイルディスクリプタ生成方法、プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003530639A (ja) * 2000-04-08 2003-10-14 サン・マイクロシステムズ・インコーポレイテッド サーバ・ソケットで受け取ったイベントを扱うための方法および装置
JP4654407B2 (ja) * 2000-04-08 2011-03-23 オラクル・アメリカ・インコーポレイテッド サーバ・ソケットで受け取ったイベントを扱うための方法および装置
JP2009252107A (ja) * 2008-04-09 2009-10-29 Sony Corp 記録装置、ファイルディスクリプタ生成方法、プログラム
JP4518177B2 (ja) * 2008-04-09 2010-08-04 ソニー株式会社 記録装置、ファイルディスクリプタ生成方法、プログラム
US8073885B2 (en) 2008-04-09 2011-12-06 Sony Corporation Recording apparatus, file descriptor generation method, and program

Similar Documents

Publication Publication Date Title
EP0381365B1 (en) A system and method for interconnecting applications across different networks of data processing systems
US5790809A (en) Registry communications middleware
US6665304B2 (en) Method and apparatus for providing an integrated cluster alias address
US5848234A (en) Object procedure messaging facility
US6976174B2 (en) Secure multiprotocol interface
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US6192389B1 (en) Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
EP0817043B1 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5619650A (en) Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
US7185094B2 (en) Media session framework using a control module to direct and manage application and service servers
EP0794491B1 (en) Client/server architecture supporting concurrent servers
US5802306A (en) Supporting multiple client-server sessions from a protocol stack associated with a single physical adapter through use of a plurality of logical adapters
EP1116112B1 (en) Load balancing in a network environment
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
JPH11312153A (ja) オブジェクト・サ―バ間の作業負荷管理方法および装置
US20020156900A1 (en) Protocol independent control module
JP2002324056A (ja) 分散型ネットワーク環境においてソフトウェアコンポーネントにアクセスするためのシステム及び方法
JPH10116193A (ja) 通話制御装置および通話を制御する方法
WO2019144965A1 (zh) 一种镜像拉取的方法及其系统
US8566833B1 (en) Combined network and application processing in a multiprocessing environment
US7734829B2 (en) Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
CN110247971B (zh) 减少消息中间件连接数量的方法及其系统
JP2000020328A (ja) 通信方法、分散処理装置とその方法、ネットワークシステムおよびノード装置
JP2000020327A (ja) 分散処理装置とその方法およびネットワークシステム
CN111901689A (zh) 流媒体数据的传输方法、装置、终端设备和存储介质