(57)【要約】【課題】各ノードに同一のプログラムを実行させてシステムの試験を行なうことを課題とする。【解決手段】ネットワークシステム１００内のノード３００〜６００を、マスタノードとスレーブノードに分ける。マスタノードであるノード３００は、自ノードを含めシステム内の全ノードが、各ノードにどの順番およびタイミングでデータを送信するか制御する。こうすることによって、従来のように全ノードに予めデータ転送経路の一覧表を与える必要がなくなり、その結果、システム内でノードの削除、追加が発生しても一覧表の再作成の手間を省くことを可能となる。【選択図】        図１
2010066933.tif 000002
【特許請求の範囲】
【請求項１】
データを転送するデータ転送装置に複数の情報処理装置を接続したネットワークシステムであって、
前記情報処理装置のうちの一つであるマスタ情報処理装置は、
自装置を含め各情報処理装置が全情報処理装置それぞれにデータを送信する順番とタイミングを制御する制御手段と、
前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段と
を備え、
前記マスタ情報処理装置以外のスレーブ情報処理装置は、
前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段を備えたことを特徴とするネットワークシステム。
【請求項２】
前記マスタ情報処理装置の前記制御手段は、試験の種別に応じて、前記情報処理装置の識別情報各々と、序列が与えられたもう一つの前記識別情報各々とを任意に組み合わせた送信先と送信元の組合せを前記スレーブ情報処理装置に送信し、前記情報処理装置各々がデータを送信するたびにタイミングを制御し、
前記マスタ情報処理装置の送信手段および前記スレーブ情報処理装置の送信手段は、試験の種別に応じて、自装置の識別情報と同じ送信元としての識別情報に組み合わされた送信先としての識別情報を最初に選択し、選択した識別情報で識別される情報処理装置へ前記制御手段によって制御されるタイミングに基づいてデータを送信し、次からは序列に従って識別情報を順次選択し、選択した識別情報で識別される情報処理装置へ前記制御手段によって制御されるタイミングに基づいて順次データを送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記マスタ情報処理装置の前記制御手段は、試験の種別に応じて、前記情報処理装置の識別情報各々と、序列が与えられたもう一つの前記識別情報各々とを任意に組み合わせた送信先と送信元の組合せを前記スレーブ情報処理装置に送信し、前記情報処理装置各々が最初にデータを送信する際にタイミングを制御し、
前記マスタ情報処理装置の送信手段および前記スレーブ情報処理装置の送信手段は、試験の種別に応じて、自装置の識別情報と同じ送信元としての識別情報に組み合わされた送信先としての識別情報を最初に選択し、選択した識別情報で識別される情報処理装置へ前記制御手段によって制御されるタイミングに基づいてデータを送信し、次からは序列に従って識別情報を順次選択し、選択した識別情報で識別される情報処理装置へ順次データを送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項４】
前記マスタ情報処理装置の前記制御手段は、試験の種別に応じて、前記情報処理装置の識別情報各々を前記スレーブ情報処理装置に送信し、前記情報処理装置各々が最初にデータを送信する際にタイミングを制御し、
前記マスタ情報処理装置の送信手段および前記スレーブ情報処理装置の送信手段は、試験の種別に応じて、前記情報処理装置の識別情報各々から任意に識別情報を選択し、選択した識別情報で識別される情報処理装置へ前記制御手段によって制御されるタイミングに基づいてデータを送信した後、データ送信未完了の識別情報を任意に順次選択し、選択した識別情報で識別される情報処理装置へ順次データを送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項５】
前記マスタ情報処理装置の送信手段および前記スレーブ情報処理装置の送信手段は、データを分割して複数回に分けて送信することを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
前記マスタ情報処理装置の前記制御手段は、試験の種別に応じて、前記情報処理装置の序列が与えられた識別情報各々を前記スレーブ情報処理装置に送信し、前記情報処理装置各々がデータを送信するたびにタイミングを制御し、
前記マスタ情報処理装置の送信手段および前記スレーブ情報処理装置の送信手段は、試験の種別に応じて、前記情報処理装置の識別情報各々から序列に従って識別情報を順次選択し、選択した識別情報で識別される情報処理装置へ前記制御手段によって制御されるタイミングに基づいてデータを順次送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項７】
データを転送するデータ転送装置に複数の情報処理装置を接続したネットワークシステムにおいて、
前記情報処理装置のうちの一つであるマスタ情報処理装置を、
自装置を含め各情報処理装置が全情報処理装置それぞれにデータを送信する順番とタイミングを制御する制御手段、
前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段
として機能させ、
前記マスタ情報処理装置以外のスレーブ情報処理装置を、
前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段として機能させることを特徴とするシステム試験プログラム。
【請求項８】
他情報処理装置にネットワークを介して接続される情報処理装置において、
ネットワークを介して接続される自情報処理装置を含む各情報処理装置について、データの送信元となる情報処理装置の一覧と、データの送信先となる情報処理装置の一覧を、送信元と送信先とを対応付けて設定したテーブルを作成する制御手段と、
作成したテーブルと、前記テーブルに設定された情報に基づくデータ転送の指示を他の情報処理装置に送信するとともに、前記テーブルに自情報処理装置と対応付けて設定された送信先の情報処理装置にデータを転送する送信手段と、
を備えたことを特徴とする、情報処理装置。
【請求項９】
請求項８に記載の情報処理装置は更に、
前記送信先の情報処理装置へのデータ転送に対応して、前記送信先の情報処理装置から受信したデータと、予め自身が保持する比較値とを比較する比較手段を備えたことを特徴とする、情報処理装置。
【請求項１０】
請求項８に記載の情報処理装置において、
前記制御手段は、送信先の情報処理装置へのデータ転送後、予め定められた手順により前記テーブルに設定された送信元情報処理装置と、送信先情報処理装置との対応関係を組み替え、
前記送信手段は、対応関係が組み替えられたテーブルに応じて、自情報処理装置に対応付けられた送信先の情報処理装置にデータを転送することを特徴とする、情報処理装置。
【請求項１１】
他情報処理装置にネットワークを介して接続される情報処理装置において、
他情報処理装置から送信された、データの送信元となる情報処理装置の一覧と、データの送信先となる情報処理装置の一覧を、送信元と送信先とを対応付けて設定したテーブルを記憶する記憶手段と、
他情報処理装置からのデータ転送指示を受信する受信手段と、
受信したデータ転送指示に応じて前記テーブルを参照し、前記テーブルに自情報処理装置と対応付けて設定された送信先の情報処理装置を判別する制御手段と、
前記制御手段が判別した送信先情報処理装置にデータを転送する送信手段と、
を備えたことを特徴とする、情報処理装置。
【請求項１２】
請求項１１に記載の情報処理装置において、
前記制御手段は、送信先の情報処理装置へのデータ転送後、予め定められた手順により前記テーブルに設定された送信元情報処理装置と送信先情報処理装置との対応関係を組み替え、対応関係が組み替えられたテーブルに応じて、自情報処理装置に対応付けられた情報処理装置を送信先情報処理装置として判別することを特徴とする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを転送するデータ転送装置に複数の情報処理装置を接続したネットワークシステム、情報処理装置および各情報処理装置に実行させるシステム試験プログラムに関する。
【背景技術】
【０００２】
従来、スーパーコンピュータを構成するシステムの一つである計算システムは、例えば、１２８個のＣＰＵ（Central  Processing  Unit）や共有メモリが搭載された筐体がクロスバースイッチに複数接続される。
【０００３】
このような計算システムのように、情報処理を行なう処理部を、ノード間のデータ転送を行なうスイッチ部で複数接続するネットワークシステムでは、システムが適切に動作するように、システム運用開始前や運用中に試験や管理を行うことが重要である。そこで、このようなネットワークシステムに対する試験や管理に利用される技術が知られている（特許文献１参照）。
【０００４】
そのような技術の一つに、それぞれのノードにプログラムを実行させ、ノードからノードへデータを転送し、ネットワークステムの転送経路の試験や転送スイッチ部の負荷試験を行なうものが知られている。
【０００５】
【特許文献１】特開２０００−６９１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術では、各ノードに同一のプログラムを実行させて試験を行なうことができないという問題があった。つまり、各ノードは、プログラム中に用意された送信元と送信先の組合せに基づいてデータを送信する。組合せはノードごとにそれぞれ異なるものとなるため、例えば、システム内に４つのノードがあれば、ノードごとにそれぞれ４つの異なるプログラムを作成する必要があり、プログラムの作成に手間がかかっていた。
【０００７】
この発明は、上述した従来技術の課題を解決するためになされたものであり、各ノードに同一のプログラムを実行させてシステムの試験を行なうことが可能なネットワークシステム、ノードとしての情報処理装置および各ノードに実行させるシステム試験プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本願の開示するシステムは、データを転送するデータ転送装置に複数の情報処理装置を接続したネットワークシステムであって、前記情報処理装置のうちの一つであるマスタ情報処理装置は、自装置を含め各情報処理装置が全情報処理装置それぞれにデータを送信する順番とタイミングを制御する制御手段と、前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段とを備え、前記マスタ情報処理装置以外のスレーブ情報処理装置は、前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段を備えたことを要件とする。
【０００９】
また、本願の開示するプログラムは、データを転送するデータ転送装置に複数の情報処理装置を接続したネットワークシステムにおいて、前記情報処理装置のうちの一つであるマスタ情報処理装置を、自装置を含め各情報処理装置が全情報処理装置それぞれにデータを送信する順番とタイミングを制御する制御手段、前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段として機能させ、前記マスタ情報処理装置以外のスレーブ情報処理装置を、前記制御手段によって制御された順番とタイミングに基づいて、前記全情報処理装置に前記データを送信する送信手段として機能させることを要件とする。
【発明の効果】
【００１０】
本願の開示する装置の一つの態様によれば、各ノードに同一のプログラムを実行させてシステムの試験を行なうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明に係るネットワークシステム、情報処理装置およびシステム試験プログラムの好適な実施の形態を詳細に説明する。
【実施例】
【００１２】
まず、本実施例に係るネットワークシステムの概要を説明する。図１は、本実施例に係るネットワークシステムの構成を示す図である。図１に示すように、ネットワークシステム１００は、転送スイッチ部２００に４つのノード３００〜６００を接続して構成される。なお、転送スイッチ部２００に接続するノード数は２以上であればいくつでもよい。転送スイッチ部２００は、例えばクロスバースイッチやルータなど、ノードから送信されたデータを受信し、指定された送信先へデータを転送する処理部である。ノード３００〜６００は、転送スイッチ部２００がクロスバースイッチであれば複数のＣＰＵや共有メモリを有する計算ノード、ルータであればサーバ装置など、情報処理を行なう処理部である。
【００１３】
本実施例では、このようなネットワークシステム１００の転送経路の試験や転送スイッチ部２００の負荷試験を行う場合、ノード３００をマスタノード、他のノード４００〜６００をスレーブノードとする。そして、マスタノードであるノード３００に、自ノードを含め各ノードが全ノードそれぞれにデータを送信する際の順番とタイミングを制御させている。具体的には、ノード３００は、各ノードの識別情報を取得し、識別情報に基づいて送信元と送信先の組合せを作成する。そして、ノード３００は、作成した組合せを記憶するとともに、スレーブノードであるノード４００〜６００に送信し、組合せのなかの送信先としての識別情報をどう選択していくかを指示する。各ノードは、ノード３００より与えられた組合せのなかの送信先としての識別情報を、ノード３００の指示どおりの順番で選択し、選択した識別情報で識別されるノードにデータを送信する。こうすることによって、送信先を決定するための経路一覧表を一つ一つのノードに固定のデータとして記憶させる必要はなく、各ノードに同一のプログラムを実行させてシステムの試験を行なうことが可能となる。また、ネットワークシステム１００にノードの追加や削除があった場合でも、ノード３００が再度各ノードの識別情報を取得すればよいので、ノードごとにそれぞれ４つの異なる経路一覧表を再作成するなどの手間を省くことができる。
【００１４】
次に、マスタノードであるノード３００の構成について説明を行う。図２は、ノード３００の構成を示すブロック図である。図２に示すように、ノード３００は、試験実行制御部３０１と、テーブル記憶部３０２と、データ送受信部３０３と、識別情報取得部３０４とを備える。
【００１５】
試験実行制御部３０１は、自ノードを含め各ノードが全ノードそれぞれにデータを送信する順番を制御するためのテーブルを作成して各ノードに送信するとともに、各ノードがデータを送信するタイミングを制御する。具体的には、試験実行制御部３０１は、システムを管理するホストコンピュータなど（図示せず）からコマンドを受け取り、コマンドから試験の種別を判別する。試験の種別には、全パス疎通、全ポート通信、ランダム転送、１ポート集中の４種類がある。全パス疎通とは、各ノードが、送信先を重複することなく、かつ、ノードにデータを送信するたびに各ノードが同期してデータを送信する試験である。全ポート通信とは、各ノードが、予め決められた順番で送信先のノードを選択して同期をとることなくデータを送信する試験である。ランダム転送とは、各ノードが、任意に送信先のノードを選択して同期をとることなくデータを送信する試験である。１ポート集中とは、各ノードが、一つのノードに集中的に、かつ、データを送信するたびに同期してデータを送信する試験である。
【００１６】
試験の種別を判別した試験実行制御部３０１は、転送スイッチ部２００に接続されるノード３００〜６００、つまり自ノードを含めた各ノードの識別情報を取得し、取得した識別情報各々を送信元とし、同一の識別情報各々を送信先とし、送信元と送信先とを任意に組み合わせたテーブルを作成する。
【００１７】
具体的に例を挙げて説明すると、図３に示すように、試験実行制御部３０１は、ノード３００、つまり自ノードの識別情報「０」と、ノード４００の識別情報「１」と、ノード４００の識別情報「２」と、ノード４００の識別情報「３」とを取得する。そして、試験実行制御部３０１は、識別情報「０」を送信元として、同じく自ノードの識別情報「０」を送信先として組み合わせたり、ノード４００の識別情報「１」を送信元として、同じくノード４００の送信情報「１」を送信先として組み合わせたりしたテーブルを作成する。さらに、試験実行制御部３０１は、テーブル内の送信先に対して序列を与える。例えば、図３に示したテーブルでは、送信先とした識別情報「０」には１番、送信先とした識別情報「１」には２番、送信先とした識別情報「２」には３番、送信先とした識別情報「３」には４番という序列が試験実行制御部３０１によって与えられる。なお、送信元と送信先の組合せに対して、さらに、開始アドレスと転送サイズとを対応付けたテーブルを作成してもよい。
【００１８】
そして、試験実行制御部３０１は、テーブルを作成すると、テーブル記憶部３０２にテーブルを格納するとともに、作成したテーブルをスレーブノードに送信する。このように、本開示の技術では、システム内の全ノードは、データ転送の際、マスタノードであるノード３００によって作成されたテーブルを共通で用いる。
【００１９】
テーブルの送信後、試験実行制御部３０１は、試験の種別に応じて、それぞれ異なる制御パケットをスレーブノードに送信するとともに、試験の種別をデータ送受信部３０３に通知する。制御パケットには、上記した試験の種別に応じて、全パス疎通を指定するもの、全ポート通信を指定するもの、ランダム転送を指定するもの、そして、１ポート集中を指定するものがある。
【００２０】
制御パケットを送信後、試験実行制御部３０１は、いずれの種類の制御パケットを送信した場合でも、各スレーブノードから試験種別を認識した旨を示す制御パケットを受け取る。その際、試験実行制御部３０１は、試験種別を認識した旨を示す制御パケットの受け取りをノードごとにチェックするための同期制御テーブル（図示せず）をメモリ上に確保し、全ノードから制御パケットを受け取ったかを確認する。なお、同期制御テーブルのほかに、試験実行制御部３０１は、試験を制御するための試験制御テーブルとして、ランダム生成用シード値格納領域やデータ転送終了コード格納領域を設定するための排他制御テーブルをメモリ上に確保する。ランダム生成用シード値格納領域は、後述するデータ送受信部３０３が、ランダム転送の試験を実行する際、ランダムな値を取得するために必要なシード値を格納するための領域である。また、データ転送終了コード格納領域は、転送スイッチ部２００から転送されるデータの受信が完了したか否かを管理するための領域である。
【００２１】
そして、試験実行制御部３０１は、全スレーブノードから試験種別を認識した旨を示す制御パケットを受け取ると、データの転送開始を指示する制御パケットを各スレーブノードに送信するとともに、データ送受信部３０３にもデータの転送開始を指示する。このように、試験実行制御部３０１は、各ノードのデータ転送開始が同期するように制御する。
【００２２】
ここで、試験実行制御部３０１は、試験の種別が全パス疎通である場合、および、１ポート集中である場合には、送信先が変わるたびにデータの転送開始の指示を各ノードに行う。つまり、全パス疎通を指定する制御パケットや１ポート集中を指定する制御パケットを受信したスレーブノードは、あるノードへのデータの送信後にデータ転送準備が完了した旨を示す制御パケットをマスタノードに返信するので、その際も、試験実行制御部３０１は、同期制御テーブルを用いて、全ノードから制御パケットを受け取ったかを確認する。そして、試験実行制御部３０１は、全スレーブノードからデータ転送準備が完了した旨を示す制御パケットを受け取ると、次のデータの転送開始を各ノードに指示する。このように、試験実行制御部３０１は、各ノードのデータ転送が、送信先が変わるたび同期するように制御する。一方、試験実行制御部３０１は、一定時間以内に全スレーブノードからデータ転送準備が完了した旨を示す制御パケットを受け取らない場合には、次のデータの転送開始の指示を中断し、試験を終了する。
【００２３】
テーブル記憶部３０２は、試験実行制御部３０１から図３に示すようなテーブルを受け取り記憶する。
【００２４】
データ送受信部３０３は、試験実行制御部３０１によって制御される順番とタイミングでデータを送信する。データの送信について、データ送受信部３０３は、具体的には、試験実行のためにデータ転送領域をメモリ上に確保し、確保したデータ転送領域内の一部を送信データ領域として設定し、試験用のデータを格納する。また、データ送受信部３０３は、試験実行中、他のノードから送信される試験用のデータを受信するために、メモリ上に確保したデータ転送領域内の一部をデータ受信領域として初期化する。以下では、データ送受信部３０３の具体的な動作の説明を試験の種別ごとに分けて、全パス疎通、全ポート通信、１ポート集中、ランダム転送の順に行う。
【００２５】
試験が全パス疎通の場合を説明する。データ送受信部３０３は、試験実行制御部３０１にデータの転送開始を指示されると、識別情報取得部３０４に自ノードの識別情報を取得するよう指示し、自ノードの識別情報を受け取る。そして、データ送受信部３０３は、図４に示すように、テーブル記憶部３０２に格納されたテーブルを参照し、例えば、識別情報「０」を受け取った場合には、送信元である識別情報「０」に対応づけられた送信先、つまり識別情報「０」を選択する。そして、データ送受信部３０３は、選択した識別情報「０」で識別されるノードにデータを送信する。識別情報「０」は、上記したようにノード３００、つまり自ノードの識別情報であるので、データは自ノードへ折り返される。なお、送信元と送信先の組合せに対して、開始アドレスと転送サイズとが対応付けられている場合には、データ送受信部３０３は、識別情報に対応付けられた開始アドレスと転送サイズに基づいてメモリから送信するデータを読み出す。
【００２６】
そして、データ送受信部３０３は、試験実行制御部３０１から次のデータの転送開始を指示されると、テーブル内の送信先の識別情報に与えられた序列に従って、次に識別情報「１」を選択し、選択した識別情報「１」で識別されるノードにデータを送信する（その結果、ノード２００がデータを受信する）。その後も、データ送受信部３０３は、同様に、試験実行制御部３０１からデータの転送開始指示を受ける毎に、序列に従って識別情報「２」を送信先として、あるいは、識別情報「３」を送信先として、データを送信する（その結果、ノード３００やノード４００がデータを受信する）。他のノードにおいても、同様にデータの転送開始の指示を受ける毎にデータの転送が行なわれるため、システム内でデータ転送が同期する。また、データ送受信部３０３は、試験用のデータの送信後にダミーパケットを送信することにより、データ送信先のノードにデータの受信完了を認識させる。つまり、前述の試験実行制御部３０１や後述するノード４００におけるデータ送受信部４０１は、ダミーパケットを受信すると、データ転送終了コード格納領域にダミーパケットを書き込み、試験用のデータの受信が完了したことを認識する。
【００２７】
試験が全ポート通信の場合を説明する。データ送受信部３０３は、試験実行制御部３０１にデータの転送開始を指示されると、識別情報取得部３０４に自ノードの識別情報を取得するよう指示し、自ノードの識別情報を受け取る。そして、データ送受信部３０３は、テーブル記憶部３０２に格納されたテーブルを参照し、識別情報取得部３０４から受け取った識別情報と同じ識別情報（送信元）に対応付けられた識別情報（送信先）を選択し、選択した識別情報で識別されるノードにデータを送信する。ここで、データ送受信部３０３は、全パス疎通の場合と異なり、試験実行制御部３０１から次のデータの転送開始の指示を受けずに、テーブル内で送信先とされた識別情報に与えられた序列に従って、次の識別情報を選択し、選択した識別情報で識別されるノードにデータを送信する。このため、全ポート通信時には、各ノードによるデータ転送は非同期に行なわれる。その後も、データ送受信部３０３は、次の識別情報を選択し、選択した識別情報で識別されるノードに順次データを送信する。
【００２８】
試験が１ポート集中の場合を説明する。データ送受信部３０３は、試験実行制御部３０１にデータの転送開始を指示されると、テーブル記憶部３０２に格納されたテーブルを参照し、テーブル内で送信先とされた識別情報に与えられた序列に従って、まず、１番目の識別情報を選択する。そして、データ送受信部３０３は、選択した識別情報で識別されるノードにデータを送信する。ここで、データ送受信部３０３は、全パス疎通の場合と同様、試験実行制御部３０１から次のデータの転送開始の指示を受けて、序列に従って、次に、２番目の識別情報を選択し、選択した識別情報で識別されるノードにデータを送信する。その後も、データ送受信部３０３は、同様に、データの転送開始の指示を受ける毎に次の識別情報を選択し、選択した識別情報で識別されるノードに順次データを送信する。他のノードにおいても、同様にデータの転送開始の指示を受ける毎にデータの転送が行なわれるため、システム内でデータ転送が同期する。なお、各ノードが持つテーブルは、それぞれ共通であり、送信先の識別情報の順序も共通であることから、テーブル内で先頭の識別情報（送信先）から選択することで、同一ノードに対する集中したデータ転送を実現するようにしてもよい。また、試験が全パス疎通の場合と同様、データ送受信部３０３は、試験用のデータの送信後にダミーパケットを送信することにより、送信先のノードにデータの受信完了を認識させる。つまり、前述の試験実行制御部３０１や後述するノード４００におけるデータ送受信部４０１は、ダミーパケットを受信すると、データ転送終了コード格納領域にダミーパケットを書き込み、試験用のデータの受信が完了したことを認識する。
【００２９】
試験がランダム転送の場合を説明する。データ送受信部３０３は、試験実行制御部３０１にデータの転送開始を指示されると、テーブル記憶部３０２に格納されたテーブルを参照し、テーブル内で送信先とされた識別情報を任意に選択する。そして、データ送受信部３０３は、選択した識別情報で識別されるノードにデータを送信する。ここで、データ送受信部３０３は、全パス疎通の場合と異なり、試験実行制御部３０１から次のデータの転送開始の指示を受けずに、テーブル内でデータ送信未完了の識別情報（送信先）を任意に選択する。そして、データ送受信部３０３は、選択した識別情報で識別されるノードにデータを送信する。他ノードにおいても、同様にデータの転送開始の指示を受けずにデータの転送が行なわれるため、各ノードのデータ転送が非同期になる。その後も、データ送受信部３０３は、次のデータ送信未完了の識別情報（送信先）を任意に選択し、選択した識別情報で識別されるノードに順次データを送信する。なお、データ送信未完了か否かは、例えば、送信先として設定した識別情報をメモリに格納していき、メモリに格納された識別情報以外を選択することで判定するようにしてもよい。
【００３０】
なお、試験がランダム転送の場合、データを一回の送信で送信するのではなく、データを分割し、何回かに分けて送信するようにしてもよい。例えば、図５に示すように、データ送受信部３０３は、テーブル記憶部３０２に格納されたテーブル内で識別情報「０」で識別されるノードに、データを４分割してデータ送信を４回に分けて行なう場合には、送信元の識別情報「０」と送信先の識別情報「０」の組合せを４つ生成して、１度に送信するデータの分量を示すサイズ「１／４」をそれぞれの組合せに対応付けてテーブルを再作成する。データを何回に分けて送信するかは、例えば、試験実行制御部３０１からシード値を受け取り、ランダム関数からデータサイズを複数に分割するなど、テーブル内の組合せごとに任意に決定してよい。そして、データ送受信部３０３は、試験実行制御部３０１にデータの転送開始を指示されると、テーブル記憶部３０２に格納されたテーブルを参照し、識別情報（送信先）を任意に選択する。そして、データ送受信部３０３は、選択した識別情報で識別されるノードに、指定された分量だけデータを送信する。
【００３１】
また、データ送受信部３０３は、転送スイッチ部２００から自ノードに転送されたデータを受信し、実際に受信したデータと、本来受信するべきデータである期待値との比較を行なう。このような期待値は、例えば、ノード３００が備えるメモリ上の所定の領域を用いて、予めデータ送信元となるノードごとに分けて記憶させておく。データ送受信部３０３が受信データを期待値と比較するタイミングは試験の種別によって異なる。全パス疎通の試験の場合には、データ送受信部３０３は、自ノードを含め各ノードから送信されたデータを受信するたびに、受信データと期待値との比較を行なう。全パス疎通試験の場合、データを受信する相手ノードの順番についてはテーブルから判断することができるので、データ送受信部３０３は、データを受信するたびに、現在受信したデータの比較対象となる期待値、つまり、受信データの送信元となる相手ノードに対応した期待値をメモリから読み出して、受信データと期待値とを比較する。
【００３２】
１ポート集中の試験の場合には、データ送受信部３０３は、データを受信するたびに受信データと期待値との比較を行なう。つまり、１ポート集中の場合も、全パス疎通試験の場合と同様に、自ノードがデータを受信する順番についてはテーブルから判断することができるので、データ送受信部３０３は、データを受信した際に、メモリ上の所定の領域に格納された、受信データの送信元に相当するノードに対応した期待値をメモリから読み出して、受信データと期待値とを比較する。
【００３３】
全ポート通信やランダム転送の試験の場合には、データ送受信部３０３は、自ノードを含め各ノードから送信された全てのデータの比較を、個々のノードからのデータ受信完了後に行なう。つまり、全ポート通信やランダム転送の試験の場合には、データ送受信部３０３は、全ノードからデータを受信完了した際に、メモリ上の所定の領域に格納された全期待値を読み出して受信データと比較する。そして、データ送受信部３０３は、比較結果をメモリの所定領域に格納する。このようにすれば、試験結果が正常であるか否かについては、メモリの所定領域に格納された比較結果に基づいて判断することができる。
【００３４】
受信データと期待値との比較の結果、データ送受信部３０３は、全パス疎通や１ポート集中の試験の場合、比較した受信データと期待値とが異なる場合には、例えば試験を中断するなど所定の処理を行なう。なお、表示部にエラーメッセージを表示するようにしてもよい。全ポート通信やランダム転送の試験の場合、データ送受信部３０３は、受信データと期待値との比較に応じて、例えば比較結果を格納するなど所定の処理を行なう。
【００３５】
識別情報取得部３０４は、自ノードの識別情報を取得する。具体的には、識別情報取得部３０４は、データ送受信部３０３から識別情報の取得にかかる指示を受け付けると、例えば、転送スイッチ部２００との通信に使用する通信ポートのポート番号を取得し、データ送受信部３０３に出力する。
【００３６】
次に、スレーブノードであるノード４００〜６００の構成について説明を行う。図６は、ノード４００の構成を示すブロック図である。図６に示すように、ノード４００は、データ送受信部４０１と、テーブル記憶部４０２と、識別情報取得部４０３とを備える。なお、ノード４００をスレーブノードの代表として説明し、他のノード５００〜６００については説明を省略する。
【００３７】
データ送受信部４０１は、マスタノードであるノード３００の試験実行制御部３０１によって制御される順番とタイミングでデータを各ノードに送信する。データ送受信部４０１は、図３に示したテーブルをノード３００から受信し、テーブル記憶部４０２に受信したテーブルを格納する。さらに、データ送受信部４０１は、試験の種別を指定する制御パケットを試験実行制御部３０１から受信する。以下にデータ送受信部４０１の具体的な動作の説明を、制御パケットによって指定される試験ごとに分けて、全パス疎通が指定された場合、全ポート通信が指定された場合、１ポート集中が指定された場合、ランダム転送が指定された場合の順に行なう。
【００３８】
全パス疎通が指定された場合を説明する。データ送受信部４０１は、ノード３００から受信した制御パケットによって全パス疎通が指定されると、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する。その後、データ送受信部４０１は、ノード３００から転送開始を指示する制御パケットを受信するので、制御パケットを受信したタイミングで識別情報取得部４０３に自ノードの識別情報を取得するよう指示し、自ノードの識別情報を識別情報取得部４０３から受け取る。そして、データ送受信部４０１は、図４に示すように、テーブル記憶部４０２に格納されたテーブルを参照し、例えば、識別情報「１」を受け取った場合には、送信元である識別情報「１」に対応付けられた送信先、つまり識別情報「１」を選択する。そして、データ送受信部４０１は、選択した識別情報「１」で識別されるノードにデータを送信する。識別情報「１」は、上記したようにノード４００、つまり自ノードの識別情報であるので、この場合、データは自ノードへ折り返される。
【００３９】
また、データ送受信部４０１は、全パス疎通の試験の際、自ノードを含め各ノードから送信されたデータを受信するたびに、受信データと期待値との比較を行なう。受信データと期待値との比較を行なった後、データ送受信部４０１は、データ転送準備が完了した旨を示す制御パケットをノード３００に送信する。その後、データ送受信部４０１は、ノード３００から転送開始を指示する制御パケットを受信するので、制御パケットを受信したタイミングで、テーブル内で送信先とされた識別情報に与えられた序列に従って、次の識別情報を選択する。例えば、データ送受信部４０１は、上記したように、図４に示したテーブル内で送信先とされた識別情報「１」を選択した後、次は識別情報「２」を選択し、選択した識別情報「２」で識別されるノードにデータを送信する。その後、データ送受信部４０１は、識別情報「１」や「２」の場合と同様に、選択した識別情報で識別されるノードにデータを順次送信する。また、データ送受信部４０１は、試験用のデータの送信後にダミーパケットを送信することにより、送信先のノードにデータの受信完了を認識させる。
【００４０】
全ポート通信が指定された場合のデータ送受信部４０１の動作については、受信データと期待値とを比較するタイミングが各々のデータを受信するたびではなく、全てのノードからデータを受信した後になる。また、比較結果についてはメモリの所定領域に格納される。このようにすれば、試験結果が正常であるか否かについては、メモリの所定領域に格納された比較結果に基づいて判断することができる。その他の動作は全パス疎通が指定された場合と同様であるので説明を省略する。
【００４１】
１ポート集中が指定された場合を説明する。データ送受信部４０１は、ノード３００から受信した制御パケットによって１ポート集中が指定されると、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する。その後、データ送受信部４０１は、ノード３００から転送開始を指示する制御パケットを受信するので、制御パケットを受信したタイミングでテーブル記憶部４０２を参照し、テーブルに設定された送信先の識別情報に与えられた序列に従って、１番目の識別情報を選択する。そして、データ送受信部４０１は、選択した識別情報で識別されるノードにデータを送信する。
【００４２】
１ポート集中の試験では、各ノードから一つのノードに対してデータが集中的に送信されるので、データ送受信部４０１は、各ノードからデータを受信したときのみ受信データと期待値との比較を行なう。データの送信、あるいはデータの比較を行った後、データ送受信部４０１は、データ転送準備が完了した旨を示す制御パケットをノード３００に送信する。その後、データ送受信部４０１は、ノード３００から転送開始を指示する制御パケットを受信するので、テーブル内で送信先とされた識別情報に与えられた序列に従って、２番目の識別情報を選択する。そして、データ送受信部４０１は、選択した識別情報で識別されるノードにデータを送信する。以後、データ送受信部４０１は、同様に識別情報を選択し、選択した識別情報で識別されるノードにデータを順次送信する。また、試験が全パス疎通の場合と同様、データ送受信部４０１は、試験用のデータの送信後にダミーパケットを送信することにより、送信先のノードにデータの受信完了を認識させる。
【００４３】
ランダム転送が指定された場合を説明する。データ送受信部４０１は、ノード３００から受信した制御パケットによってランダム転送が指定されると、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する。その後、データ送受信部４０１は、ノード３００から転送開始を指示する制御パケットを受信するので、制御パケットを受信したタイミングでテーブル記憶部４０２を参照し、識別情報（送信先）を任意に選択し、選択した識別情報で識別されるノードにデータを送信する。その後も、データ送受信部４０１は、識別情報（送信先）を任意に順次選択し、選択した識別情報で識別されるノードにデータを順次送信する。テーブル内で送信先とされた全ての識別情報を選択してデータを送信した後、データ送受信部４０１は、受信したデータと期待値との比較を行なう。そして、データ送受信部４０１は、比較結果をメモリの所定領域に格納する。このようにすれば、試験結果が正常であるか否かについては、メモリの所定領域に格納された比較結果に基づいて判断することができる。
【００４４】
テーブル記憶部４０２は、データ送受信部４０１から図３に示すようなテーブルを受け取り記憶する。
【００４５】
識別情報取得部４０３は、自ノードの識別情報を取得する。具体的には、識別情報取得部４０３は、データ送受信部４０１から識別情報の取得にかかる指示を受け付けると、例えば、転送スイッチ部２００との通信に使用する通信ポートのポート番号を取得し、データ送受信部４０１に出力する。
【００４６】
次に、マスタノードであるノード３００による処理の流れを説明する。図７は、ノード３００による処理の流れを示すフローチャートである。図７に示す処理フローは、ネットワークシステムの作動中に繰り返し実行される。
【００４７】
図７に示すように、まず、ノード３００は、ホストコンピュータなどからコマンドを受け取ることにより、試験の種別を指示されると（ステップＳ１０１肯定）、ネットワークシステム１００の構成情報を取得し（ステップＳ１０２）、送信元と送信先の組合せを作成する（ステップＳ１０３）。そして、ノード３００は、作成した組合せをスレーブノードであるノード４００〜６００に送信する（ステップＳ１０４）。
【００４８】
そして、ノード３００は、試験の種別が全パス疎通である場合には（ステップＳ１０５肯定）、全パス疎通の試験に関する処理を行なう（ステップＳ２００）。一方、ノード３００は、試験の種別が全ポート通信である場合には（ステップＳ１０５否定かつステップＳ１０６肯定）、全ポート通信の試験に関する処理を行なう（ステップＳ３００）。一方、ノード３００は、試験の種別が１ポート集中である場合には（ステップＳ１０５否定かつステップＳ１０６否定かつステップＳ１０７肯定）、１ポート集中の試験に関する処理を行なう（ステップＳ４００）。一方、ノード３００は、試験の種別がランダム転送である場合には（ステップＳ１０５否定かつステップＳ１０６否定かつステップＳ１０７否定）、ランダム転送の試験に関する処理を行なう（ステップＳ５００）。そして、ノード３００は、Ｓ２００、Ｓ３００、Ｓ４００あるいはＳ５００の処理が終了すると、図７の処理を終了する。
【００４９】
次に、図８を用いて、図７にステップＳ２００として示したノード３００による全パス疎通の試験に関する処理を説明する。図８は、ノード３００による全パス疎通の試験に関する処理の流れを示すフローチャートである。
【００５０】
図８に示すように、まず、ノード３００において試験実行制御部３０１は、全パス疎通を指定する制御パケットをスレーブノードであるノード４００〜６００に送信する（ステップＳ２０１）。そして、試験実行制御部３０１は、ノード４００〜６００全てから試験種別を認識した旨を示す制御パケットを受け取ると（ステップＳ２０２肯定）、データの転送開始を指示する制御パケットをノード４００〜６００に送信する（ステップＳ２０３）。
【００５１】
そして、データ送受信部３０３は、識別情報取得部３０４によって自ノードの識別情報を取得し（ステップＳ２０４）、テーブル記憶部３０２に格納されたテーブル内で、取得した識別情報（送信元）対応する識別情報（送信先）を選択し（ステップＳ２０５）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ２０６）。全パス疎通の試験の場合、データ送信後に転送スイッチ部２００からデータが自ノード宛てに転送されるため、データ送受信部３０３は、転送スイッチ部２００から受け取ったデータを自身が保持する期待値と比較する（ステップＳ２０７）。比較の結果、データ送受信部３０３は、受信データと期待値が一致しない場合には（ステップＳ２０８否定）、試験を中断し（ステップＳ２１３）、処理を終了する。
【００５２】
一方、データ送受信部３０３による比較の結果、受信データと期待値が一致し（ステップＳ２０８肯定）、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ２０９否定）、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受信するまで待機する（ステップＳ２１０）。そして、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受け取ると（ステップＳ２１０肯定）、次の転送開始を指示する制御パケットをノード４００〜６００に送信する（ステップＳ２１１）。一方、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受け取らない場合には（ステップＳ２１０否定）、試験を中断し（ステップＳ２１３）、処理を終了する。
【００５３】
試験実行制御部３０１により、次の転送開始を指示する制御パケットが送信された後、データ送受信部３０３は、テーブル内で送信先とされた識別情報に与えられた順序に従って次の識別情報を選択し（ステップＳ２１２）、ステップＳ２０６として示した処理に戻る。
【００５４】
ステップＳ２０６〜ステップＳ２１２の処理は、テーブル内の全ての送信先にデータが送信されるまで繰り返される。試験実行制御部３０１は、データ送受信部３０３によって全ての送信先にデータが送信されると（ステップＳ２０９肯定）、全パス疎通の試験に関する処理を終了する。なお、データの受信処理に関しては適宜行なわれるものであり、図８の処理フロー中では省略する。
【００５５】
次に、図９を用いて、図７にステップＳ３００として示したノード３００による全ポート通信の試験に関する処理を説明する。図９は、ノード３００による全ポート通信の試験に関する処理の流れを示すフローチャートである。
【００５６】
図９に示すように、まず、ノード３００において試験実行制御部３０１は、全ポート通信を指定する制御パケットをスレーブノードであるノード４００〜６００に送信する（ステップＳ３０１）。そして、試験実行制御部３０１は、ノード４００〜６００全てから試験種別を認識した旨を示す制御パケットを受け取ると（ステップＳ３０２肯定）、転送開始を指示する制御パケットをノード４００〜６００に送信する（ステップＳ３０３）。
【００５７】
そして、データ送受信部３０３は、識別情報取得部３０４によって自ノードの識別情報を取得し（ステップＳ３０４）、テーブル記憶部３０２に格納されたテーブル内で、取得した識別情報（送信元）対応する識別情報（送信先）を選択し（ステップＳ３０５）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ３０６）。データ送受信部３０３は、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ３０７否定）、テーブル内の送信先に与えられた順序に従って次の識別情報を選択し（ステップＳ３０８）、ステップＳ３０６として示した処理に戻る。そして、データ送受信部３０３は、全ての送信先にデータを送信した後（ステップＳ３０７肯定）、受け取ったデータを期待値と比較し、比較結果を格納して（ステップＳ３０９）処理を終了する。なお、データの受信処理に関しては適宜行なわれるものであり、図９の処理フロー中では省略する。
【００５８】
次に、図１０を用いて、図７にステップＳ４００として示したノード３００による１ポート集中の試験に関する処理を説明する。図１０は、ノード３００による１ポート集中の試験に関する処理の流れを示すフローチャートである。
【００５９】
図１０に示すように、まず、ノード３００において試験実行制御部３０１は、１ポート集中を指定する制御パケットをスレーブノードであるノード４００〜６００に送信する（ステップＳ４０１）。そして、試験実行制御部３０１は、ノード４００〜６００全てから試験種別を認識した旨を示す制御パケットを受け取ると（ステップＳ４０２肯定）、転送開始を指示する制御パケットをノード４００〜６００に送信する（ステップＳ４０３）。
【００６０】
そして、データ送受信部３０３は、テーブル記憶部３０２に格納されたテーブル内で送信先とされた識別情報に与えられた順序どおり、テーブルの１番目の識別情報（送信先）を選択し（ステップＳ４０４）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ４０５）。１ポート集中の試験では、各ノードにおいて、テーブルに設定された送信先の順序が全て同じであるため、一つのノードに対してデータが集中的に送信され、データ送受信部３０３は、データを受信した場合にのみ（ステップＳ４０６肯定）、受信データを期待値と比較する（ステップＳ４０７）。比較の結果、データ送受信部３０３は、受信データと期待値が一致しない場合には（ステップＳ４０８否定）、試験を中断し（ステップＳ４１３）、処理を終了する。
【００６１】
一方、データ送受信部３０３による比較の結果、受信データと期待値が一致し（ステップＳ４０８肯定）、テーブル内の全ての送信先にデータを送信していない場合（ステップＳ４０９否定）、もしくは、データ送受信部３０３によるデータ送信後に（ステップＳ４０５）データを受信しておらず（ステップＳ４０６否定）、かつ、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ４０９否定）、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受信するまで待機する（ステップＳ４１０）。そして、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受け取ると（ステップＳ４１０肯定）、次の転送開始を指示する制御パケットをスレーブノードであるノード４００〜６００に送信する（ステップＳ４１１）。一方、試験実行制御部３０１は、ノード４００〜６００全てからデータ転送準備が完了した旨を示す制御パケットを受け取らない場合には（ステップＳ４１０否定）、試験を中断し（ステップＳ４１３）、処理を終了する。
【００６２】
試験実行制御部３０１により、次の転送開始を指示する制御パケットが送信された後、データ送受信部３０３は、テーブル内で送信先とされた識別情報に与えられた順序に従って次の識別情報を選択し（ステップＳ４１２）、ステップＳ４０５として示した処理に戻る。
【００６３】
ステップＳ４０５〜ステップＳ４１２の処理は、テーブル内の全ての送信先にデータが送信されるまで繰り返される。試験実行制御部３０１は、データ送受信部３０３によって全ての送信先にデータが送信されると（ステップＳ４０９肯定）、１ポート集中の試験に関する処理を終了する。なお、データの受信処理に関しては適宜行なわれるものであり、図１０の処理フロー中では省略する。
【００６４】
次に、図１１を用いて、図７にステップＳ５００として示したノード３００によるランダム転送の試験に関する処理を説明する。図１１は、ノード３００によるランダム転送の試験に関する処理の流れを示すフローチャートである。
【００６５】
図１１に示すように、まず、ノード３００において試験実行制御部３０１は、ランダム転送を指定する制御パケットをスレーブノードであるノード４００〜６００に送信する（ステップＳ５０１）。そして、試験実行制御部３０１は、ノード４００〜６００全てから試験種別を認識した旨を示す制御パケットを受け取ると（ステップＳ５０２肯定）、転送開始を指示する制御パケットをノード４００〜６００に送信する（ステップＳ５０３）。
【００６６】
そして、データ送受信部３０３は、テーブル記憶部３０２に格納されたテーブル内で送信先とされた識別情報から任意に識別情報を選択し（ステップＳ５０４）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ５０５）。データ送受信部３０３は、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ５０６否定）、テーブル内で未選択の識別情報を任意に選択し（ステップＳ５０７）、ステップＳ５０５として示した処理に戻る。そして、データ送受信部３０３は、全ての送信先にデータを送信した後（ステップＳ５０６肯定）、受け取ったデータを期待値と比較し、比較結果を格納して（ステップＳ５０８）処理を終了する。なお、データの受信処理に関しては適宜行なわれるものであり、図１１の処理フロー中では省略する。
【００６７】
次に、スレーブノードであるノード４００による処理の流れを説明する。図１２は、ノード４００による処理の流れを示すフローチャートである。図１２に示す処理フローは、ネットワークシステムの作動中に繰り返し実行される。
【００６８】
図１２に示すように、まず、ノード４００においてデータ送受信部４０１は、マスタノードであるノード３００から送信元と送信先の組合せを受け取る（ステップＳ６０１）。そして、データ送受信部４０１は、試験の種別を指定する制御パケットをノード３００から受け取る（ステップＳ６０２）。
【００６９】
そして、ノード４００は、ノード３００から受信した制御パケットが全パス疎通を指定する制御パケットである場合には（ステップＳ６０３肯定）、全パス疎通の試験に関する処理を行なう（ステップＳ７００）。一方、ノード４００は、ノード３００から受信した制御パケットが全ポート通信を指定する制御パケットである場合には（ステップＳ６０３否定かつステップＳ６０４肯定）、全ポート通信の試験に関する処理を行なう（ステップＳ８００）。一方、ノード４００は、ノード３００から受信した制御パケットが１ポート集中を指定する制御パケットである場合には（ステップＳ６０３否定かつステップＳ６０４否定かつステップＳ６０５肯定）、１ポート集中の試験に関する処理を行なう（ステップＳ９００）。一方、ノード４００は、ノード３００から受信した制御パケットがランダム転送を指定する制御パケットである場合には（ステップＳ６０３否定かつステップＳ６０４否定かつステップＳ６０５否定）、ランダム転送の試験に関する処理を行なう（ステップＳ１０００）。そして、ノード４００は、、Ｓ７００、Ｓ８００、Ｓ９００あるいはＳ１０００の処理を終了すると、図１２の処理を終了する。
【００７０】
次に、図１３を用いて、図１２にステップＳ７００として示したノード４００による全パス疎通の試験に関する処理を説明する。図１３は、ノード４００による全パス疎通の試験に関する処理の流れを示すフローチャートである。
【００７１】
図１３に示すように、まず、ノード４００においてデータ送受信部４０１は、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する（ステップＳ７０１）。その後、データ送受信部４０１は、転送開始を指示する制御パケットをノード３００から受け取る（ステップＳ７０２）。
【００７２】
そして、データ送受信部４０１は、識別情報取得部４０３によって自ノードの識別情報を取得し（ステップＳ７０３）、テーブル記憶部４０２に格納されたテーブル内で、取得した識別情報（送信元）対応する識別情報（送信先）を選択し（ステップＳ７０４）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ７０５）。全パス疎通の試験の場合、データ送信後に転送スイッチ部２００からデータが自ノード宛てに転送されるため、データ送受信部４０１は、転送スイッチ部２００から受け取ったデータを自身が保持する期待値と比較する（ステップＳ７０６）。比較の結果、データ送受信部４０１は、受信データと期待値が一致しない場合には（ステップＳ７０７否定）、試験を中断し（ステップＳ７１２）、処理を終了する。
【００７３】
一方、データ送受信部４０１は、比較の結果、受信データと期待値が一致し（ステップＳ７０７肯定）、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ７０８否定）、データ転送準備が完了した旨を示す制御パケットをノード３００に送信する（ステップＳ７０９）。その後、データ送受信部４０１は、次の転送開始を指示する制御パケットをマスタノードであるノード３００から受け取り（ステップＳ７１０）、テーブル内で送信先とされた識別情報に与えられた順序に従って次の識別情報を選択し（ステップＳ７１１）、ステップＳ７０５として示した処理に戻る。
【００７４】
ステップＳ７０５〜ステップＳ７１１の処理は、テーブル内の全ての送信先にデータが送信されるまで繰り返される。データ送受信部４０１は、全ての送信先にデータを送信すると（ステップＳ７０８肯定）、全パス疎通の試験に関する処理を終了する。
【００７５】
次に、図１４を用いて、図１２にステップＳ８００として示したノード４００による全ポート通信の試験に関する処理を説明する。図１４は、ノード４００による全ポート通信の試験に関する処理の流れを示すフローチャートである。
【００７６】
図１４に示すように、まず、ノード４００においてデータ送受信部４０１は、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する（ステップＳ８０１）。その後、データ送受信部４０１は、転送開始を指示する制御パケットをノード３００から受け取る（ステップＳ８０２）。
【００７７】
そして、データ送受信部４０１は、識別情報取得部４０３によって自ノードの識別情報を取得し（ステップＳ８０３）、テーブル記憶部４０２に格納されたテーブル内で、取得した識別情報（送信元）対応する識別情報（送信先）を選択し（ステップＳ８０４）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ８０５）。データ送受信部４０１は、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ８０６否定）、テーブル内で送信先とされた識別情報に与えられた順序に従って次の識別情報を選択し（ステップＳ８０７）、ステップＳ８０５として示した処理に戻る。そして、データ送受信部４０１は、全ての送信先にデータを送信すると（ステップＳ８０６肯定）、受け取ったデータを期待値と比較し、比較結果を格納して（ステップＳ８０８）処理を終了する。
【００７８】
次に、図１５を用いて、図１２にステップＳ９００として示したノード４００による１ポート集中の試験に関する処理を説明する。図１５は、ノード４００による１ポート集中の試験に関する処理の流れを示すフローチャートである。
【００７９】
図１５に示すように、まず、ノード４００においてデータ送受信部４０１は、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する（ステップＳ９０１）。その後、データ送受信部４０１は、転送開始を指示する制御パケットをノード３００から受け取る（ステップＳ９０２）。
【００８０】
そして、データ送受信部４０１は、テーブル記憶部４０２に格納されたテーブル内で送信先とされた識別情報に与えられた順序どおり、テーブルの１番目の識別情報（送信先）を選択し（ステップＳ９０３）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ９０４）。１ポート集中の試験では、各ノードにおいて、テーブルに設定された送信先の順序が全て同じであるため、一つのノードに対してデータが集中的に送信され、データ送受信部４０１は、データを受信した場合にのみ（ステップＳ９０５肯定）、受信データを期待値と比較する（ステップＳ９０６）。比較の結果、データ送受信部４０１は、受信データと期待値が一致しない場合には（ステップＳ９０７否定）、試験を中断し（ステップＳ９１２）、処理を終了する。
【００８１】
一方、データ送受信部４０１は、比較の結果、受信データと期待値が一致し（ステップＳ９０７肯定）、テーブル内の全ての送信先にデータを送信していない場合（ステップＳ９０８否定）、もしくは、データ送信後に（ステップＳ９０４）、データを受信しておらず（ステップＳ９０５否定）、かつ、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ９０８否定）、データ転送準備が完了した旨を示す制御パケットをノード３００に送信する（ステップＳ９０９）。その後、データ送受信部４０１は、転送開始を指示する制御パケットをノード３００から受け取る（ステップＳ９１０）。制御パケットを受け取ると、データ送受信部４０１は、テーブル内で送信先とされた識別情報に与えられた順序に従って次の識別情報を選択し（ステップＳ９１１）、ステップＳ９０４として示した処理に戻る。
【００８２】
ステップＳ９０４〜ステップＳ９１１の処理は、テーブル内の全ての送信先にデータが送信されるまで繰り返される。データ送受信部４０１は、全ての送信先にデータを送信すると（ステップＳ９０８肯定）、１ポート集中の試験に関する処理を終了する。
【００８３】
次に、図１６を用いて、図１２にステップＳ１０００として示したノード４００によるランダム転送の試験に関する処理を説明する。図１６は、ノード４００によるランダム転送の試験に関する処理の流れを示すフローチャートである。
【００８４】
図１６に示すように、まず、ノード４００においてデータ送受信部４０１は、試験種別を認識した旨を示す制御パケットをマスタノードであるノード３００に送信する（ステップＳ１００１）。その後、データ送受信部４０１は、転送開始を指示する制御パケットをノード３００から受け取る（ステップＳ１００２）。
【００８５】
そして、データ送受信部４０１は、テーブル記憶部４０２に格納されたテーブル内で送信先とされた識別情報から任意の識別情報を選択し（ステップＳ１００３）、選択した識別情報で識別されるノードにデータを送信する（ステップＳ１００４）。データ送受信部４０１は、テーブル内の全ての送信先にデータを送信していない場合には（ステップＳ１００５否定）、テーブル内で未選択の識別情報を任意に選択し（ステップＳ１００６）、ステップＳ１００４として示した処理に戻る。そして、データ送受信部４０１は、全ての送信先にデータを送信した後（ステップＳ１００５肯定）、受け取ったデータを期待値と比較し、比較結果を格納して（ステップＳ１００７）処理を終了する。
【００８６】
上述してきたように、本実施例に係るネットワークシステム１００によれば、マスタノードであるノード３００に、自ノードを含め各ノードが全ノードそれぞれにデータを送信する際の順番とタイミングを制御させるものとした。こうすることによって、送信先を決定するための経路一覧表を一つ一つのノードに固定のデータとして記憶させる必要がなくなるので、各ノードに同一のプログラムを実行させてシステムの試験を行なうことが可能となる。また、ネットワークシステム１００にノードの追加や削除があった場合でも、ノード３００が再度各ノードの識別情報を取得すればよいので、ノードごとにそれぞれ４つの異なる経路一覧表を再作成するなどの手間を省くことができる。
【００８７】
なお、図２や図６に示した本実施例に係るノード３００やノード４００の構成は、本発明の要旨を逸脱しない範囲で種々に変更できる。例えば、ノード３００が備える試験実行制御部３０１と、データ送受信部３０３と、識別情報取得部３０４の機能をソフトウェアとして実装し、これをＣＰＵ（Central  Processing  Unit）で実行して、ノード３００と同等の機能を実現できる。以下に、ノード３００が備える試験実行制御部３０１と、データ送受信部３０３と、識別情報取得部３０４の機能をソフトウェアとして実装したシステム試験プログラムを実行するコンピュータの一例を示す。なお、システム試験プログラムには、ノード４００が備える、データ送受信部４０１と、識別情報取得部４０３の機能もソフトウェアとして実装される。
【００８８】
図１７は、システム試験プログラム５４１を実行するコンピュータ５００を示す機能ブロック図である。このコンピュータ５００は、各種演算処理を実行するＣＰＵ５１０と、ネットワークを介して他のコンピュータとの間でデータの授受を行なうネットワークインターフェース装置５２０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）５３０と、ＲＯＭ５４０とをバス５５０で接続して構成される。
【００８９】
そして、ＲＯＭ５４０には、図２に示した試験実行制御部３０１と、データ送受信部３０３と、識別情報取得部３０４と同様の機能を有するシステム試験プログラム５４１が記憶される。
【００９０】
そして、ＣＰＵ５１０がシステム試験プログラム５４１をＲＯＭ５４０から読み出してＲＡＭ５３０に展開すると、システム試験プログラム５４１は、システム試験プロセス５３１として機能するようになる。そして、システム試験プロセス５３１は、各種処理で生成された情報等を適宜ＲＡＭ５３０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【００９１】
なお、上記のシステム試験プログラム５４１は、必ずしもＲＯＭ５４０に格納されている必要はなく、メモリーカード等の記憶媒体に記憶されたこのプログラムを、コンピュータ５００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ５００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ５００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９２】
なお、上記の実施例では、試験実行制御部３０１が、テーブル内で送信先とした識別情報に与えられた序列で送信先を決定するものとして説明したが、本開示の技術は、これに限定されるものではなく、送信元の識別情報のテーブルと、送信先の識別情報のテーブルとが個別に作成され、各テーブルの対応付けを変更して送信先を決定するようにしてもよい。以下では、図１８〜図２１を用いて、その場合の各ノードの具体的な処理動作を説明する。
【００９３】
図１８に示すように、ノード３００における試験実行制御部３０１は、転送スイッチ部２００に接続されるノード３００〜６００、つまり自ノードを含めた各ノードの識別情報を取得すると、識別情報が送信元として設定されたテーブル、および、識別情報が送信先として設定されたテーブルをそれぞれ作成する。そして、試験実行制御部３０１は、各テーブルをテーブル記憶部３０２にテーブルを格納するとともに、スレーブノードに送信する。このようなテーブルが作成された場合の、ノード３００におけるデータ送受信部３０３やノード４００におけるデータ送受信部４０１の具体的な動作を試験の種別ごとに分けて、以下に、全パス疎通、全ポート通信、１ポート集中、ランダム転送の順に説明する。
【００９４】
試験が全パス疎通、または、全ポート通信の場合を説明する。ノード３００におけるデータ送受信部３０３は、上記の実施例と同様、試験実行制御部３０１にデータの転送開始を指示されると、識別情報取得部３０４に自ノードの識別情報を取得するよう指示し、自ノードの識別情報を受け取る。そして、データ送受信部３０３は、図１９に示すように、テーブル記憶部３０２に格納された各テーブルを参照し、例えば、識別情報「０」を受け取った場合には、送信先が設定されたテーブル内の識別情報のうち、送信元が設定されたテーブル内の識別情報「０」（自ノードの識別情報）に対応する識別情報「０」を選択する。選択後の処理については上記の実施例と同様であるので説明を省略する。
【００９５】
次回の識別情報を選択時には、データ送受信部３０３は、図１８に示すように、送信先が設定されたテーブル内の識別情報をシフトすることで、各テーブル内の識別情報の対応関係を組み替え、送信先が設定されたテーブル内において、送信元が設定されたテーブル内の識別情報「０」（自ノードの識別情報）に対応する識別情報「１」を選択する。その後も、データ送受信部３０３は、図１８に示すように、識別情報の対応関係を組み替え、全ての識別情報を選択する。なお、他のノードにおけるデータ送受信部の処理動作については、データ送受信部３０３と同様であるので、説明を省略する。
【００９６】
試験が１ポート集中の場合を説明する。各ノードにおけるデータ送受信部は、試験実行制御部３０１にデータの転送開始を指示されると、自ノードの識別情報を取得する。そして、ノード３００におけるデータ送受信部３０３は、図２０に示すように、テーブル記憶部３０２に格納された各テーブルを参照し、例えば、識別情報「０」を受け取った場合には、送信先が設定されたテーブル内の識別情報「０」が、送信元が設定されたテーブル内の識別情報「０」（自ノードの識別情報）に対応するまで識別情報の対応関係を組み替える。なお、図２０では、識別情報の対応関係を組み替える必要はなく、最初のデータ転送開始時には、各テーブルはテーブル記憶部３０２に格納されたままの状態が維持される。
【００９７】
一方、ノード４００におけるデータ送受信部４０１は、図２０に示すように、テーブル記憶部４０２に格納された各テーブルを参照し、例えば、識別情報「１」を受け取った場合には、送信先が設定されたテーブル内の識別情報「０」が、送信元が設定されたテーブル内の識別情報「１」（自ノードの識別情報）に対応するまで識別情報の対応関係を組み替える。ノード５００やノード６００におけるデータ送受信も、テーブル記憶部に格納された各テーブルに対し、同様の組み替え処理を行なう。
【００９８】
そして、その後の識別情報の選択時には、各ノードのデータ送受信部は、全パス疎通や前ポート通信の試験と同様、図２０に示すように、送信先が設定されたテーブル内の識別情報をシフトすることで、各テーブル内の識別情報の対応関係を組み替え、送信先が設定されたテーブル内における識別情報のうち、送信元が設定されたテーブル内の自ノードの識別情報に対応する識別情報を選択していく。
【００９９】
試験がランダム転送の場合を説明する。ノード３００におけるデータ送受信部３０３は、上記の実施例と同様、試験実行制御部３０１にデータの転送開始を指示されると、識別情報取得部３０４に自ノードの識別情報を取得するよう指示し、自ノードの識別情報を受け取る。そして、データ送受信部３０３は、図２１に示すように、テーブル記憶部３０２に格納され、送信先が設定されたテーブル内の識別情報をシャッフルする。そして、データ送受信部３０３は、テーブル記憶部３０２に格納された各テーブルを参照し、例えば、識別情報「０」を受け取った場合には、送信先が設定されたテーブル内の識別情報のうち、送信元が設定されたテーブル内の識別情報「０」（自ノードの識別情報）に対応する識別情報「１」を選択する。
【０１００】
次回の識別情報を選択時には、データ送受信部３０３は、全パス疎通や前ポート通信の試験と同様、図２１に示すように、送信先が設定されたテーブル内の識別情報をシフトすることで、各テーブル内の識別情報の対応関係を組み替え、送信先が設定されたテーブル内において、送信元が設定されたテーブル内の識別情報「０」（自ノードの識別情報）に対応する識別情報「０」を選択する。その後も、データ送受信部３０３は、図２１に示すように、識別情報の対応関係を組み替え、全ての識別情報を選択する。なお、他のノードにおけるデータ送受信部の処理動作については、データ送受信部３０３と同様であるので、説明を省略する。
【図面の簡単な説明】
【０１０１】
【図１】本実施例に係るネットワークシステムの構成を示す図である。
【図２】ノード３００の構成を示すブロック図である。
【図３】マスタノードが作成するテーブルの具体例を示す図である。
【図４】送信先の識別情報の選択について説明するための図である。
【図５】ランダム転送の他の例を説明するための図である。
【図６】ノード４００の構成を示すブロック図である。
【図７】ノード３００による処理の流れを示すフローチャートである。
【図８】ノード３００による全パス疎通の試験に関する処理の流れを示すフローチャートである。
【図９】ノード３００による全ポート通信の試験に関する処理の流れを示すフローチャートである。
【図１０】ノード３００による１ポート集中の試験に関する処理の流れを示すフローチャートである。
【図１１】ノード３００によるランダム転送の試験に関する処理の流れを示すフローチャートである。
【図１２】スレーブノードによる処理の流れを示すフローチャートである。
【図１３】ノード４００による全パス疎通の試験に関する処理の流れを示すフローチャートである。
【図１４】ノード４００による全ポート通信の試験に関する処理の流れを示すフローチャートである。
【図１５】ノード４００による１ポート集中の試験に関する処理の流れを示すフローチャートである。
【図１６】ノード４００によるランダム転送の試験に関する処理の流れを示すフローチャートである。
【図１７】システム試験プログラムを実行するコンピュータを示す図である。
【図１８】マスタノードが作成するテーブルの具体例を示す図である。
【図１９】全パス疎通の試験に関する送信先の識別情報の選択について説明するための図である。
【図２０】１ポート集中の試験に関する送信先の識別情報の選択について説明するための図である。
【図２１】ランダム転送の試験に関する送信先の識別情報の選択について説明するための図である。
【符号の説明】
【０１０２】
１００  ネットワークシステム
２００  転送スイッチ部
３００、４００、５００、６００  ノード
３０１  試験実行制御部
３０２  テーブル記憶部
３０３  データ送受信部
３０４  識別情報取得部
４０１  データ送受信部
４０２  テーブル記憶部
４０３  識別情報取得部
【図１】
2010066933.tif 000003
【図２】
2010066933.tif 000004
【図３】
2010066933.tif 000005
【図４】
2010066933.tif 000006
【図５】
2010066933.tif 000007
【図６】
2010066933.tif 000008
【図７】
2010066933.tif 000009
【図８】
2010066933.tif 000010
【図９】
2010066933.tif 000011
【図１０】
2010066933.tif 000012
【図１１】
2010066933.tif 000013
【図１２】
2010066933.tif 000014
【図１３】
2010066933.tif 000015
【図１４】
2010066933.tif 000016
【図１５】
2010066933.tif 000017
【図１６】
2010066933.tif 000018
【図１７】
2010066933.tif 000019
【図１８】
2010066933.tif 000020
【図１９】
2010066933.tif 000021
【図２０】
2010066933.tif 000022
【図２１】
2010066933.tif 000023