(57)【要約】【課題】複数の計算機間のデータ転送において、大容量の転送データによって小容量の制御データの転送が妨げられず、且つ、各計算機において、特定の計算機から受信した制御データを優先的に処理できるようにする。【解決手段】各計算機は、他の計算機から制御データ用交換機１１を通じて受信した制御データを記憶する命令スタック２２１と、命令スタック２２１から優先的に取り出す制御データに含まれる計算機番号を示す優先計算機番号２２４とを有する。受信側処理部２３２は、優先計算機番号２２４に記憶された計算機番号を含む制御データから優先的に、命令スタック２２１に記憶された制御データを取り出して解釈し、データの転送が指示されている場合には転送データ用交換機１２を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに優先計算機番号２２４を更新する。【選択図】  図２
2004258953.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機が、制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機によって、相互に接続されている計算機システム。
【請求項２】
前記制御データは計算機番号を含んで構成され、各々の前記計算機は、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段と、該優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに前記優先計算機番号記憶手段を更新する受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに制御データを書き込む送信側処理手段とを備える請求項１記載の計算機システム。
【請求項３】
計算機番号およびメッセージを含んで構成される制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続された計算機。
【請求項４】
他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段と、該優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに前記優先計算機番号記憶手段を更新する受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに制御データを書き込む送信側処理手段とを備える請求項３記載の計算機。
【請求項５】
計算機番号およびメッセージを含んで構成される制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続された計算機であって、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段とを有する計算機を、前記優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに前記優先計算機番号記憶手段を更新する受信側処理手段、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに制御データを書き込む送信側処理手段、として機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数の計算機を交換機経由で接続した計算機システムに関し、特に計算機間のデータ転送の方法に関する。
【０００２】
【従来の技術】
複数の計算機を使って処理を分散的に行う分散型の計算機システムにおいて、計算機どうしを通信可能にする方法として、計算機と計算機の間に一時記憶手段を設け、この一時記憶手段を介して通信する方法がある（例えば特許文献１参照）。しかし、この方法は計算機の数が増えると必要な一時記憶手段の数が増大するため、計算機の数が多い場合には、クロスバ交換機などの交換機を通じて計算機を相互に接続する構成が一般に採用されている。
【０００３】
複数の計算機を交換機経由で相互に接続した計算機システムでは、計算機間でやりとりされる全ての種類のデータが交換機を流れるため、交換機の処理能力によって計算機システム全体の処理能力が左右される。計算機間で授受されるデータは、或る計算機から別の計算機に対して何らかの指示を伝達する制御データと、制御データ以外のデータとに大別される。本明細書では、制御データ以外のデータを転送データと呼んで、制御データと区別する。一般に制御データは転送データよりもサイズが小さく、且つ転送の緊急性が高い。
【０００４】
複数の計算機を１台の交換機で相互に接続した計算機システムでは、制御データと転送データが同じ交換機を流れるため、サイズの大きな転送データによって制御データの転送が妨げられるという問題が発生する。この問題は交換機を多重化しても解消されず、全ての交換機がサイズの大きな転送データでうめつくされる状況が発生する。このような問題の解決を狙った従来技術の一例が特許文献２に記載されている。特許文献２に記載される従来技術では、制御データ（同文献では制御メッセージ）および転送データ（同文献ではデータメッセージ）の何れについても使用可能な複数の双方向通信リンクにより複数のノードを相互に接続し、各ノードに、制御データと転送データとをそれぞれ独立に扱うラインを設けて、制御データおよび転送データがノード内の別々のパスに沿って処理されるようにし、かつ、制御データまたは転送データを、若し両者が競合した場合には制御データを優先して、複数の双方向通信リンクの何れか１つへディスパッチする入出力交換器を設けるようにしている。
【０００５】
また、特許文献２では、制御データを以下のように扱う。まず、ノードの出力ポートにはそれぞれ異なる優先度の制御データを格納するための複数のキューがあり、優先度の高いキュー内の制御データから順に他のノードへ制御データが送られる。受信側のノードでは、送信時におけるような優先度別のキューはなく、受信した順番に制御データを解釈し、実行する。例えば制御データが、メモリに記憶されたデータを読み出して、それを要求しているノードに転送することを示している場合、当該指定されたデータ転送を実行する。
【０００６】
【特許文献１】
特開平５−３３４２１９号公報
【特許文献２】
特開平８−３２０８３９号公報
【０００７】
【発明が解決しようとする課題】
前述したように、複数の計算機を１台ないし複数台の交換機で相互に接続した計算機システムでは、サイズの大きな転送データによって制御データの転送が妨げられるという問題が発生する。特許文献２記載の従来技術を用いれば、この問題点を或る程度解消することができるが、全ての双方向通信リンクが長い転送データの伝送で処理能力を使い果たしている状況が発生し得るため、完全には解決することはできない。
【０００８】
また、制御データの扱いに関し、特許文献２では、制御データを送信する側での送出順優先制御は可能であるが、制御データを受信する側では到着順に処理されるため、受信した複数の制御データのうち特定の計算機から受信した制御データを優先的に処理するといった柔軟な運用が行えないという課題がある。特許文献２における送出順優先制御と同様の考えを受信側に適用し、それぞれ異なる優先度の制御データを格納するキューを受信側に設け、優先度の高いキュー内の制御データから順に処理することも考えられるが、異なる計算機の制御データどうしが同じ高優先度になる場合があり得るため、特定の計算機の制御データだけを優先的に処理するのは難しい。
【０００９】
本発明の目的は、複数の計算機を交換機で相互に接続した計算機システムにおいて、サイズの大きな転送データによって制御データの転送が妨げられないようにすることにある。
【００１０】
本発明の別の目的は、制御データを受信した計算機側において、特定の計算機から受信した制御データを優先的に処理することができるようにすることにある。
【００１１】
【課題を解決するための手段】
本発明の計算機システムは、複数の計算機が、制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機によって、相互に接続されていることを基本とする。より具体的には、前記制御データは計算機番号を含んで構成され、各々の前記計算機は、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段と、該優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに前記優先計算機番号記憶手段を更新する受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに制御データを書き込む送信側処理手段とを備える。
【００１２】
本発明の計算機は、計算機番号およびメッセージを含んで構成される制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続されることを基本とする。より具体的には、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段と、該優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに前記優先計算機番号記憶手段を更新する受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに制御データを書き込む送信側処理手段とを備える。
【００１３】
【作用】
本発明にあっては、複数の計算機間のデータの授受は、制御データに関しては制御データ用交換機を通じて行われ、制御データ以外のデータである転送データについては転送データ用交換機を通じて行われることにより、転送データによって制御データの転送が妨げられることはなくなる。
【００１４】
また、各々の計算機は、他の計算機から制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、この命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号記憶手段とを備え、送信側処理手段によって、制御データ用交換機を通じて他の計算機の命令スタックにデータ転送や優先計算機番号の更新を指示する命令などを含む制御データを書き込み、他方、受信側処理手段によって、優先計算機番号記憶手段に記憶された計算機番号を含む制御データから優先的に、自計算機の命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに優先計算機番号記憶手段を更新することにより、特定の計算機から受信した制御データを優先的に処理することができる。
【００１５】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１を参照すると、本発明の実施の形態にかかる計算機システム１３は、Ｎ台の計算機１３１〜１３Ｎを含んで構成され、それぞれの計算機１３１〜１３Ｎは、制御データ用交換機１１および転送データ用交換機１２によって、相互に接続されている。
【００１７】
制御データ用交換機１１は、複数の計算機１３１〜１３Ｎ間で制御データを授受するために使用する交換機であり、例えばクロスバ交換機が使用される。それぞれの計算機１３１〜１３Ｎは、制御データ用交換機１１を通じて、他の計算機上の記憶領域をアクセスして、制御データの書き込みと読み出し、記憶領域上の値の排他的加算や減算を行う。１つの制御データのサイズは１ワードである。このように制御データのサイズが小さいので、全ての計算機１３１〜１３Ｎが一斉に同時にアクセスしても、制御データ用交換機１１の交換機処理能力を超えることがないようになっている。
【００１８】
転送データ用交換機１２は、複数の計算機１３１〜１３Ｎ間で転送データを授受するために使用する交換機であり、例えばクロスバ交換機が使用される。それぞれの計算機１３１〜１３Ｎは、転送データ用交換機１２を通じて、他の計算機上の記憶領域をアクセスして、転送データの書き込みや読み出しを行う。制御データと異なり、転送データの書き込みと読み出しは、ワードを超える単位で連続して行うことが可能である。
【００１９】
図２を参照すると、それぞれの計算機１３１〜１３Ｎは、全て同じ構成を有しており、主記憶等の記憶領域２０１と、ＣＰＵ等の処理装置２０２と、記憶領域２０１、処理装置２０２、制御データ用交換機１１および転送データ用交換機１２に接続されたバス２０３とを含んで構成される。
【００２０】
記憶領域２０１には、制御データ管理部２１１と転送データ記憶部２１２が設けられている。転送データ記憶部２１２は、自計算機から他の計算機に転送する転送データや、他の計算機から転送されてきた転送データを記憶する領域である。転送データとしては、アプリケーションプログラムで使用されるデータ以外に、他計算機の生存確認のために使用されるデータがある。他計算機の生存確認は、次のように行われる。まず、他の計算機が正常に機能しているか否かを調べたい計算機は、自計算機の記憶領域の所定のアドレスに所定のデータを転送する命令を含む制御データを制御データ用交換機１１経由で他の計算機に送り、制御データの終了フラグが所定時間以内にセットされるかどうかを監視する。所定時間以内にセットされれば生存、そうでなければ何らかの異常が発生したと判断する。他方、他の計算機はその制御データを解釈実行して転送データ用交換機１２経由でデータの転送を行い、制御データ中の終了フラグをセットする。このような生存確認を一定周期で実施するには、制御データを一定周期で送出する必要がある。
【００２１】
制御データ管理部２１１は、他の計算機から転送される制御データを保持、管理する領域であり、命令スタック２２１、ＷＰ（Ｗｒｉｔｅ  Ｐｏｉｎｔｅｒ）２２２、スタックカウント２２３および優先計算機番号２２４を有する。制御データ管理部２１１に設けられるこれら全ての要素は、計算機システム１３を構成する全ての計算機１３１〜１３Ｎの記憶領域２０１上に同一開始アドレスで固定的に確保されており、それらのアドレス情報を計算機１３１〜１３Ｎ間でやりとりする必要はない。
【００２２】
命令スタック２２１は、制御データをスタックしていくための領域で、ＷＰ２２２と併用することによりリングバッファ領域を実現する。具体的には、命令スタック２２１に制御データをスタックする毎にＷＰ２２２を１加算していき、その結果、命令スタック２２１にスタック可能な個数を超えた場合、ＷＰ２２２は命令スタック２２１の先頭を指すと解釈する。
【００２３】
命令スタック２２１にスタックされる制御データは、図３で示される情報により構成される。計算機番号３２は、この制御データを送出した計算機の番号であり、制御データを送出した計算機側で設定される。メッセージ３３は、制御データの種類に応じた命令が、制御データを送出した計算機側で設定される。終了フラグ３１は、メッセージ３３で指定した命令の実行が完了したかどうかを示すフラグである。制御データを送出する計算機は終了フラグ３１をリセットした状態で送出し、終了フラグ３１がセットされるのを監視する。他方、制御データで指定された命令を実行する計算機は、その命令の実行完了時に終了フラグ３１の反転処理、つまりセット処理を行う。
【００２４】
ＷＰ２２２は、制御データを送出した計算機によって、命令スタック２２１に制御データがスタックされる毎に１加算される。
【００２５】
スタックカウント２２３は、制御データを送出した計算機によって、命令スタック２２１に制御データがスタックされる毎に１加算され、制御データで指定された命令を実行した計算機によって１減算されることで、命令スタック２２１にスタックされている制御データの個数を示す。
【００２６】
優先計算機番号２２４は、命令スタック２２１から優先的に取り出す制御データに含まれる計算機番号を示す。この優先計算機番号２２４は、命令スタック２２１にスタックされた命令によって更新される。なお、計算機システム１３において存在しない計算機番号の値が設定されている場合は、優先すべき計算機は存在しないものと判断される。
【００２７】
処理装置２０２は、送信側処理部２３１および受信側処理部２３２を備えている。送信側処理部２３１は、処理装置２０２上で動作するプロセスであり、制御データ用交換機１１を通じて他の計算機の命令スタック２２１に制御データを書き込むなどの処理を司る。図４に送信側処理部２３１が他の計算機の命令スタック２２１に１つの制御データを書き込み、その制御データが他の計算機で実行されるのを監視する際の処理例を示す。
【００２８】
送信側処理部２３１は、まず、制御データを転送する先の計算機上のスタックカウント２２３に対して、制御データ用交換機１１経由で排他的１加算操作を行う（図４のステップ４１）。その結果を参照して、命令スタック２２１に制御データをスタック可能かどうかを判断する（図４のステップ４２）。
【００２９】
既に命令スタック２２１を埋め尽くす制御データがスタックされているときは、スタックカウント２２３に対して、制御データ用交換機１１経由で排他的１減算を行い（図４のステップ４４）、適切な時間を待ち合わせるためのアイドル処理（図４のステップ４３）を行った後に、再試行する。
【００３０】
命令スタック２２１にスタック可能な場合は、ＷＰ２２２に対して制御データ用交換機１１経由で排他的１加算を行い（図４のステップ４５）、その結果を用いて使用すべき命令スタック２２１上の領域を決定する。
【００３１】
確保したスタックに制御データ用交換機１１経由で、リセット状態の終了フラグ３１、自計算機の計算機番号３２およびメッセージ３３から構成される制御データを書き込み（図４のステップ４６）、その制御データが処理されるために費やされるであろう一定時間を待ち合わせるためのアイドル処理を行う（図４のステップ４７）。制御データ中のメッセージ３３には、データ転送命令やその他の命令が含まれる。その他の命令としては、優先計算機番号２２４に自計算機の番号を設定する命令や、計算機システム１３に存在しない計算機の番号に設定する命令などがある。
【００３２】
送信側処理部２３１は、その後、制御データ用交換機１１経由で終了フラグ３１を読み取り（図４のステップ４８）、その結果を用いて制御データが受信側の計算機で処理されたかどうかを調べる（図４のステップ４９）。終了フラグ３１が反転されていない場合は、再度アイドル処理からやり直す。終了フラグ３１が反転されている場合は、処理を終了する。
【００３３】
再び図２を参照すると、受信側処理部２３２は、処理装置２０２上で動作する常駐のシステムプロセスであり、自計算機の命令スタック２２１に記憶された制御データを取り出して解釈し、実行する機能を有する。受信側処理部２３２は、命令スタック２２１からの制御データの取り出しに際しては、優先計算機番号２２４を参照し、命令スタック２２１に記憶された制御データのうち、優先計算機番号２２４と同じ計算機番号３２を持つ制御データを優先的に取り出す。また、取り出した制御データのメッセージ３３において、データの転送が指示されている場合、受信側処理部２３２は、転送データ用交換機１２を通じて転送データの転送を実行する。さらに、取り出した制御データのメッセージ３３において、優先計算機番号の更新が指示されている場合、受信側処理部２３２は、指示された通りに優先計算機番号２２４を更新する。受信側処理部２３２の処理例を図５に示す。
【００３４】
受信側処理部２３２は、まず、自計算機のスタックカウント２２３を読み取り（図５のステップ５０１）、未処理の制御データが命令スタック２２１に存在するかどうかを調べる（図５のステップ５０２）。スタックカウント２２３の値が０なら、未処理の制御データは存在しないため、命令スタック２２１に制御データがスタックされるのを待ち合わせるためのアイドル処理を行う（図５のステップ５０３）。その後、スタックカウント２２３の読み取りから再試行する。
【００３５】
未処理の制御データが存在する場合、ＷＰ２２２を参照して（図５のステップ５０４）命令スタック２２１の現在位置を把握する。次に、既に取得済みのスタックカウント２２３の値を用いて、未処理の制御データが複数個存在するかどうかを判断する（図５のステップ５０５）。
【００３６】
１個しか存在しない場合は、スタック先頭の制御データを処理するために読み取る（図５のステップ５０９）。複数個存在する場合は、優先計算機番号２２４を読み取り（図５のステップ５０６）、優先すべき制御データが存在するかどうかを調べる（図５のステップ５０７）。
【００３７】
優先計算機番号２２４に計算機システム１３において存在しない計算機番号の値が設定されている場合は優先すべき計算機は存在しないと判断し、既に読み取ったＷＰ２２２と既に読み取ったスタックカウント２２３を用いて命令スタック２２１における未処理の先頭制御データを判断し読み取る（図５のステップ５０９）。
【００３８】
優先計算機番号２２４に計算機システム１３において存在する計算機番号の値が設定されている場合は、既に読み取ったＷＰ２２２と既に読み取ったスタックカウント２２３を用いて、命令スタック２２１にスタックされている未処理の制御データのうち、計算機番号３２に優先計算機番号２２４と同じ計算機番号が設定されている制御データを探す（図５のステップ５０７）。該当する制御データが存在しない場合は、優先すべき計算機が存在しない場合と同様の処理を行う（図５のステップ５０９）。該当する制御データが存在する場合はその制御データを読み取る（図５のステップ５０８）。
【００３９】
次に、処理すべき制御データは決定されたので、スタックカウント２２３に対して排他的１減算を行う（図５のステップ５１０）。そして、制御データにおけるメッセージ３３に含まれる命令を解釈し、実行する。命令がデータ転送命令の場合、転送データ用交換機１２を用いてデータ転送を行い、その命令を含む制御データが格納されていた命令スタック２２１の領域上の終了フラグ３１をセットする（図５のステップ５１１）。また、命令が優先計算機番号の更新命令の場合、優先計算機番号２２４を更新命令で指定された通りに更新し、その命令を含む制御データが格納されていた命令スタック２２１の領域上の終了フラグ３１をセットする（図５のステップ５１１）。
【００４０】
受信側処理部２３２は、命令スタック２２１中の未処理の制御データの処理を終えると、ステップ５０３に戻り、上述した処理を継続する。
【００４１】
図６は計算機システム１３を構成する或る一つの計算機内の命令スタック２２１と優先計算機番号２２４の遷移を示す。この命令スタック２２１を有する計算機を以下、計算機Ｄと呼び、他の計算機としてＡ、Ｂ、Ｃの３台の計算機を想定する。図６（ａ）の時点では、計算機Ｄの命令スタック２２１には、計算機Ｂからの制御データＢ１、Ｂ２、計算機Ｃからの制御データＣ１、Ｃ２がその到着順に格納されており、優先計算機番号２２４には計算機システム１３に存在しない計算機の番号Ｘが設定されている。これらの制御データＢ１、Ｂ２、Ｃ１、Ｃ２は全てデータ転送命令を含む制御データである。計算機Ｄでは、優先すべき計算機が存在しないので、命令スタック２２１の制御データをその到着順に処理していく。
【００４２】
図６（ｂ）は、計算機Ｂの制御データＢ１が処理され、更に新たな制御データＡ１、Ｃ３が命令スタック２２１に格納された状態を示す。ここで、制御データＡ１は、計算機Ａが送出した制御データで、計算機Ｄの優先計算機番号２２４を自計算機Ａに変更する命令を含んでいる。制御データＣ３はデータ転送命令を含む制御データである。
【００４３】
図６（ｃ）は、制御データＢ２、Ｃ１、Ｃ２が順に処理され、またデータ転送命令を含む新たな制御データＢ３、Ａ２、Ｃ４が命令スタック２２１に格納された状態を示す。この状態では、制御データＡ１がスタック先頭に位置するため、次にこの制御データＡ１が処理されることになる。
【００４４】
図６（ｄ）は、制御データＡ１が処理された直後の状態を示し、制御データＡ１に含まれる優先計算機番号の更新命令によって優先計算機番号２２４が計算機Ａの番号に更新されている。また、命令スタック２２１にデータ転送命令を含む新たな制御データＡ３が格納されている。このように優先計算機番号２２４が計算機Ａの番号に設定されると、命令スタック２２１中の制御データのうち計算機Ａからの制御データが優先的に処理されていく。
【００４５】
図６（ｅ）は、計算機Ａの制御データＡ２が計算機Ｃの制御データＣ３、計算機Ｂの制御データＢ３を追越して先に処理され、また計算機Ａの制御データＡ３が計算機Ｃの制御データＣ３、Ｃ４、計算機Ｂの制御データＢ３を追越して先に処理された状態を示す。また、新たに計算機Ｂからデータ転送命令を含む制御データＢ４が命令スタック２２１に格納された状態を示す。Ａ２、Ａ３が処理されて優先計算機番号２２４に設定された計算機Ａの番号を持つ制御データが命令スタック２２１に存在しない状態になると、優先計算機番号がない場合と同様の処理が行われる。従って、図６（ｆ）に示すように、再び到着順に処理が行われる。
【００４６】
このように優先計算機番号を更新する命令を含む制御データによって計算機Ｄの優先計算機番号２２４を計算機Ａの番号に設定すると、それ以降、計算機Ａからの制御データが他の計算機Ｂ、Ｃの制御データよりも優先的に処理することができる。従って、計算機Ａは、他の計算機Ｂ、Ｃよりも優先的かつ連続して計算機Ｄに処理させたいデータ転送要求が近い将来発生する場合、優先計算機番号２２４を計算機Ａの番号に設定する制御データＡ１を前もって計算機Ｄに出しておけば良い。
【００４７】
また、優先計算機番号２２４に計算機Ａの番号を設定する制御データＡ１が到着する以前に命令スタック２２１に格納されていた他の計算機Ｂ、Ｃの制御データＢ２、Ｃ１、Ｃ２には影響を与えず、通常通りに到着順に処理させることができる。その理由は、制御データＡ１が実行されることによって初めて優先計算機番号２２４が計算機Ａの番号に設定され、それ以降、計算機Ａからの制御データが優先されるからである。
【００４８】
なお、本発明においては、他の計算機上の優先計算機番号２２４を変更する制御データを送出できる計算機を或る特定の１台の計算機に制限するようにしても良いし、そのような制限を課さないようにしても良い。
【００４９】
このように本実施の形態によれば、交換機を制御データ用と転送データ用とに別々に用意したため、制御データの転送は転送データの転送による影響を受けずに実施することができる。また、計算機上に優先計算機番号があり、それをもとに処理する制御データが決定されるため、特定の計算機からの制御データを優先的に処理することができる。さらに、スタッキングカウントの上限を調整すれば、同時に発行される制御データを抑制でき、交換機負荷を容易に抑制できる。また、命令のスタッキング方式を用いるため、転送毎の終了を待ち合わせる必要がなく、スタッキング領域を縮小／拡大することにより、交換機の処理能力に適応させることが可能であり、交換機のリプレースにも柔軟に対応できる。
【００５０】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明の各計算機が備える送信側処理部２３１および受信側処理部２３２は、その有する機能をハードウェア的に実現することも可能であり、またコンピュータとプログラムとで実現することもできる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態における送信側処理部２３１および受信側処理部２３２として機能させる。
【００５１】
【発明の効果】
以上説明したように本発明によれば、複数の計算機を交換機で相互に接続した計算機システムにおいて、サイズの大きな転送データによって制御データの転送が妨げられない。その理由は、交換機が制御データ用と転送データ用とに別々に用意されており、制御データの転送は転送データの転送による影響を受けずに実施できるからである。
【００５２】
また、各計算機において、特定の計算機から受信した制御データを優先的に処理させることができる。その理由は、計算機上に唯一の優先計算機番号があり、それをもとに処理する制御データが決定されるためである。
【００５３】
さらに、優先計算機番号に或る計算機の番号を設定する制御データが到着する前に命令スタックに既に格納されていた他の計算機の制御データには影響を与えず、通常通りに到着順に処理させることができる。その理由は、優先計算機番号が未設定の状態では優先計算機番号に或る計算機の番号を設定する制御データは通常通り到着順に処理され、この制御データが実行されることによって初めて優先計算機番号が或る計算機の番号に設定されて、それ以降に当該或る計算機からの制御データが優先的に処理されるからである。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる計算機システムの全体構成を示すブロック図である。
【図２】本発明の計算機の内部構成例を示すブロック図である。
【図３】制御データの構成例を示す図である。
【図４】送信側処理部の処理例を示すフローチャートである。
【図５】受信側処理部の処理例を示すフローチャートである。
【図６】本発明の計算機システムを構成する或る一つの計算機内の命令スタックと優先計算機番号の遷移を示す図である。
【符号の説明】
１１…制御データ用交換機
１２…転送データ用交換機
１３…計算機システム
１３１〜１３Ｎ…計算機
３１…終了フラグ
３２…計算機番号
３３…メッセージ
２０１…記憶領域
２０２…処理装置
２０３…バス
２１１…制御データ管理部
２１２…転送データ記憶部
２２１…命令スタック
２２２…ＷＰ
２２３…スタックカウント
２２４…優先計算機番号
２３１…送信側処理部
２３２…受信側処理部
【図１】
2004258953.tif 000003
【図２】
2004258953.tif 000004
【図３】
2004258953.tif 000005
【図４】
2004258953.tif 000006
【図５】
2004258953.tif 000007
【図６】
2004258953.tif 000008