JP2000155692A - 計算機システム及びネットワークシステム並びに記録媒体 - Google Patents
計算機システム及びネットワークシステム並びに記録媒体Info
- Publication number
- JP2000155692A JP2000155692A JP10328065A JP32806598A JP2000155692A JP 2000155692 A JP2000155692 A JP 2000155692A JP 10328065 A JP10328065 A JP 10328065A JP 32806598 A JP32806598 A JP 32806598A JP 2000155692 A JP2000155692 A JP 2000155692A
- Authority
- JP
- Japan
- Prior art keywords
- message
- destination
- correspondence
- computer
- communication
- 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
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
元オブジェクトにおいて考慮することなく、オブジェク
ト間のメッセージ通信を実現可能とする。 【解決手段】 マルチプロセス機能を有するオペレーテ
ィングシステムによって複数のプロセスを生成し、プロ
グラムを並列処理する計算機システムにおいて、各プロ
セス21は、データと手続きとをカプセル化した一以上
のオブジェクト24と、自プロセス又は他プロセスのオ
ブジェクトが出力するオブジェクト宛のメッセージを受
け取るとともに、そのメッセージの宛先が自プロセス内
であるときはその宛先オブジェクトにメッセージを引き
渡し、宛先が他のプロセス内となるときは、当該他のプ
ロセスに前記メッセージを引き渡すメッセージ通信制御
手段22とを備えた計算機システム。
Description
びネットワークシステム並びに記録媒体、更に詳しく
は、プログラムの並行処理が可能なマルチプロセス/マ
ルチスレッド環境において複数オブジェクト間のメッセ
ージ通信を適切に行うのに適した計算機システム及びネ
ットワークシステム並びに記録媒体に関するものであ
る。
語を用いてプログラム作成が行われるようになってい
る。このオブジェクト指向言語においては、データ処理
等を行う手続きとその対応データとを一体(カプセル
化)としてオブジェクトという単位を構成し、あるオブ
ジェクトのデータは、当該オブジェクトの手続きのみを
介して操作するようにしている。
ジェクトのデータに関連して何らかの処理を行う場合に
は、当該一のオブジェクトの手続きが当該他のオブジェ
クトの手続きに対して処理を依頼することになる。具体
的には、オブジェクト間でメッセージ通信が行われるこ
とで依頼処理等が実現される。ここで、オブジェクト指
向の概念におけるメッセージ通信とは、オブジェクトは
自律的に動作しており、必要に応じてメッセージを送信
することである。
チプロセス/マルチスレッド環境を実現するUNIX等
のOS(オペレーティングシステム)が広く用いられる
ようになっている。
タスクOSでは、プログラムはプロセスという単位で実
行されるとともに、さらにスレッドというプロセスより
も細かい実行単位を導入してスケジューリングを行って
いる。
する並行環境でオブジェクト指向言語のプログラムを実
行させる場合、一般に、プロセスは複数のオブジェクト
を有することとなり、オブジェクトはスレッドに対応す
る場合が多い。また、マルチタスクOSでは、プロセス
は複数存在するのが一般的である。
ージ通信は図27に示すようなメソッドにより行われ
る。なお、メソッドとは、C++言語におけるクラスの
中で定義される操作の実装である。
る従来のプログラム記述方法の例を示す図である。
ジェクトが同一プロセス内にある場合(同図(a))
と、異なるプロセス内にある場合(同図(b),
(c))とを示している。
は、図27(a)に示すように直接メッセージを送信す
ることができる。一方、他プロセス内のオブジェクトに
対しては、図27(b)に示すようにそのオブジェクト
が存在するプロセスの位置を指定することによって、メ
ッセージを送信することになる。
法でメッセージ送信を行うのでは、プログラム作成時に
各オブジェクトがどのプロセスに配置されているのかを
意識する必要が生じる。これではシステム開発に多大な
労力がかかることになり、さらにその保守、変更等を行
う場合にも負担が大きい。かかる事情は、システム開発
者の労力を大きくするばかりでなく、プログラムミスの
少ない信頼性の高いシステムを容易に構築できるように
する上でも不都合である。
って、オブジェクトBのプロセス配置が変更されるよう
な場合には、図27(c)に示すようにオブジェクトA
のメソッドを修正する必要があり、プログラム作成上の
負荷がますます大きくなる。
行う必要のある複数のプロセスが、複数の計算機上に分
散して配置される場合には、上記負担は更に過大とな
る。
れたもので、送信先オブジェクトのプロセス配置等を送
信元オブジェクトにおいて考慮することなく、オブジェ
クト間のメッセージ通信を実現可能とする計算機システ
ム及びネットワークシステム並びに記録媒体を提供する
ことを目的とする。
に、請求項1に対応する発明は、マルチプロセス機能を
有するオペレーティングシステムによって複数のプロセ
スを生成し、プログラムを並列処理する計算機システム
についてなされたものである。
れる。
ル化した一以上のオブジェクトがプロセス内に設けられ
る。ここでいうオブジェクトは、オブジェクト指向でい
うところのオブジェクトである。したがって、多くの場
合、あるオブジェクトから他のオブジェクトへのオブジ
ェクト宛メッセージが出力されることで処理が進行す
る。
セージ通信制御手段により行われる。
ジェクトが出力するオブジェクト宛のメッセージは、こ
のメッセージ通信手段によって一旦を受け取られる。な
お、他プロセスのオブジェクトが出力するメッセージを
受け取るのは、当該他プロセスのメッセージ通信制御手
段が自プロセス宛にメッセージを転送してきた場合であ
る。
自プロセス内のオブジェクト宛であるときは、メッセー
ジ通信制御手段によって、宛先オブジェクトにメッセー
ジが引き渡される。また、他のプロセス内のオブジェク
ト宛であるときは、当該他のプロセスに前記メッセージ
が引き渡される。
られたことにより、送信先オブジェクトのプロセス配置
等を送信元オブジェクトにおいて考慮することなく、オ
ブジェクト間のメッセージ通信を実現することができ
る。
1に対応する発明において、メッセージ通信制御手段
は、各オブジェクトがどのプロセスに属するかの情報を
記録するプロセス対応記録手段を備えている。
は、判定手段により、プロセス対応記録手段が検索さ
れ、受け取ったメッセージの宛先オブジェクトがどのプ
ロセスに属するが判定される。
率的に確実に実現することができる。
1又は2に対応する発明において、メッセージ通信制御
手段は、各オブジェクトが元々有する論理的なオブジェ
クト識別情報と、前記オペレーティングシステムに生成
されたときに各オブジェクトに付された動作時オブジェ
クト識別情報との対応情報を記録するオブジェクト対応
記録手段を備えている。
の宛先情報として前記論理的なオブジェクト情報のみが
付されているときであっても、オブジェクト対応記録手
段を検索して動作時オブジェクト識別情報を取得するこ
とにより、宛先オブジェクトに前記メッセージを引き渡
し可能とする。
トにおいて、送信先オブジェクトのプロセス位置等を考
慮することなく、論理的なオブジェクト識別情報を指定
しておくのみで、メッセージ送信先を特定することがで
きる。
るプロセスが変更された場合でも、柔軟かつ容易に対応
することができる。例えばプロセス配置の変更に伴うプ
ログラムの変更量を軽減し、システムを効率的に開発す
ることができる。
計算機が接続されてなるネットワークシステムにおい
て、請求項1乃至3のうち何れか一項に記載された複数
のプロセスを、二以上の計算機に分散配置させたネット
ワークシステムである。
複数プロセスを、単一の計算機のみに配置するのでな
く、ネットワークシステム内で分散配置させた場合を考
慮したものである。この場合に、請求項1〜3に対応す
る発明におけるプロセスでもってシステムを構成すれ
ば、ネットワークシステムの場合であっても、各請求項
の場合と同様な作用効果が得られる。
1又は4に対応する発明をコンピュータに実現させるプ
ログラムを記録した記録媒体である。
により制御されるコンピュータは、請求項1又は4にお
けるプロセスを当該コンピュータ上で実現する。なお、
ここでいうコンピュータにはネットワークシステム上の
一コンピュータを含むものである。
2又は4に対応する発明をコンピュータに実現させるプ
ログラムを記録した記録媒体である。
により制御されるコンピュータは、請求項2又は4にお
けるプロセスを当該コンピュータ上で実現する。なお、
コンピュータにはネットワークシステム上の一コンピュ
ータを含む。
3又は4に対応する発明をコンピュータに実現させるプ
ログラムを記録した記録媒体である。
により制御されるコンピュータは、請求項3又は4にお
けるプロセスを当該コンピュータ上で実現する。なお、
コンピュータにはネットワークシステム上の一コンピュ
ータを含む。
て説明する。 (発明の第1の実施の形態)図1は本発明の第1の実施
の形態に係る計算機システムの一例を示す構成図であ
る。
ンピュータやワークステーション等の計算機上でマルチ
プロセス/マルチスレッド環境を実現するUNIX等の
OSが動作し、さらに当該OS上に複数のプロセス21
−1〜21−2(プロセス#1〜#2)が設けられてな
っている。以下、各機能構成部分を示す符号における
「−1」,「−2」,..部分を削除して例えば「プロ
セス21」等と示した場合には、その機能構成部分の一
般的な場合を意味する。
ェクト指向言語で記述されたプログラムをもとに生成さ
れたものであり、それぞれメッセージ通信制御部22お
よびアクタ部23で構成されている。逆にそのオブジェ
クト指向言語は、本実施形態のプロセス21を構成でき
るような仕様となっている。
理を行うための主たるオブジェクトが配置される。ここ
で、プロセス21−1のアクタ部23には、オブジェク
ト24−1〜24−2(オブジェクトA〜B)が存在す
る。また、プロセス21−2のアクタ部23には、オブ
ジェクト24−3〜24−4(オブジェクトC〜D)が
存在する。
3に配置された各オブジェクト24が他のオブジェクト
と通信するために、メッセージハンドラ25等の各機能
を有している。なお、メッセージ通信制御部22の機能
構成部分も基本的にはオブジェクトから構成される。
マップ26及びオブジェクト対応マップ27を参照して
アクタ部23内のオブジェクト24が出力するメッセー
ジ通信の取り扱いを管理する。すなわち直接メッセージ
通信の引き渡しを管理するか、プロセスメッセージハン
ドラ等の他の機能構成部分にメッセージ通信の送信を依
頼し、あるいは他の機能構成部分から自プロセス21宛
のメッセージ通信を受け取る。
〜25−2は、システム内に唯一存在するプロセス対応
マップ26を参照し、送信先オブジェクト24−1〜2
4−4が存在するプロセスを識別する。
図である。
な構成(フォーマット)を示し、同図(b)は本実施形
態の場合におけるプロセス対応マップ26の構成を示し
ている。
成例を示す図である。
般的な構成(フォーマット)を示し、同図(b)は本実
施形態の場合におけるオブジェクト対応マップ27−1
の構成を示す。さらに、同図(c)は本実施形態の場合
におけるオブジェクト対応マップ27−2の構成を示し
ている。
同一プロセス内での通信であることが判定された場合に
は、メッセージハンドラ25−1は、さらに図3に示す
オブジェクト対応マップ27−1,27−2(オブジェ
クト対応マップP1,P2)をそれぞれ参照し、送信先
オブジェクトの識別番号(動作時オブジェクトID)を
取得する。さらに取得したオブジェクトIDをもとに、
アクタ部23内でのメッセージの引き渡しを行う。
構成例を示すブロック図である。
は各オブジェクト24に対応して、メッセージキュー3
3及びメッセージマップ34が設けられている。詳細は
後述するが、このメッセージキュー33及びメッセージ
マップ34によりメッセージ通信の引き渡しが実現され
る。
である。
構成(フォーマット)を示し、同図(b)は本実施形態
の場合におけるメッセージマップ34−1の構成を示
す。さらに、同図(c),(d),(e)は、それぞれ
本実施形態の場合におけるメッセージマップ34−2,
34−3,34−4の構成を示している。
るプロセスメッセージハンドラ29からメッセージの取
り扱い通知を受けたときも上記と同様にしてアクタ部2
3のオブジェクトIDを取得して、メッセージの引き渡
しを行う。
結果、異なるプロセス間での通信であることが判定され
た場合には、メッセージハンドラ25−1は、このメッ
セージ通信を図6に示すプロセスメッセージハンドラ2
9に依頼する。
部の詳細構成例を示すブロック図である。
とオブジェクト24−3〜24−4との間のメッセージ
通信は、プロセスメッセージハンドラ29−1〜29−
2(プロセスメッセージハンドラP1−P2〜P2−P
1)が取り扱う。
−2との間は、共有メモリ32−1(共有メモリP1−
P2:プロセス#1からプロセス#2へのメッセージ通
信)及び共有メモリ32−2(共有メモリP2−P1:
プロセス#2からプロセス#1へのメッセージ通信)が
設けられ、これらの共有メモリ32−1〜32−2を介
して、オブジェクト24−1〜24−2とオブジェクト
24−3〜24−4との間のメッセージ通信が可能とな
っている。
−2、プロセスメッセージハンドラ29−1〜29−
2、オブジェクト24−1〜24−4は、それぞれ自律
的に動作し一つのスレッドが割り当てられており、この
スレッドが自分自身のキューを監視している。アクタ部
23のオブジェクト24−1〜24−4の存在するプロ
セス21−1〜21−2を表現したプロセス対応マップ
26は、あらかじめ図2(b)に示す内容でファイルや
共有メモリなどシステム稼動時に参照できるような形態
で保管しておく。
における計算機システムの動作について説明する。 (プロセス生成時の処理)まず、システムを起動し、プ
ロセスを生成する際のメッセージハンドラ及びオブジェ
クトの生成処理について図7を用いて説明する。
ある。
に、メッセージハンドラ25−1〜25−2が生成され
る(S1)。次に、プロセスに存在するべきオブジェク
ト24−1〜24−4が生成される(S2)。
(S1,S2)をさらに詳しく説明する。
−2の生成時(S1)には、メッセージハンドラキュー
28−1〜28−2が生成され(S3)、メッセージハ
ンドラキュー28−1〜28−2を監視するためのスレ
ッドが起動される(S4)。さらに、プロセス対応マッ
プ26が読み込まれ(S5)、プロセスメッセージハン
ドラ29−1〜29−2が生成される(S6)。
−1〜29−2の生成時(S6)には、まずプロセス送
信用メッセージキュー30−1〜30−2が生成され
(S7)、プロセス受信用メッセージキュー31−1〜
31−2が生成される(S8)。さらにプロセス受信用
メッセージキュー31−1〜31−2を監視するための
スレッドが起動される(S9)。
るオブジェクト24−1〜24−4の生成時には、まず
メッセージキュー33−1〜34−4が生成され(S1
0)、メッセージキュー33−1〜34−4を監視する
ためのスレッドが起動される(S11)。さらに、メッ
セージハンドラ25−1〜25−2に当該オブジェクト
自身が登録される(S12)。これにより、オブジェク
ト対応マップ27−1〜27−2にそのオブジェクトが
登録される。
セスが生成されることになる。 (メッセージ通信における処理)次に、オブジェクトか
らのメッセージ通信について説明する。
ッセージ通信について図8を用いて説明する。
メッセージ通信処理の様子を示す流れ図である。
m1によってオブジェクト24−2に向けてメッセージ
Aを送信することを考える。
1の内容例を示す図である。
グラム中の論理的な番号を意味し、以下、論理オブジェ
クトID41と呼ぶ。この論理オブジェクトID41
は、図2,図3に示すプロセス対応マップ26及びオブ
ジェクト対応マップ27に対応するものである。なお、
この論理オブジェクトID41と区別するために、生成
された動作中のオブジェクトに付けられるオブジェクト
IDを動作時オブジェクトID42と呼ぶ(図3)。動
作時オブジェクトID42は当該オブジェクトが計算機
におけるメモリ上の位置を示す。
1からオブジェクト24−2に向けてメッセージAが送
信されると、メソッドm1によって送信先のオブジェク
ト24−2の論理オブジェクトID41と送信メッセー
ジAがメッセージハンドラ25−1に渡され、メッセー
ジハンドラキュー28−1に格納される(S13)。
らオブジェクト24−2の論理オブジェクトID41と
メッセージAとがメッセージハンドラ25−1によって
取り出され(S14)、プロセス対応マップ26(図
2)に記述されたオブジェクト24−2の論理オブジェ
クトID41に対応するプロセスが検索される(S1
5)。
がオブジェクト24−1と同一プロセス21−1(プロ
セス#1)に存在するかどうかが判定される(S1
6)。
が判明するので、ステップS17に進む。ステップS2
1に進む場合は後述する。
り、メッセージAがスレッド終了メッセージでないこと
が確認される(S17)。さらに、メッセージハンドラ
25−1がオブジェクト対応マップ27−1を検索する
ことで(S18)、オブジェクト24−2の論理オブジ
ェクトID41(オブジェクト識別子)に基づき動作時
オブジェクトID42(オブジェクト)が取り出される
(S19)。
D42に基づき、メッセージハンドラ25−1による送
信先オブジェクト24−2へのメッセージAの送信が行
われる(S20)。
スレッドによる処理に移る。
によるメッセージ通信処理を示す図である。
れると、送信メッセージAが送信先オブジェクト24−
2に渡され、メッセージキュー33−2に格納される
(S24)。
24−2によってメッセージキュー33−2から取り出
され(S25)、スレッド終了メッセージでないことが
確認される(S26)。さらに、当該オブジェクト24
−2によってメッセージAに対応するメソッドAが図5
のメッセージマップ34−2から検索される(S2
7)。
セージAがメソッドAに対応しているので、このメソッ
ドAがオブジェクト24−2によって呼び出され、実行
される(S28)。
ッセージ通信であるが、次に、別プロセスに属するオブ
ジェクト間でのメッセージ通信について説明する。
ェクト24−4に向けてメッセージAを送信する場合を
考える。この通信においても、その通信用メゾットでは
図9のメゾットm1と同一の形式で通信相手が規定され
る。すなわち通信相手オブジェクトの論理オブジェクト
ID41のみが指定されている。
らS15までの動作は上述と同様である。
ジェクトID41はID_Dでありプロセス21−2
(#2)に属するため、オブジェクト24−1とは異な
るプロセスに存在することが判明する(S16)。した
がって、この場合は図8においてステップST21に進
む。
り、プロセス21−2に対応するプロセスメッセージハ
ンドラ29−1が取り出される(S21)。ついで、オ
ブジェクト24−4の論理オブジェクトIDとメッセー
ジAとがプロセスメッセージハンドラ29−1に送信さ
れる(S22)。この論理オブジェクトIDとメッセー
ジAとは、プロセスメッセージハンドラ29−1によっ
てプロセス送信用メッセージキュー30−1に格納され
る(S23)。続いて共有メモリ32−1上にオブジェ
クト24−4の論理オブジェクトIDとメッセージAが
置かれる。
タはプロセス#2によって以下のように処理される。
ージがプロセスメッセージハンドラにより処理される様
子を示す流れ図である。
するプロセス21−2(#2)内のプロセスメッセージ
ハンドラ29−2によって、共有メモリ32−1に置か
れたオブジェクト24−4の論理オブジェクトIDとメ
ッセージAが取り出され、プロセス受信用メッセージキ
ュー31−2に格納される(S29)。
クトIDとメッセージAとはプロセスメッセージハンド
ラ29−2によって、プロセス受信用メッセージキュー
31−2から取り出される(S30)。さらにメッセー
ジAがスレッド終了メッセージでないことが確認された
上で(S31)、メッセージハンドラ25−2に送信さ
れる(S32)。
ージとは、プロセス#2のメッセージハンドラ25−2
により、メッセージハンドラキュー28−2に格納され
る(図8:S13)。
ジAとはメッセージハンドラ25−2によってメッセー
ジハンドラキュー28−2から取り出され(S14)、
プロセス対応マップ26によってこの論理オブジェクト
ID41に対応するプロセスが検索される(S15)。
ジェクト24−4の論理オブジェクトID42は、メッ
セージハンドラ25−2と同一プロセス21−2に存在
することが判明するため(S16)、ステップS17に
進む。
て、プロセス#1から受け取った論理オブジェクトID
を調べたところ、そのメッセージの送信先がプロセス#
2であることがメッセージハンドラ25−2により判定
されたものである。両プロセス#1,#2内のメッセー
ジハンドラ25−1,25−2は同様な動作を行うた
め、以降の処理は、上述した同一プロセス内でのメッセ
ージ通信と同様である。
いことが確認された上(S17)、オブジェクト対応マ
ップ27−2から動作時オブジェクトID42が検索さ
れ(S18)、取り出され(S19)、送信先オブジェ
クト24−4にメッセージAが送信される(S20)。
たメッセージAが送信先オブジェクト24−4のメッセ
ージキュー33−4に一旦格納された後(S24)、メ
ッセージAが取り出される(S25)。さらに、メッセ
ージAがスレッド終了メッセージでないことが確認され
(S26)、メッセージAに対応するメソッドAをメッ
セージマップ34−4から検索される(S27)。そし
て、メッセージAに対応するメソッドAが呼び出され実
行される(S28)。
ト間メッセージ通信が実現される。
メッセージ通信、及び異なるプロセス間でのオブジェク
ト間メッセージ通信の何れも、論理オブジェクトID4
1のみが指定されたメゾットm1と同一形式のメゾット
により実現される。すなわち通信相手のオブジェクトの
所属するプロセスや動作時プロセスIDを全く考慮する
ことなく、通信可能となっている。 (システム停止時の処理)次に、システムを停止する際
のプロセスの動作、メッセージ通信制御部22及びアク
タ部23の動作を図12を用いて説明する。
図である。
な処理では、まず、プロセスに存在しているオブジェク
ト24−1〜24−4を破壊する(S33)。次に、メ
ッセージハンドラ25−1〜25−2を破壊する(S3
4)。
されたオブジェクト24−1〜24−4の破壊時には、
オブジェクトIDの登録をメッセージハンドラ25−1
〜25−2から抹消し(S35)、自分自身にスレッド
終了メッセージを送信する(S36)。ここで、メッセ
ージキュー33−1〜33−4を監視していたスレッド
の終了を待ち(S37)、メッセージキュー33−1〜
33−4を破壊する(S38)。
−2の破壊時には、プロセスメッセージハンドラ29−
1〜29−2を削除し(S39)、自分自身にスレッド
終了メッセージを送信する(S40)。ここで、メッセ
ージハンドラキュー28−1〜28−2を監視していた
スレッドの終了を待ち(S41)、メッセージハンドラ
キュー28−1〜28−2を破壊する(S42)。
プロセスメッセージハンドラ29−1〜29−2の破壊
時には(S39)、自分自身にスレッド終了メッセージ
を送信し(S43)、プロセス受信用メッセージキュー
31−1〜31−2を監視していたスレッドの終了を待
つ(S44)。その後、プロセス受信用メッセージキュ
ー31−1〜31−2を破壊し(S45)、プロセス送
信用メッセージキュー30−1〜30−2を破壊する
(S46) 上述したように、本発明の実施の形態に係る計算機シス
テムは、メッセージハンドラ25、プロセス対応テーブ
ル26及びオブジェクト対応テーブル27を設け、送信
先の論理オブジェクトID41からその所属プロセス及
び動作時オブジェクトID42を取り出させるようにし
たので、マルチプロセス/マルチスレッド環境のプロセ
スに属するオブジェクト間でメッセージ通信を行う場合
でも、発信元のオブジェクトにて送信先の論理オブジェ
クトID41のみを指定すれば、同一プロセス内での通
信でも異なるプロセスへの通信でもオブジェクト指向の
概念におけるメッセージ通信を実現し、オブジェクトを
自律的に動作させることができる。
クトがどのプロセスに配置されているのかを意識しない
ようにすることができる。具体的には、送信先オブジェ
クトのプロセス配置をメソッドにおいて考慮することな
く、オブジェクト間のメッセージ通信を実現することが
できる。
るプロセスが変更されても、柔軟かつ容易に対応するこ
とができる。すなわち、プロセス配置の変更に伴うプロ
グラムの変更量を軽減し、システムを効率的に開発する
ことができる。 (発明の第2の実施の形態)本実施形態は、第1の実施
形態においてシステム内のプロセスの数を三つとしたも
のであり、その点を除けば第1の実施形態と同様に構成
され動作する。
計算機システムの一例を示す構成図である。図14及び
図15は、図13のシステムにおいて、それぞれメッセ
ージ通信制御部及びアクタ部の構成を詳細に示す図であ
る。
プロセス対応マップ26及びオブジェクト対応マップ2
7を示す図である。
と同一部分には同一符号を付して説明を省略し、ここで
は異なる部分についてのみ述べる。なお、図13,図1
4,図15,図16,図17は、それぞれ図1,図6,
図4,図2,図3に対応する。
ジェクト24−4(オブジェクトD)を新たに別のプロ
セス21−3(プロセス#3)に配置するように変更し
たものである。すなわち、本システム20は、プロセス
21−1〜21−3(プロセス#1〜#3)という三つ
のプロセスが存在し、それぞれメッセージ通信制御部2
2およびアクタ部23で構成されている。
当該プロセス#3はプロセス#1と共有メモリ32−
3,32−4を介して通信可能に構成される。したがっ
て、プロセス#3のオブジェクトDとの通信は、プロセ
ス#1内に新たに設けられたプロセスメッセージハンド
ラ29−2を介して行われることになる。なお、図1
4,図15において、P1−P2はプロセス#1からプ
ロセス#2への処理であることを示し、同様にP2−P
1,P1−P3,P3−P1はプロセス#2から#1,
#1から#3,#3から#1への処理であることを示
す。
示すようなプロセス対応マップ26及びオブジェクト対
応マップ27が設けられる。
通信においては、図9と同様な通信用メゾットにより、
図8,図10,図11の処理が組み合わせて実行され
る。したがって、同一プロセス間であっても異なるプロ
セス間、異なるプロセス間ではプロセス#1,#2,#
3の自由な組み合わせでメッセージ通信が実現できる。
#3間の通信では、そのメッセージ及び論理オブジェク
トIDは、一旦プロセス#1で中継されることになる。
この場合の処理では、メッセージハンドラキュー28−
1に格納された論理オブジェクトIDがメッセージハン
ドラ25−1によって取り出され、このID41に基づ
き、プロセス対応マップ26が検索される。そして、対
応するプロセス#2,#3のプロセスメッセージハンド
ラ29−1又は29−9に、このメッセージ及び論理オ
ブジェクトIDが引き渡されて、通信処理が続けられ
る。
る計算機システムは、第1の実施形態と同様な構成を設
けた他、三番目のプロセス#3を付加し、当該プロセス
#3にもメッセージ通信制御部22等を設けたので、全
ての各プロセス間でのメッセージ通信でも第1の実施形
態と同様な効果を奏することができる。
を図18〜図22に示す。
のプロセス21に対応し、同様に、メッセージ通信制御
部2,アクタ部3,オブジェクト4,メッセージハンド
ラ5,プロセス対応マップ6,オブジェクト対応マップ
7,メッセージハンドラキュー8,プロセスメッセージ
ハンドラ9,プロセス送信用メッセージハンドラ10,
プロセス受信用メッセージハンドラ11,共有メモリ1
2,メッセージキュー13,メッセージマップ14は、
それぞれ本実施形態のメッセージ通信制御部22,アク
タ部23,オブジェクト24,メッセージハンドラ2
5,プロセス対応マップ26,オブジェクト対応マップ
27,メッセージハンドラキュー28,プロセスメッセ
ージハンドラ29,プロセス送信用メッセージハンドラ
30,プロセス受信用メッセージハンドラ31,共有メ
モリ32,メッセージキュー33,メッセージマップ3
4に対応する。
介することで各プロセス間のオブジェクトメッセージ通
信が実現できる。 (発明の第3の実施の形態)第1及び第2の実施形態で
は、本発明のオブジェクト間メッセージ通信を一の計算
機システムに適用させる場合で説明したが、本実施形態
ではプロセスが複数の計算機に跨って存在している場合
について説明する。
ネットワークシステムの一例を示す構成図であり、図1
〜図22と同一部分には同一符号を付して説明を省略
し、ここでは異なる部分についてのみ述べる。
路51に計算機52(52−1,52−2,53−
3,..)が複数接続されたLANからなる。各計算機
52は、第1又は第2の実施形態の計算機20と同様に
構成される他、計算機同士での情報通信を行う手段を備
えている(図示せず)。
なるプロセス21間のみならず、異なる計算機52間で
も行うことができるようになっている。そのためにメッ
セージ通信制御部22にマシン(計算機)間のメッセー
ジ通信機能を付加した他、第1又は第2の実施形態と同
様に構成されている。
構成を示す図である。
22には、ネットワーク内の各計算機52で同一内容の
マシン対応マップ55と、マシンメッセージハンドラ5
6(56−1,56−2,56−3)と、送信用メッセ
ージキュー57(57−1,57−2,57−3)と、
受信用メッセージキュー58(58−1,58−2,5
8−3)とが設けられる。
図である。
一般的な構成(フォーマット)を示し、同図(b)は本
実施形態の場合におけるマシン対応マップ55の構成を
示す。
は第2の実施形態と同様に構成される他、異なるプロセ
ス間での通信となる場合には、マシン対応マップ55を
参照し、送信先のプロセスがどの計算機52に属するか
を調べるようになっている。ここで同一の計算機52に
属する場合には、第1又は第2の実施形態と同様に動作
し、異なる計算機52に属する場合には、マシンメッセ
ージハンドラ56を呼び出して、通信メッセージを引き
渡す。
には、図示しない通信手段から受け取りかつ受信用メッ
セージキュー58に格納されているメッセージ及び論理
オブジェクトIDを取り出し、メッセージハンドラ25
に引き渡すようになっている。一方、送信時には、メッ
セージ及び論理オブジェクトIDを送信用メッセージキ
ュー57に格納するとともに、図示しない通信手段に指
令を与えて送信先の計算機52のマシンメッセージハン
ドラ56にメッセージ及び論理オブジェクトIDを送信
する。
におけるネットワークシステムでは、プロセス内及びプ
ロセス間のオブジェクト間メッセージが第1又は第2の
実施形態と同様にして行われる。
応マップ55を参照した結果、通信先オブジェクトの所
属するプロセスが異なる計算機間に跨っている場合に
は、マシンメッセージハンドラ56によりマシン間通信
が実行される。
のメッセージ及び論理オブジェクトIDは送信先マシン
のメッセージハンドラ25に送られ、さらに、各マップ
26,27及び55を用いた通信管理、通信中継等が行
われる。
るネットワークシステムは、第1又は第2の実施形態と
同様な構成を設けた他、メッセージ通信制御部22にマ
シン対応マップ55及びマシンメッセージハンドラ56
を設けたので、プロセス21が異なる計算機上に配置さ
れる場合であっても、図9に示すような論理オブジェク
トIDを指定しただけのメソッドでオブジェクト間通信
を実現することができる。
ワーク上で動作するあらゆるアプリケーションプログラ
ムに対し、第1又は第2の実施形態と同様な効果が得ら
れることになる。
トワークシステムのみならず、WANやインターネット
等の種々のネットワークシステムに適用できる。
ムをインターネットに適用した例を示す図である。
ルータ62を介してそれぞれLAN#1及びLAN#2
が接続されている。また、各LAN#1,#2には、計
算機52が接続され、さらに計算機52にはプロセス2
1が設けられている。
ト61を介してオブジェクト間のメッセージ通信が上記
場合と同様に行われる。なお、この場合に、例えばマシ
ン対応マップ55にLANの対応情報をも格納するよう
にしてもよい。あるいは、マシン対応マップと別途にマ
シンとLANの対応関係を示すLAN対応マップを設け
るようにしてもよい。
されるものでなく、その要旨を逸脱しない範囲で種々に
変形することが可能である。
(コンピュータ)に実行させることができるプログラム
(ソフトウエア手段)として、例えば磁気ディスク(フ
ロッピー(登録商標)ディスク、ハードディスク等)、
光ディスク(CD−ROM、DVD等)、半導体メモリ
等の記憶媒体に格納し、また通信媒体により伝送して頒
布することもできる。なお、媒体側に格納されるプログ
ラムには、計算機に実行させるソフトウエア手段(実行
プログラムのみならずテーブルやデータ構造も含む)を
計算機内に構成させる設定プログラムをも含むものであ
る。本装置を実現する計算機は、記憶媒体に記録された
プログラムを読み込み、また場合により設定プログラム
によりソフトウエア手段を構築し、このソフトウエア手
段によって動作が制御されることにより上述した処理を
実行する。
ロセス内にオブジェクト間メッセージを取り扱うメッセ
ージ通信制御手段と設けるようにしたので、送信先オブ
ジェクトのプロセス配置等を送信元オブジェクトにおい
て考慮することなく、オブジェクト間のメッセージ通信
を実現可能とする計算機システム及びネットワークシス
テム並びに記録媒体を提供することができる。
ムの一例を示す構成図。
すブロック図。
成例を示すブロック図。
通信処理の様子を示す流れ図。
を示す図。
セージ通信処理を示す図。
セスメッセージハンドラにより処理される様子を示す流
れ図。
テムの一例を示す構成図。
ージ通信制御部の構成を詳細に示す図。
部の構成を詳細に示す図。
図。
された構成例を示すブロック図。
されたメッセージ通信制御部の構成例を示すブロック
図。
されたメッセージ通信制御部の他の構成例を示すブロッ
ク図。
されたメッセージ通信制御部のさらに他の構成例を示す
ブロック図。
されたアクタ部の構成例を示すブロック図。
クシステムの一例を示す構成図。
図。
ーネットに適用した例を示す図。
ログラム記述方法の例を示す図。
−m 5−1〜5−3…メッセージハンドラP1〜Pn 6…プロセス対応マップ 7−1〜7−3…オブジェクト対応マップP1〜Pn 8…メッセージハンドラキューP1 9−1〜9−6…プロセスメッセージハンドラP1〜P
2〜Pn−Pn−1 10−1〜10−6…プロセス送信用メッセージキュー
P1〜P2〜Pn−Pn−1 11−1〜11−6…プロセス受信用メッセージキュー
P2〜P1〜Pn−1−Pn 12−1〜12−6…共有メモリP1〜P2〜Pn−1
−Pn 13−1〜13−6…メッセージキューA〜I 14−1〜14−6…メッセージマップA〜I 20…計算機システム 21−1〜21−3…プロセス#1〜#3 22…メッセージ通信制御部 23…アクタ部 24−1〜24−4…オブジェクトA〜D 25−1〜25−3…メッセージハンドラP1〜P3 26…プロセス対応マップ 27−1〜27−3…オブジェクト対応マップP1〜P
3 28−1〜28−3…メッセージハンドラキューP1〜
P3 29−1〜29−4…プロセスメッセージハンドラP1
−P2〜P3−P1 30−1〜30−4…プロセス送信用メッセージキュー
P1−P2〜P3−P1 31−1〜31−4…プロセス受信用メッセージキュー
P2−P1,P1−P3 32−1〜32−4…共有メモリP1−P2〜P3−P
1 33−1〜33−4…メッセージキューA〜D 34−1〜34−4…メッセージマップA〜D 41…論理オブジェクトID 42…動作時オブジェクトID 51…データ伝送路 52−1〜52−3…計算機 55…マシン対応マップ 56−1〜56−3…マシンメッセージハンドラ 57−1〜57−3…送信用メッセージキュー 58−1〜57−3…受信用メッセージキュー 61…インターネット 62…ルータ
Claims (7)
- 【請求項1】 マルチプロセス機能を有するオペレーテ
ィングシステムによって複数のプロセスを生成し、プロ
グラムを並列処理する計算機システムにおいて、 前記各プロセスは、 データと手続きとをカプセル化した一以上のオブジェク
トと、 自プロセス又は他プロセスのオブジェクトが出力するオ
ブジェクト宛のメッセージを受け取るとともに、そのメ
ッセージの宛先が自プロセス内であるときはその宛先オ
ブジェクトに前記メッセージを引き渡し、前記宛先が他
のプロセス内となるときは、当該他のプロセスに前記メ
ッセージを引き渡すメッセージ通信制御手段とを備えた
ことを特徴とする計算機システム。 - 【請求項2】 前記メッセージ通信制御手段は、 各オブジェクトがどのプロセスに属するかの情報を記録
するプロセス対応記録手段と、 前記プロセス対応記録手段を検索し、受け取ったメッセ
ージの宛先オブジェクトがどのプロセスに属するを判定
する判定手段とを備えたことを特徴とする請求項1記載
の計算機システム。 - 【請求項3】 前記メッセージ通信制御手段は、 各オブジェクトが元々有する論理的なオブジェクト識別
情報と、前記オペレーティングシステムに生成されたと
きに各オブジェクトに付された動作時オブジェクト識別
情報との対応情報を記録するオブジェクト対応記録手段
を備えるとともに、 前記メッセージの宛先情報として前記論理的なオブジェ
クト情報のみが付されているときであっても、前記オブ
ジェクト対応記録手段を検索して動作時オブジェクト識
別情報を取得することにより、宛先オブジェクトに前記
メッセージを引き渡し可能とすることを特徴とする請求
項1又は2記載の計算機システム。 - 【請求項4】 複数の計算機が接続されてなるネットワ
ークシステムにおいて、 請求項1乃至3のうち何れか一項に記載された複数の前
記プロセスを、二以上の前記計算機に分散配置させたこ
とを特徴としたネットワークシステム。 - 【請求項5】 マルチプロセス機能を有するオペレーテ
ィングシステムによって生成されるプロセスを記述する
プログラムであって、 前記プロセスを、 データと手続きとをカプセル化した一以上のオブジェク
トと、 自プロセス又は他プロセスのオブジェクトが出力するオ
ブジェクト宛のメッセージを受け取るとともに、そのメ
ッセージの宛先が自プロセス内であるときはその宛先オ
ブジェクトに前記メッセージを引き渡し、前記宛先が他
のプロセス内となるときは、当該他のプロセスに前記メ
ッセージを引き渡すメッセージ通信制御手段としてコン
ピュータ上で機能させるためのプログラムを記録したコ
ンピュータ読み取り可能な記録媒体。 - 【請求項6】 前記メッセージ通信制御手段は、 各オブジェクトがどのプロセスに属するかの情報を記録
するプロセス対応記録手段と、 前記プロセス対応記録手段を検索し、受け取ったメッセ
ージの宛先オブジェクトがどのプロセスに属するを判定
する判定手段とを備えたことを特徴とする請求項5記載
の記録媒体。 - 【請求項7】 前記メッセージ通信制御手段は、 各オブジェクトが元々有する論理的なオブジェクト識別
情報と、前記オペレーティングシステムに生成されたと
きに各オブジェクトに付された動作時オブジェクト識別
情報との対応情報を記録するオブジェクト対応記録手段
を備えるとともに、 前記メッセージの宛先情報として前記論理的なオブジェ
クト情報のみが付されているときであっても、前記オブ
ジェクト対応記録手段を検索して動作時オブジェクト識
別情報を取得することにより、宛先オブジェクトに前記
メッセージを引き渡し可能とすることを特徴とする請求
項5又は6記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10328065A JP2000155692A (ja) | 1998-11-18 | 1998-11-18 | 計算機システム及びネットワークシステム並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10328065A JP2000155692A (ja) | 1998-11-18 | 1998-11-18 | 計算機システム及びネットワークシステム並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000155692A true JP2000155692A (ja) | 2000-06-06 |
Family
ID=18206133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10328065A Pending JP2000155692A (ja) | 1998-11-18 | 1998-11-18 | 計算機システム及びネットワークシステム並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000155692A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146246A (ja) * | 2008-12-18 | 2010-07-01 | Sumitomo Electric Ind Ltd | マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法 |
JP2012079130A (ja) * | 2010-10-01 | 2012-04-19 | Fujitsu Ltd | デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法 |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
US8824317B2 (en) | 2008-12-04 | 2014-09-02 | Nec Corporation | Parallel calculation system, and method and program thereof |
-
1998
- 1998-11-18 JP JP10328065A patent/JP2000155692A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8824317B2 (en) | 2008-12-04 | 2014-09-02 | Nec Corporation | Parallel calculation system, and method and program thereof |
JP2010146246A (ja) * | 2008-12-18 | 2010-07-01 | Sumitomo Electric Ind Ltd | マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法 |
JP2012079130A (ja) * | 2010-10-01 | 2012-04-19 | Fujitsu Ltd | デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法 |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2049121C (en) | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment | |
US8285669B2 (en) | Subscription-based services | |
US6845505B1 (en) | Web request broker controlling multiple processes | |
CA2049143C (en) | Methods and apparatus for providing a client interface to an object-oriented invocation of an application | |
US6868442B1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
US7650397B2 (en) | Plug-in configuration manager | |
US8813093B2 (en) | Integration of disparate applications on a network | |
US20030200325A1 (en) | Multi-protocol communication subsystem controller | |
JPH06332870A (ja) | オブジェクト指向コンピュータ環境における協調処理のためのオブジェクト・マネージャをリンクする方法及び装置 | |
US6226694B1 (en) | Achieving consistency and synchronization among multiple data stores that cooperate within a single system in the absence of transaction monitoring | |
US7043726B2 (en) | Binding of processes in network systems | |
EP0926590A1 (en) | Component-based control structure for wireless communication | |
JP3762173B2 (ja) | 計算機システム及びネットワークシステム並びに記録媒体 | |
CN114546648A (zh) | 任务处理方法及任务处理平台 | |
JP2000155692A (ja) | 計算機システム及びネットワークシステム並びに記録媒体 | |
WO2003073266A1 (en) | System and method for object activation | |
CN115225482B (zh) | 一种基于Kubernetes进行Pod容器网络配置的方法及装置 | |
JP2000020443A (ja) | ソフトウェアエージェントシステム | |
JP2000259450A (ja) | オブジェクト指向メッセージ通信テスト装置及び記憶媒体 | |
US20010025324A1 (en) | Data communication method and apparatus, and storage medium storing program for implementing the method and apparatus | |
CN113177080B (zh) | 区块链共识引擎***和区块链共识处理流程方法 | |
JPH11110365A (ja) | ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法 | |
KR100359640B1 (ko) | 클래스 동적 추가 시스템 및 그 운용 방법 | |
JP2000215180A (ja) | デ―タ通信装置、デ―タ通信システム及びデ―タ通信方法 | |
JP3749657B2 (ja) | スレッドマッピングテスト制御装置及び計算機システム並びにプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040813 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041108 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041112 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050408 |