JPH0619857A - コンピュータ間のデータ一致装置 - Google Patents

コンピュータ間のデータ一致装置

Info

Publication number
JPH0619857A
JPH0619857A JP4173915A JP17391592A JPH0619857A JP H0619857 A JPH0619857 A JP H0619857A JP 4173915 A JP4173915 A JP 4173915A JP 17391592 A JP17391592 A JP 17391592A JP H0619857 A JPH0619857 A JP H0619857A
Authority
JP
Japan
Prior art keywords
data
state
buffer
command
computer
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.)
Withdrawn
Application number
JP4173915A
Other languages
English (en)
Inventor
Naoki Matsudaira
直樹 松平
Akira Jinzaki
明 陣▲崎▼
Masanobu Araya
正総 新家
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4173915A priority Critical patent/JPH0619857A/ja
Publication of JPH0619857A publication Critical patent/JPH0619857A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】 メッセージ通信によって複数のコンピュータ
のデータを一致するコンピュータ間のデータ一致装置に
関し、情報の共有をマスタコンピュータなしに行うコン
ピュータ間のデータ一致装置を目的とする。 【構成】 バッファ1の状態を制御するコマンドを前記
送受信手段を介して複数のコンピュータに対応するデー
タが一致するようコマンドを送受信手段2で送信し、バ
ッファの状態を一致制御手段3で制御し、前記バッファ
内のデータを一致させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のコンピュータを
メッセージ通信により接続したマルチプロセッサシステ
ムに係り、さらに詳しくはメッセージ通信によって複数
のコンピュータのデータを一致するコンピュータ間のデ
ータ一致装置に関する。
【0002】
【従来の技術】複数のコンピュータをメッセージ通信装
置によって接続したマルチプロセッサシステムはフロン
トエンドプロセッサやフォールトトレラントシステム、
更にはオンライントランザクションプロセッサ等広い分
野で利用される。このような分散型のシステムでは、例
えばプロセッサの状態情報等を共有することにより、処
理を適切に各プロセッサに分散することができ、システ
ム全体の性能を向上させ、さらに障害によって停止した
プロセッサのそれまで行われていた処理を他のプロセッ
サに行わせる等システム全体でみたときに処理を停止さ
せない等の制御を実行させることが可能である。
【0003】従来このようなコンピュータシステムで
は、システムで予め事前に決定されるマスタコンピュー
タが、定期的に他のスレーブコンピュータに対しポーリ
ングを行い、マスタコンピュータが収拾したデータをス
レーブコンピュータに分配してデータの共有を行ってい
た。このデータの共有により上述した如くの性能を得る
ことができる。
【0004】
【発明が解決しようとする課題】前述したシステムにつ
いては、マスタコンピュータによってデータの共有化を
行い、その共有化によってシステム全体の性能の向上を
はかっているが、例えばマスタコンピュータに障害等が
発生すると、このようなデータの共有化の処理が実行で
きなくなり、システムがダウンしてしまうという問題を
有していた。
【0005】本発明は、情報の共有をマスタコンピュー
タなしに行うコンピュータ間のデータ一致装置を目的と
する。
【0006】
【課題を解決するための手段】図1は本発明の原理構成
図である。本発明は、複数のコンピュータ間の情報の送
信と、複数のコンピュータに同一の情報の送信を行うメ
ッセージ通信手段によりノードが結合したマルチプロセ
ッサシステムにおけるものである。
【0007】バッファ1はデータを記憶する。このデー
タは例えばコンピュータID毎のプロセッサ状態情報で
あったり、付加情報であったりする。コマンド送受信手
段2は前記プロセッサ間のバッファ状態を制御するコマ
ンドを送受する。
【0008】一致制御手段3はバッファ1の状態を前記
コマンドの送受で制御して、前記複数のコンピュータに
対応するバッファ内のデータを一致させる。例えばこの
コマンドは送信コマンド、複写コマンド、無効コマンド
等である。また、バッファの状態は無効状態、有効状
態、ロック状態等である。
【0009】
【作用】バッファ1の状態を制御するコマンドを前記送
受信手段を介して複数のコンピュータに対応するデータ
が一致するようコマンドを送受信手段2で送信し、バッ
ファの状態を一致制御手段3で制御する。
【0010】例えば送信コマンドを受信したコンピュー
タは、無効状態の時、メッセージに含まれるデータを受
信し、状態を有効状態に遷移して成功レスポンスを返送
する。また、それ以外の時はデータの受信、及びデータ
の状態制御を行わず失敗レスポンスを返送する。
【0011】複写コマンドを受信したコンピュータは、
有効状態の時自分のデータと成功レスポンスを返送し、
それ以外の時には失敗レスポンスのみを返送する。ま
た、無効コマンドを受信したコンピュータでは、ロック
状態の時失敗レスポンスを返送、それ以外の時には成功
レスポンスを返送する。
【0012】また、自データ状態が無効状態であるとき
は、複写コマンドを発行してバッファに格納されるデー
タを獲得する。さらにバッファ内のデータを更新する場
合は、更新される自バッファの状態をロック状態にした
後無効コマンドを発行し、このレスポンスが成功レスポ
ンスの時バッファ内のデータを更新し、そのデータをブ
ロードキャストし、このレスポンスが成功の時バッファ
状態を有効とする。この制御によりバッファの内容を一
致させることが可能となる。
【0013】また、このバッファ内に自IDに対応する
領域にプロセッサ状態情報を設けることにより、他のプ
ロセッサ状態の分散管理を行うことができる。更には付
加情報を書き込むことにより、他のプロセッサ付加状態
の分散管理をも行うことができる。
【0014】
【実施例】以下、図面を用いて本発明を詳細に説明す
る。 <本発明の第1の実施例>図2は本発明の第1の実施例
のシステム構成図てある。各コンピュータシステム10
0〜103はコンピュータ通信バス104によって接続
される。また各コンピュータ100〜103はデータを
共有するための情報を格納するバッファ110〜113
を有する。また各バッファ110〜113に対応し、各
コンピュータのバッファの状態を記憶する状態レジスタ
120〜123を有する。なお、この状態レジスタはバ
ッファ110〜113の一部を使用しても良い。
【0015】この状態レジスタ120〜123が記憶す
る状態は以下の3つの状態がある。バッファ110〜1
13内に格納されたデータが有効であることを示す有効
状態、データが無効であることを示す無効状態、他から
のデータの書き換えを禁止するロック状態の3状態であ
る。このうちの1つを状態レジスタ120〜123は記
憶する。
【0016】コンピュータ100〜103間でこのバッ
ファ110〜113に記憶するデータを一致させるため
に、バッファ110〜113に対する操作を指示するコ
マンド(送信コマンド、受信コマンド、無効コマンド、
複写コマンド)を目的に応じ各コンピュータは送信す
る。
【0017】送信コマンドは自バッファ内のデータを他
のコンピュータに受信させるもので、他コンピュータの
バッファ状態が無効状態のときデータをバッファに受信
し、そのバッファの状態を有効状態とする。またバッフ
ァ状態がロック状態のときはデータの受信を行わず、失
敗レスポンスを返送する。
【0018】受信コマンドは自バッファ内に他のコンピ
ュータのデータを受信するもので、他のバッファが有効
状態であるコンピュータはバッファ内のデータを送信
し、受信コマンドを発行したコンピュータはこのデータ
を受信する。
【0019】無効コマンドは、ロック状態でないバッフ
ァの状態を無効状態に変化させるコマンドで、データ内
容の変更に先立ち、他のバッファ内容を無効にしておく
ことによりデータの一致を保証する。すなわち、データ
内容を変更すると、他のバッファとのデータの不一致が
生じるので、この不一致を無くするため、バッファの状
態を無効とするのである。この無効状態とすることによ
って、変更したバッファがロック状態で他は無効状態と
なって一致を保証することができる。
【0020】図3はコマンドに対する応答、処理、状態
遷移のテーブル図表、図4は応答処理内容説明図であ
る。コンピュータの初期化時には、バッファの状態を無
効状態にしておき、データの更新が必要となった時バッ
ファの状態をロック状態として無効コマンドを発行す
る。これが成功すれば他にバッファ内容の更新を行おう
としているコンピュータがなく、更に他のコンピュータ
が無効コマンドを発行したとしても自バッファ状態をロ
ック状態としているため、無効コマンドの結果は失敗す
る。この時有効なバッファは自コンピュータにあるバッ
ファだけとなりデータの更新が行える。データの更新が
終了したらその内容を送信コマンドにより全コンピュー
タにブロードキャストし、成功した場合はページ状態を
有効状態とし、他のコンピュータによる更新が可能なよ
うにする。
【0021】また、バッファをロック状態として無効コ
マンドを送信した結果が失敗の時は、一旦バッファを有
効状態としてからリトライすることにより無効コマンド
が失敗することなくデッドロックを回避できる。従っ
て、任意のコンピュータが非同期のタイミングで必要に
応じてデータの更新ができ、任意のコンピュータが故障
しても正常に動作しているコンピュータだけでデータを
一致させることができる。
【0022】さらに、図3を用いて説明する。尚、図3
は後述する通信を実行するハード回路によってコマンド
に対する処理を行うものを示してある。バッファの状態
が無効でありコマンド発行者が自分であるならば、複写
に対する応答が処理結果が正常であったときに、送信す
るフレームにデータが存在していれば自ノードのバッフ
ァに読み込み、状態を有効とする。そしてコンピュータ
に通知する。図3中の通知における○印はコンピュータ
に対して通知することを表わしている。
【0023】また、状態が無効状態で他のコンピュータ
から複写コマンドが発行された場合、結果が正常、結果
が失敗、無応答であるときにはフレームにデータが存在
していれば自ノードのバッファに読み込み、フレームの
レスポンスにACK指定する。そして状態制御を有効と
する。これもコンピュータに通知する。また、通信障害
である時には処理はせず、状態制御も行わない。複写や
無効においては応答に関係せず、さらに何ら応答もしな
い。
【0024】バッファ状態がロック状態で、自プロセッ
サより送信コマンドを発送した場合は、送信結果が正
常、送信結果が失敗、通信障害、無応答で処理内容はな
く、状態制御はロックの状態とする。また、無効コマン
ドの時には応答にかかわらず何もせずロックする。
【0025】他からこの送信コマンドを受信した時には
応答にかかわらず何もせず、複写コマンドを受信した時
には応答にかかわらずフレームのレスポンスにNAKを
指定する。また無効においても同様である。
【0026】有効状態であるときに無効コマンドを発信
した場合、結果が正常あるいは無応答であった時、処理
せずに状態をロックに変更する。また、結果が失敗であ
ったり通信障害であった時には処理内容は何もせず、有
効状態に変更する。さらには他より送信コマンドが入っ
た場合には応答にかかわらず、フレームのレスポンスに
NAKを指定する。そしてコンピュータに通知する。ま
た、複写コマンドであった時にはフレームに自ノードの
バッファのデータを挿入し、送信する。さらにフレーム
のレスポンスにACKを指定する。また、無効コマンド
を受信した時には応答にかかわらずフレームのレスポン
スにACKを指定し、無効状態とする。
【0027】図6は本発明の第1の実施例におけるステ
ータスフローチャートである。なお、図中太線が図3に
対応する制御を表わしている。図3における状態の処理
の内容ならびに状態制御はコンピュータの通信制御装置
におけるハードウェア回路によって制御されるものであ
る。
【0028】これに対しコンピュータが管理し、コマン
ドのレスポンスを受信した時のステートの変更を図5に
示す。コンピュータの初期化時には複写コマンドを発行
し、データ更新時にはバッファをロックして無効コマン
ドを発行する。他の場合には自分のバッファがロック状
態で送信コマンドを受けた時にはレスポンスがACKさ
らには無応答であるならばバッファ状態を有効に書き換
え、伝送障害であるならば送信コマンドの発行を行う。
また、複写コマンドを無効状態で受けた時には、レスポ
ンスがACKで更新不要時にはそのまま復帰し、更新必
要時にはバッファをロック後無効コマンドを発行する。
この無効コマンドの発行は他のページを無効にするため
である。また、NAKであるならばそのまま復帰する。
さらに無応答であるならばバッファをロックし、データ
を更新してバッファを有効状態にする。また、伝送障害
であるならば複写コマンドを発行する。
【0029】また、無効コマンドをロック状態で受信し
たならば、レスポンスがACKであるならば、データを
更新して送信コマンドを発行する。また、NAKである
ならばバッファを受信状態にする。さらに無応答である
ならばデータを更新し送信コマンドを発行し、伝送障害
であるならば無効コマンドを発行する。
【0030】図5のACK,NAKモート転送障害は送
信コマンドを送った相手からきたものであり、送信、複
写、無効は自分が出したコマンドである。例えば、図7
のコマンド等の送受信説明図で明確なようにデータ更新
を行う時には、バッファをソフトウェアによってすなわ
ち自プロセッサによってロック状態とし、無効コマンド
を発行する。この無効コマンドに対し他のコンピュータ
は有効状態であるならば、ACKを返送し、他コンピュ
ータは自状態を無効とする。無効を発行したプロセッサ
はこのACKによりデータを更新し送信コマンドを発行
する。この送信コマンド発行によって変更されたデータ
が他コンピュータで受信され、他装置の回路(ハード)
はACKを返送しバッファを有効とする。そして、この
ACKが戻されると自バッファを有効に変更する。この
有効により自コンピュータ並びに他コンピュータのデー
タが一致することとなる。
【0031】前述した動作をまとめるならば、図4はこ
れらコマンドを受けた時のハード回路の制御や状態遷移
とレスポンスを表わしている。さらに他のコンピュータ
からのレスポンスを受けたコマンドの発信側は図5で示
す制御をプロセッサの処理によって行っている。従っ
て、図4、図5の制御を組み合わせてはじめて各バッフ
ァ内のデータ一致が可能となる。図6においては図5に
おけるステートの変更を細線で表わしている。すなわ
ち、ロック状態において無効並びに有効となる制御はこ
のソフトウェアにおける遷移でなされるものである。
【0032】すなわち、前述した動作処理を纏めるなら
ば、送信コマンドを受信した際に前記バッファの状態が
無効状態のときはメッセージに含まれるデータを受信
し、状態を有効状態に遷移して成功レスポンスを返送
し、それ以外のときはデータの受信及びデータの状態遷
移を行わず、失敗レスポンスを返送し、複写コマンドを
受信した際に前記バッファの状態が有効状態のときは自
分のデータと、成功レスポンスとを返送し、それ以外の
ときは、失敗レスポンスのみを返送し、無効コマンドを
受信した際に前記バッファの状態がロック状態のとき
は、失敗レスポンスを返送し、それ以外のときは成功レ
スポンスを返送し、自データ状態が無効状態であるとき
は、複写コマンドを発行してバッファに格納されるデー
タを獲得し、バッファ内のデータを更新する場合は、更
新に先立ち、自バッファの状態をロック状態にした後無
効コマンドを発行し、このレスポンスが成功レスポンス
のとき、バッファ内のデータを更新し、そのデータをブ
ロードキャストし、該ブロードキャストに対するレスポ
ンスが成功レスポンスのとき、バッファ状態を有効状態
にする。
【0033】図8は前述したプロセッサ間の通信におけ
るフレームの構成図である。1つのフレームの先頭にコ
マンドを、その後方にバッファ識別情報を、そしてデー
タ、それに対するレスポンスで1つのフレームを構成と
する。また図9の如くFDDI等のランのフレーム構成
ではその図8における前後にMACヘッダとMACトレ
イラを設けている。 <本発明の第2の実施例>図10は、本発明の第2の実
施例のネットワークの構成図である。
【0034】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図1
0では、#000、#***、#%%%、などの番号で示されてい
る)が接続される。
【0035】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203すなわちメッ
セージ通信制御モジュールに収容される。メッセージ通
信装置203は、プロセッサバス205を介してプロセ
ッサ204が送信又は受信するメッセージデータを処理
し、また、光ファイバリング206に対して入力又は出
力されるメッセージデータが格納されたフレームを処理
する。このメッセージ通信装置203内のバスの構成
が、本発明に最も関連する。
【0036】次に、図11は、本発明の実施例における
図10のノード202内のメッセージ通信装置203の
構成図である。実メモリ307は、メッセージデータを
一時保持する通信バッファとして機能する。
【0037】制御メモリ308は、メッセージの通信に
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
【0038】プロセッサバスインタフェース312は、
図10のプロセッサバス205を収容すると共に外部バ
ス301に接続され、図10のプロセッサ204からプ
ロセッサバス205を介して入力されるメッセージデー
タ等を、外部バス301及びバーチャルメモリコントロ
ーラ309を介して実メモリ307に出力し、逆に、実
メモリ307からバーチャルメモリコントローラ309
及び外部バス301を介して入力されるメッセージデー
タ等を、プロセッサバス205を介してプロセッサ20
4に出力する。
【0039】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。尚、通常はバス結合部311は外部
バス301とCPUバス302を接続しておらず、#0又
は#1のプロセッサバスインタフェース312が実メモリ
307との間でメッセージデータ等の授受を行うために
外部バス301をアクセスする動作と、CPU313が
実メモリ307又は制御メモリ308をアクセスするた
めにCPUバス302をアクセスする動作は、独立にか
つ並行して行うことができる。この結果、メッセージ通
信装置203全体のスループットを向上させている。
【0040】図10には明示してないが、図11では、
プロセッサバス205は、1ノードあたり2本設けられ
ている。従って、プロセッサバスインタフェース312
も、各プロセッサバス205に対応して、#0と#1の2つ
が設けられている。そして、#0のプロセッサバスインタ
フェース312は、制御線319を用いて、#0と#1の各
プロセッサバスインタフェース312が外部バス301
をアクセスする場合の競合制御を行う。更に、#0のプロ
セッサバスインタフェース312は、制御線321、3
22を介して、後述するCPUバスアービタ314及び
I/Oコントローラ315との間でバスの使用に関する
制御データを授受しながら、外部バス301の競合制御
を行って、必要なときには制御線320を介してバス結
合部311の開閉制御を行う。
【0041】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
【0042】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
【0043】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
【0044】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
【0045】また、CPU313は、フレームの送信時
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
【0046】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
【0047】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
【0048】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
【0049】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
【0050】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
【0051】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図10及び図11
において、例えば#000のノード202内の1つのプロセ
ッサ204から、#***のノード202内の他の1つのプ
ロセッサ204にメッセージデータを送信する場合の全
体動作について説明する。
【0052】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。 <メッセージ通信装置203間の通信方式>ここで、メ
ッセージ通信装置203間のメッセージデータの通信に
は、ネットワーク仮想記憶方式という特別な方式が適用
される。
【0053】まず、図10のネットワーク201全体
で、仮想記憶空間が定義される。この仮想記憶空間は、
複数の仮想ページに分割され、メッセージデータの通信
はこの仮想ページを介して行われる。例えば、仮想記憶
空間は、0000〜FFFFページ(16進数)までの仮想ペー
ジアドレスに分割される。1つの仮想ページは、メッセ
ージデータの1単位であるパケットを十分に収容可能な
固定長(例えば8キロバイト長)のデータ長を有する。
なお、以下特に言及しないときは、仮想ページアドレス
及び口述する実ページアドレスは、16進数で表現す
る。
【0054】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
【0055】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
【0056】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図12に示されるように、
全仮想ページアドレス分の制御データが記憶される。各
仮想ページアドレスの制御データは、図12に示される
ように、その仮想ページアドレスに対応付けられる自メ
ッセージ通信装置203内の実メモリ307の実ページ
アドレスデータと、その仮想ページアドレスの通信状態
を示すページ状態データとから構成されている。
【0057】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
【0058】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図11に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0059】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図12に示されるよう
に、実メモリ307内のv,u,・・・,tの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0060】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図12に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0061】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
【0062】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図12の例では、例えば仮想ペー
ジアドレス***2が決定される。なお、ネットワーク用送
信制御機能は、CPU313がプログラムRAM317
に記憶された制御プログラムを実行することにより実現
される。
【0063】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図12の例では、例えば仮想ペ
ージアドレス***2に実ページアドレスr と送信状態SDが
設定される。
【0064】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
【0065】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
【0066】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
【0067】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
【0068】図12の例においては、#000のメッセージ
通信装置203から、仮想ページアドレス***2と実メモ
リ307内の実ページアドレスr に格納されているメッ
セージデータとを含む送信フレームが、光ファイバリン
グ206に送出される。
【0069】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図10参
照)に順次転送される。各ノード202内のメッセージ
通信装置203のネットワーク制御回路310は、光フ
ァイバリング206から上記送信フレームを取り込む
と、その送信フレームに格納されている仮想ページアド
レスに対応するページ状態を制御メモリアクセスバス3
06を介して制御メモリ308から読み出し、そのペー
ジ状態が受信バッファ割付状態VPであるか否か、即ち、
その仮想ページアドレスが自ノード202のメッセージ
通信装置203に割り当てられているか否か、又はその
ページ状態が送信状態SDであるか否か、即ち、その送信
フレームが自ネットワーク制御回路310が送出したも
のであるか否かを判別する。
【0070】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
【0071】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
【0072】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
【0073】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
【0074】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
【0075】例えば、図12の例では、#***のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPであると判別することに
より、その送信フレームに格納されているメッセージデ
ータを、制御メモリ308の仮想ページアドレス***2に
設定されている実ページアドレスu を有する実メモリ3
07内のネットワーク用受信バッファに取り込んだ後、
制御メモリ308の仮想ページアドレス***2のページ状
態を受信バッファ割付状態VPから受信完了状態RDに変更
する。
【0076】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。上述のページ状態が受信完了状態RDであ
るならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
【0077】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
【0078】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
【0079】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
【0080】例えば、図12の例では、#%%%のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPでも送信状態SDでもない
と判別することにより、その送信フレームをそのまま光
ファイバリング206に送出する。
【0081】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
【0082】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
【0083】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
【0084】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
【0085】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0086】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
【0087】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
【0088】以上のように、ネットワーク201(図1
0参照)上において、1つの仮想記憶空間が定義され、
この空間を構成する固定長のデータ長を有する仮想ペー
ジが各メッセージ通信装置203に割り当てられる。そ
して、メッセージ通信装置203間のメッセージデータ
の通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
【0089】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
【0090】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
【0091】更に、メッセージ通信装置203間のメッ
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。
<送信元におけるプロセッサ204からメッセージ通信
装置203へのメッセージデータの転送動作>次に、送
信元のノード202(図12の例では#000のノード20
2)内の1つのプロセッサ204からそのノード内のメ
ッセージ通信装置203の実メモリ307に、メッセー
ジデータが転送される場合の動作について説明する。
【0092】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
【0093】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
【0094】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
【0095】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなると、自動的に停止し、その旨を外部バス
301、バス結合部311、及びCPUバス302を介
してCPU313に通知する。
【0096】CPU313のプロセッサ用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図12の例では#000のメッセージ通信
装置203)内の実メモリ307から、宛て先のプロセ
ッサ204が収容されるノード202のメッセージ通信
装置203(図12の例では#***のメッセージ通信装置
203)内の実メモリ307への、メッセージデータの
転送動作が実行される。 <受信側におけるメッセージ通信装置203からプロセ
ッサ204へのメッセージデータの転送動作>次に、受
信側のノード202(図12の例では#***のノード20
2)内のメッセージ通信装置203の実メモリ307か
らそのノード202内の1つのプロセッサ204に、メ
ッセージデータが転送される場合の動作について説明す
る。
【0097】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
【0098】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
【0099】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。
【0100】前述したネットワークにおいて、仮想記憶
空間の各コンピュータ内対応したバッファは第1の実施
例における方法により一致される。図13はNET−V
MSとバッファとの関係説明図である。コンピュータ#1
〜#nには前述した如く、仮想記憶空間が割り当てられて
いる。各コンピュータは目的の仮想記憶空間にデータを
格納して前述した各種コマンドを用いた転送で、各仮想
記憶空間のデータを一致させる。
【0101】図14はメッセージ通信装置内のステータ
ス制御部の第1の構成図である。例えばこの第1の構成
においては、データは図15に示すコンピュータIDの
状態情報や図16に示すコンピュータIDの負荷情報で
ある。プロセッサ400のバスにデータバッファ401
と受信用コマンドバッファ402、バッファ状態レジス
タ403、送信用コマンドバッファ404が接続され、
プロセッサによってデータの読出/書込、並びにコマン
ドの読出/書込、更にはバッファ状態の読出/書込を行
う。
【0102】プロセッサ400はコマンドのフレームを
送信する時にスイッチ405をコマンド側に切り換え、
メモリアクセス制御部408に接続する。ステートマシ
ン406からレスポンスレジスタ407に他のコンピュ
ータからのコマンドに対するレスポンスすなわち応答が
格納され、その応答を送信するときスイッチ405をレ
スポンス側に切り換えメディアアクセス制御部408を
介し送信する。なお、メディアアクセス制御部408は
レシーバ409、ドライバ410に接続しており、例え
ば図19に示すブロードキャストネットワークの接続が
なされている。尚、図19は4台のメッセージ通信を装
置がノードN1〜N4に接続されたシステムである。
【0103】図19に接続されるノード内にはコンピュ
ータは1台でもまた多数接続されていても良い。コマン
ドバッファ402にはレシーバ409からのコマンドが
メディア制御部408を介して入力する。ステートマシ
ン406例えばROMやランダムロジックよりなり、コ
マンドバッファ402内のコマンドとバッファ状態から
次の状態を出力する。なお、このとき同時にレスポンス
をも出力する。
【0104】このステートマシン406は前述した図4
の状態とコマンドに対応した状態遷移並びに処理内容を
出力、さらにはレスポンスをも出力する。また、プロセ
ッサ400は各状態やコマンドの事象の発生によってバ
ッファ状態403をバスを介して書き換えるのである。
ステートマシン406のステート出力はバッファ状態レ
ジスタ403に入力しており、プロセッサからの変更指
示がない時には、ステートマシン406より出力される
状態を記憶する。また、メディア制御部408、データ
バッファ401、コマンドバッファ402、スイッチS
W405は他のバスに接続ており、このバスを介して受
信したコマンドがコマンドバッファに入力し、さらにデ
ータ401がスイッチを介してメディアアクセス制御部
408に加わってフレーム内のデータとなる。
【0105】同一ネットワーク上に同一IDのコンピュ
ータが存在することは一般的には許されない。しかし同
一IDのコンピュータが複数あればIDに対応する領域
が他のコンピュータに書き換えられるので、この領域と
以前この領域に書き込んだ値が異なれば他に同一コンピ
ュータが存在することになる。
【0106】図17はメッセージ通信装置のステータス
制御部の第2の構成図である。なお、図14に示した構
成と同一部分は同一番号を付して説明を省略する。プロ
セッサ400のバスにタイマ411と比較回路412並
びに保持したタイマ値バッファ413を接続している。
データバッファ401の一部の領域には各コンピュータ
IDに対応したタイマ値を図18に示す如く記憶してお
り、さらに保持したタイマ値バッファ413に自IDに
対応するタイマ値を書き込む。例えばタイマ401にお
ける特定時間単位等でバッファ状態が有効なとき自ID
に対応する領域に書き込まれた内容が以前書き込んであ
ったものかを時間を比較回路412によって比較する。
すなわちテストする。この比較により、コンピュータネ
ットワークに接続されたコンピュータIDの重複チェッ
クを行うことができる。なぜならば、自IDを書き換え
るものは自分でしかなく、データバッファ401のタイ
マ値と保持したタイマ値とが異なるということは他のコ
ンピュータが同じIDとなっているからである。
【0107】図20はメッセージ通信装置のステータス
制御部第3の構成図、図21はデータバッファ401に
格納される各コンピュータIDに対するMACアドレス
である。先に図18においてはタイマによってコンピュ
ータIDの重複チェックを行っているが、図20はFD
DIネットをブロードキャストネットワークにおけるコ
ンピュータIDに対応したMACアドレスを図21の如
くデータバッファに格納し、自IDのMACアドレスを
MAC値バッファ414に格納し、比較回路412によ
って特定時間単位で比較することにより、同様にIDの
重複チェックを行うことができる。また、MACアドレ
スレジスタは自アクセス制御部408とプロセッサ40
0のバスに接続している。このMACアドレスレジスタ
422には自コンピュータIDのMACアドレスが格納
されており、メディアをアクセスする際MACアドレス
のフレームを付加し、また受信した場合にはそのレスポ
ンスに対応した確認を行う。
【0108】図22はメッセージ通信装置のステート制
御部の第4の構成図である。データバッファの401に
はコンピュータIDに対応してMACアドレスが格納さ
れている。さらに図17と同様にタイマ値を記憶し、自
IDの保持したタイマ値と比較回路412で比較してい
る。そして、この他に、隣接コンピュータのMACアド
レスをFDDIのSTMフレームから求め、このMAC
アドレスから状態情報を検索することにより隣接コンピ
ュータのIDすなわち隣接コンピュータのMACアドレ
スを図23に示す如く保持し、隣接コンピュータのMA
Cアドレスが以前と異なった時に、状態情報からコンピ
ュータIDのMACアドレスを消去する。これにより隣
接コンピュータあるいは伝送路の障害を検出することが
できる。そして、この時に隣接コンピュータのMACア
ドレスを格納するのが415のMACアドレスバッファ
であり、これらの比較は比較回路412になされる。
【0109】図24はメッセージ通信装置の出力制御部
の第5の構成図である。データバッファ401はMAC
アドレスとIPアドレスをも対応して図25の如く記憶
している。なお、MACアドレスとは伝送路のインタフ
ェースのアドレスであり、IPアドレスとはコンピュー
タを識別するアドレスである。インターナルプロトコル
(IP)においては、ユニックス等で広く復旧している
プロトコルであり、ネットワーク層とトランスポート層
に対応している。パケットを種々転送する時IPアドレ
スをユーザが定義しこれらの状態によって送出する。こ
の場合、データバッファがMACアドレスとIPアドレ
スをも対応して記憶する他は図17の構成と同様であ
る。 <本発明の第3の実施例>図26は第3の実施例の状態
説明図である。第3の実施例においては定期的に全ての
状態情報を無効状態とし、何らかの原因により通信不可
能となったコンピュータを他のコンピュータが監視する
ことなく検出する。初期化時には複写コマンドを発行
し、データ更新時にはバッファをロックし無効コマンド
を発行する。また、タイマを起動し無効コマンドを発行
し自状態を無効にする。
【0110】尚、それ以外のものに関するソフトウェア
の応答は第1の実施例と全く同じである。この無効コマ
ンドをタイマによって発行することにより、全てのデー
タが無効となり再度例えば状態等を求めるときには複写
等のコマンドによってコピーするものである。これによ
り障害等が発生した場合にはコピーがなされなくなり、
それによって異常等を検出することができる。また、異
常でデータの不一致によるハングアップ等を防止でき
る。
【0111】
【発明の効果】以上述べたように本発明によれば、マス
タコンピュータを決めることなしに複数コンピュータ間
でのデータ一致が可能となり、システムの信頼性を高め
るとともに分散システムにおけるシステムを構築に寄与
することが大である。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の第1の実施例のシステム構成図であ
る。
【図3】コマンドに対応する応答処理、状態遷移のテー
ブル図表である。
【図4】応答処理内容説明図である。
【図5】コマンドのレスポンスを受信したときのステー
トを説明する図である。
【図6】本発明の第1の実施例におけるステータスフロ
ーチャートである。
【図7図】コマンド等の送受信説明図である。
【図8】フレーム構成図である。
【図9】LDDI等のLANのフレーム構成図である。
【図10】本発明の第2の実施例のネットワークの構成
図である。
【図11】本発明の第2の実施例におけるメッセージ通
信装置の構成図である。
【図12】メッセージ通信の説明図である。
【図13】NET−VMSとの関係説明図である。
【図14】メッセージ通信装置内のステータス制御部の
第1の構成図である。
【図15】データ構成図である。
【図16】データ構成図である。
【図17】メッセージ通信装置のステータス制御部の第
2の構成図である。
【図18】データ構成図である。
【図19】ブロードキャストネットワークの構成図であ
る。
【図20】メッセージ通信装置のステータス制御部の第
3の構成図である。
【図21】データ構成図である。
【図22】メッセージ通信装置のステータス制御部の第
4の構成図である。
【図23】データ構成図である。
【図24】メッセージ通信装置のステータス制御部の第
5の構成図である。
【図25】データ構成図である。
【図26】コマンドレスポンスを受信したときのステー
トを説明する図である。
【符号の説明】
1 バッファ 2 送受信手段 3 一致制御手段

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数のコンピュータ間の情報の送信と、
    複数のコンピュータに同一の情報の送信を行うメッセー
    ジ通信手段により、ノードが結合したマルチプロセッサ
    システムにおいて、 データを記憶するバッファと、 前記プロセッサ内のバッファ(1)の状態を制御するコ
    マンドを送受する送受信手段(2)と、 前記状態を前記コマンドの送受で制御して前記複数のコ
    ンピュータに対応する前記バッファ(1)内のデータを
    一致させる一致制御手段(3)とよりなることを特徴と
    するコンピュータ間のデータ一致装置。
  2. 【請求項2】 前記送受信手段(2)はバッファの状態
    を制御するコマンドをブロードキャストし、 前記一致制御手段(3)は、 前記バッファが記憶するデータが、無効であることを表
    わす無効状態、有効であることを表わす有効状態、固定
    されていることを表わすロック状態に分類されて、どの
    状態であるかを記憶する状態保持手段と、 送信コマンドを受信した際に前記バッファの状態が無効
    状態のときはメッセージに含まれるデータを受信し、状
    態を有効状態に遷移して成功レスポンスを返送し、それ
    以外のときはデータの受信及びデータの状態遷移を行わ
    ず、失敗レスポンスを返送し、 複写コマンドを受信した際に前記バッファの状態が有効
    状態のときは自分のデータと、成功レスポンスとを返送
    し、それ以外のときは、失敗レスポンスのみを返送し、 無効コマンドを受信した際に前記バッファの状態がロッ
    ク状態のときは、失敗レスポンスを返送し、それ以外の
    ときは成功レスポンスを返送し、 自データ状態が無効状態であるときは、複写コマンドを
    発行してバッファに格納されるデータを獲得し、 バッファ内のデータを更新する場合は、更新に先立ち、
    自バッファの状態をロック状態にした後無効コマンドを
    発行し、このレスポンスが成功レスポンスのとき、バッ
    ファ内のデータを更新し、そのデータをブロードキャス
    トし、該ブロードキャストに対するレスポンスが成功レ
    スポンスのとき、バッファ状態を有効状態にする制御手
    段を有することを特徴とする請求項1記載のコンピュー
    タ間のデータ一致装置。
  3. 【請求項3】 前記バッファのデータはコンピュータI
    D毎のプロセッサ状態情報であり、 各コンピュータは自IDに対する領域にプロセッサ状態
    情報を書き込み、他のプロセッサ状態の分散管理を行う
    ことを特徴とする請求項2記載のコンピュータ間のデー
    タ一致装置。
  4. 【請求項4】 バッファ内のデータはコンピュータID
    毎の負荷情報であり、 各コンピュータは自IDに対応する領域に負荷情報を書
    き込み、他のプロセッサ負荷状態の分散管理を行うこと
    を特徴とする請求項2記載のコンピュータ間のデータ一
    致装置。
  5. 【請求項5】 自IDに関係するバッファに対応して、
    タイマ値を記憶するタイマ値記憶手段と、 非同期のタイミングで、バッファ状態が有効状態のと
    き、自IDに対応する領域に書き込まれた内容が以前書
    き込んだものかをテストするテスト手段とを更に設け、 ネットワークに接続されたコンピュータIDの重複チェ
    ックを行うことを特徴とするマルチプロセッサ。
  6. 【請求項6】 前記マルチプロセッサシステムにおける
    通信はFDDIにおける通信であることを特徴とする請
    求項1,2,3,4又は5記載のコンピュータ間のデー
    タ一致装置。
  7. 【請求項7】 前記FDDIにおける通信で自分のMA
    Cアドレスを送出することを特徴とする請求項6記載の
    コンピュータ間のデータ一致装置。
  8. 【請求項8】 定期的に全ての状態情報を無効とし、通
    信不可能となったコンピュータを検出する無効選定手段
    を更に設けたことを特徴とする請求項3記載のコンピュ
    ータ間のデータ一致装置。
  9. 【請求項9】 FDDIのSMTフレームから隣接する
    コンピュータのMACアドレスを調べ、このMACアド
    レスから状態情報を検索することにより隣接コンピュー
    タのIDを保持し、隣接コンピュータのMACアドレス
    が以前と異なったときに状態情報から回答するコンピュ
    ータIDのMACアドレスを消去することにより隣接コ
    ンピュータ、あるいは伝送路の障害を検出する検出手段
    を更に設けたことを特徴とする請求項6記載のコンピュ
    ータ間のデータ一致装置。
  10. 【請求項10】 前記バッファはIPアドレスとMAC
    アドレスのペアを複数格納することを特徴とする請求項
    2記載のコンピュータ間のデータ一致装置。
JP4173915A 1992-07-01 1992-07-01 コンピュータ間のデータ一致装置 Withdrawn JPH0619857A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4173915A JPH0619857A (ja) 1992-07-01 1992-07-01 コンピュータ間のデータ一致装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4173915A JPH0619857A (ja) 1992-07-01 1992-07-01 コンピュータ間のデータ一致装置

Publications (1)

Publication Number Publication Date
JPH0619857A true JPH0619857A (ja) 1994-01-28

Family

ID=15969441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4173915A Withdrawn JPH0619857A (ja) 1992-07-01 1992-07-01 コンピュータ間のデータ一致装置

Country Status (1)

Country Link
JP (1) JPH0619857A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100648A1 (en) * 2002-05-28 2003-12-04 Dai Nippon Printing Co., Ltd. Parallel processing system
JP2008225543A (ja) * 2007-03-08 2008-09-25 Nec Corp データ記憶システム、及びデータ記憶方法
US11486076B2 (en) 2015-06-02 2022-11-01 Lg Electronics Inc. Clothes treating apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100648A1 (en) * 2002-05-28 2003-12-04 Dai Nippon Printing Co., Ltd. Parallel processing system
JP2008225543A (ja) * 2007-03-08 2008-09-25 Nec Corp データ記憶システム、及びデータ記憶方法
US11486076B2 (en) 2015-06-02 2022-11-01 Lg Electronics Inc. Clothes treating apparatus

Similar Documents

Publication Publication Date Title
US5561809A (en) In a multiprocessing system having a coupling facility, communicating messages between the processors and the coupling facility in either a synchronous operation or an asynchronous operation
US5317739A (en) Method and apparatus for coupling data processing systems
US5423044A (en) Shared, distributed lock manager for loosely coupled processing systems
US7145837B2 (en) Global recovery for time of day synchronization
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
US5394554A (en) Interdicting I/O and messaging operations from sending central processing complex to other central processing complexes and to I/O device in multi-system complex
KR100192529B1 (ko) 원격버스상의 중재를 고정시키는 방법 및 장치
US20080109570A1 (en) System and method for remote direct memory access without page locking by the operating system
JPS63238634A (ja) 分散多重処理トランザクション処理システム
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
US5845328A (en) Method for ensuring data coherency for redundat storage by transferring copies of access requests from on-line storage to back-up storage
US6009472A (en) Process for transferring data between nodes in a multinodal information system
JP3889879B2 (ja) 仮想メモリ変換を制御する方法
US20050080869A1 (en) Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer
JP2587190B2 (ja) システム間チャネルページング機構
JP3641834B2 (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
JPH0619857A (ja) コンピュータ間のデータ一致装置
EP0291907B1 (en) Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units
CN1329856C (zh) 多节点体系结构中防止饥饿的方法和装置
JPH0675861A (ja) メモリアクセス保護装置
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH0675883A (ja) メッセージ通信装置
JPH0678000A (ja) 通信装置
JPH0675796A (ja) パリティエラー記録装置
WO1992005489A1 (en) Method of nonsynchronous access to shared memory

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005