互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態を記憶する第1記憶部と、データを入出力する入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態を、前記入出力処理装置の識別情報に対応付けて記憶する第2記憶部と、前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する受信部と、前記受信部が受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、前記選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、前記第1記憶部が記憶する通信状態と前記第2記憶部が記憶する通信状態とに基づいて前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定する特定部と、前記特定部が特定した情報処理装置あるいは入出力装置を識別する識別子を、前記転送要求を発した情報処理装置に送信する送信部とを有することを特徴とする管理装置。前記管理装置において、前記特定部は、転送要求先の入出力装置にデータを入出力する入出力処理装置または前記入出力装置と前記入出力処理装置との間の接続に異常が生じた場合、前記転送要求先の入出力装置にデータを入出力する他の入出力処理装置があるか否かを判定し、前記他の入出力処理装置があると判定したとき、当該入出力装置に対応付けて前記第2記憶部に記憶された前記入出力処理装置の識別情報を前記他の入出力処理装置の識別情報に更新して前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、データ転送先の情報処理装置あるいは入出力処理装置を特定することを特徴とする請求項1記載の管理装置。前記管理装置はさらに、前記受信部が、いずれかの情報処理装置から、その情報処理装置に隣接する他の情報処理装置または入出力処理装置との間の通信状態又は前記入出力装置との通信状態が変更されたことを示す情報を受信した場合、前記第1記憶部が記憶する通信状態及び前記第2記憶部が記憶する通信状態を更新する更新部を有することを特徴とする請求項1または2記載の管理装置。前記管理装置において、前記特定部は、前記受信部が転送要求を受信した場合、前記第1記憶部と前記第2記憶部とが記憶する通信状態に基づいて転送要求先の入出力装置との間の通信経路のうち最短の通信経路を選択し、選択した最短通信経路に基づいて、データ転送先の情報処理装置を特定することを特徴とする請求項1記載の管理装置。他の情報処理装置と管理装置に接続する情報処理装置において、接続された他の情報処理装置との通信状態を監視し、監視した通信状態を前記管理装置に通知する通知部と、データを入出力する入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を前記管理装置に送信する送信部と、前記送信部が送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置の識別子を前記管理装置から受信する受信部と、前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置に前記データを転送する転送部とを有することを特徴とする情報処理装置。前記情報処理装置において、前記送信部は、転送対象のデータの識別子と自装置の識別子と前記入出力装置の識別子とを含んだ転送要求を、前記管理装置に送信することを特徴とする請求項5記載の情報処理装置。メッシュ状またはトーラス状に接続された複数の情報処理装置と、前記複数の情報処理装置からデータを入出力される入出力装置と、前記複数の情報処理装置それぞれと接続される管理装置とを有する情報処理システムであって、前記管理装置は、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態を記憶する第1記憶部と、データを入出力する入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態を、前記入出力処理装置の識別情報に対応付けて記憶する第2記憶部と、前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する受信部と、前記受信部が受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、前記選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、前記第1記憶部が記憶する通信状態と前記第2記憶部が記憶する通信状態とに基づいて前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定する特定部と、前記特定部が特定した情報処理装置あるいは入出力装置を識別する識別子を、前記転送要求を発した情報処理装置に送信する送信部とを有し、前記情報処理装置は、接続された他の情報処理装置との通信状態を監視し、監視した通信状態を前記管理装置に通知する通知部と、データを入出力する入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を前記管理装置に送信する送信部と、前記送信部が送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置の識別子を前記管理装置から受信する受信部と、前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置に前記データを転送する転送部とを有することを特徴とする情報処理システム。メッシュ状またはトーラス状に接続された複数の情報処理装置と、前記複数の情報処理装置からデータを入出力される入出力装置と、前記複数の情報処理装置それぞれと接続される管理装置とを有する情報処理システムにおけるデータ転送方法であって、前記情報処理装置が、前記入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を前記管理装置に送信し、前記管理装置が、前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信し、前記受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、前記選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態と前記入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態とに基づいて前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定し、前記特定した情報処理装置あるいは入出力装置を識別する識別子を、前記転送要求を発した情報処理装置に送信し、前記情報処理装置が、前記送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置の識別子を前記管理装置から受信し、前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置に前記データを転送することを特徴とするデータ転送方法。管理装置が内蔵するコンピュータに、データを入出力する入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信させ、前記受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、前記選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態と前記入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態とに基づいて前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定させ、前記特定した情報処理装置あるいは入出力装置を識別する識別子を、前記転送要求を発した情報処理装置に送信させることを特徴とする経路選択プログラム。他の情報処理装置と管理装置に接続する情報処理装置が内蔵するコンピュータに、接続された前記他の情報処理装置との通信状態を監視し、監視した通信状態を前記管理装置に通知させ、データを入出力する入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を前記管理装置に送信させ、前記送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置の識別子を前記管理装置から受信させ、前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置に前記データを転送させることを特徴とする転送要求プログラム。しかしながら、上述した従来の技術では、データ転送の可用性が高くないという課題があった。例えば、計算ノードは、次元順ルーティングで選択された経路上に存在するノード又は接続インターコネクトに異常が生じた場合、データを転送できなくなる。図21において、計算ノード903と計算ノード907との接続が切断していた場合を例に説明する。計算ノード901は、計算ノード903をバイパスする経路でIOノード915と接続しているにもかかわらず、次元順ルーティングで選択された経路に従い、計算ノード903を経由してデータを転送しようとする。この結果、計算ノード901は、IOノード915へデータを転送できなくなる。また、従来の技術では、IO装置と接続される運用系IOノードに障害が生じた場合、計算ノードは、データを転送できない場合がある。図21において、計算ノード906がIO装置918にデータを転送する際に、運用系であるIOノード915に異常が生じ、IOノード914が待機系から運用系に切り替わった場合を例に説明する。計算ノード906は、運用系のIOノードをIOノード915からIOノード914に切替えた場合でも、次元順ルーティングで選択された経路に従い、計算ノード907、計算ノード911、IOノード915にデータを転送してしまう。ここで、IOノード915がIOノード914へデータを転送できない場合、計算ノード906は、IO装置918にデータを転送できない。また、IOノード915がIOノード914へデータを転送できる場合、計算ノード906は、IO装置918にデータを転送できるが、計算ノード906からIOノード914に至る最短経路よりも多くのノードを経由してIOノード914にデータを転送することになる。例えば、計算ノード906からIOノード914にデータを転送する場合に、経由するノード数が最小となる経路は、計算ノード910を経由した場合であるが、計算ノード906は、予め設定され経路に従うので、この経路を選択できない。このため、データを転送できる場合には、計算ノードによるデータの転送が遅延する可能性がある。1つの側面では、データ転送の信頼性を向上することができる管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラムを提供することを目的とする。第1の案では、管理装置は、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態を記憶する。また、管理装置は、データを入出力する入出力装置と、入出力装置にデータを入出力する入出力処理装置間の通信状態を、入出力処理装置の識別情報に対応付けて記憶する。そして、管理装置は、入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する。また、管理装置は、受信した転送要求に対して、入出力装置との間の通信経路を選択済みであるか否かを判定する。ここで、管理装置は、入出力装置との間の通信経路を選択済みであると判定した場合、選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定する。一方、管理装置は、通信経路を選択済みではないと判定した場合、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態と前記入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態とに基づいて入出力装置との間の通信経路を選択する。続いて、管理装置は、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定する。そして、管理装置は、特定した情報処理装置あるいは入出力装置を識別する識別子を、転送要求を発した情報処理装置に送信する。データ転送の可用性を向上することができる。以下に、本願の開示する管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。ここでは、実施例1に係るコンピュータシステムの構成、計算ノードの構成、IOInputOutputノードの構成、管理サーバの構成、計算ノードによる処理の処理手順、管理サーバによる処理の処理手順、実施例1に係る効果を順に説明する。[実施例1に係るコンピュータシステムの構成]図1に示すコンピュータシステム1は、計算ノード2~13と、IOノード14~17と、IO装置20~22と、管理サーバ100とを有する。ここで、コンピュータシステム1が有する計算ノードの数、IOノードの数、IO装置の数は一例であり、これに限定されるものではなく、任意に変更可能である。なお、計算ノード2~13及び、IOノード14~17は、情報処理装置の一例である。また、管理サーバ100は、管理装置の一例である。管理サーバ100と計算ノード2~13それぞれとは、例えば、LANで接続される。また、管理サーバ100とIOノード14~17それぞれとは、例えば、LANで接続される。また、隣接する各計算ノードと各計算ノードとの間、隣接する各計算ノードと各IOノードとの間、隣接する各IOノードと各IOノードとの間は、例えばインターコネクトによってメッシュ状に接続される。図1に示す一例では、計算ノード2は、計算ノード3、計算ノード6とそれぞれ接続される。計算ノード11は、計算ノード7、計算ノード10、計算ノード12、IOノード15とそれぞれ接続される。なお、コンピュータシステム1はメッシュ状に接続されるものとして説明するが、これに限定されるものではなく、例えば、トーラス状に接続されてもよい。また、IOノード14とIO装置20とは、FibreChannel等のIOバスで接続される。IOノード15とIO装置20、21とは、FibreChannelで接続される。IOノード16とIO装置22とは、FibreChannel等で接続される。IOノード17とIO装置21、22とは、FibreChannel等で接続される。なお、IOノードとIO装置はFibreChannelで接続されるもとして説明するが、これに限定されるものではなく、例えば、iSCSIなどで接続されてもよい。図1の例では、IOノードは、IO装置に対して、アクティブ‐パッシブ構成であり、運用系であるIOノードとIO装置との接続を実線で示し、待機系であるIOノードとIO装置との接続を点線で示す。ここで、アクティブ‐パッシブ構成とは、IO装置を共有する複数のノードのうち、通常の運用時には運用系のノードがIO装置を専有する構成である。IO装置を共有する複数のノードは、運用系のノードと待機系のノードに分けられ、同一のIO装置を運用系のノードと待機系のノードが同時に使用することはない。通常の運用時には、運用系のノードのみがIO装置を使用し、運用系のノードに障害が発生した場合には待機系のノードがIO装置を使用する。例えば、IO装置20に対しては、IOノード14が運用系ノードであり、IOノード15が待機ノードである。IO装置21に対しては、IOノード15が運用系ノードであり、IOノード17が待機系ノードである。また、IO装置に22に対しては、IOノード17が運用系ノードであり、IO装置に22に対してIOノード16が待機系ノードである。なお、コンピュータシステムにおけるIO装置とIOノードは、アクティブ‐パッシブ構成に限定されるものではなく、例えば、同一のIO装置20をIOノード14とIOノード15とが同時に使用するアクティブ‐アクティブ構成であってもよい。各計算ノード2~13は、各IO装置20~22から入力したデータをもとに各種演算を実行したり、各IO装置20~22から入力したアプリケーションを実行したりする。計算ノードは、自装置と接続された計算ノードとの間の通信状態及び自装置と接続されたIOノードとの間の通信状態を監視し、監視した各通信状態を管理サーバ100に通知する。例えば、計算ノード12は、計算ノード8、計算ノード11、計算ノード13との間の通信状態及びIOノード16との間の通信状態を監視し、監視した各通信状態を管理サーバ100に通知する。また、各計算ノード2~13は、IO装置との間でデータを転送する場合、IO装置との間でのデータ転送を要求することを示すデータ転送要求を管理サーバ100に送信する。例えば、図1に示す計算ノード7がIO装置21へデータを転送する場合について説明する。また、この場合、計算ノード7は、IO装置21と隣接していない。このため、計算ノード7がIO装置21へデータを転送する場合、隣接する他のノードにデータを中継することになる。なお、以下の説明では、データの転送開始元になるノードを転送開始元、データの最終的な転送先となるIO装置を最終転送先として適宜記す。計算ノード7は、転送開始元である装置の識別子と自装置を識別する識別子と転送するデータを識別する識別子と最終転送先となるIO装置21の識別子とを含んだ転送要求を管理サーバ100に送信する。なお、転送開始元である計算ノード7が送信する転送開始元である装置の識別子と自装置を識別する識別子とは同一の値が格納される。続いて、計算ノード7は、管理サーバ100からデータ中継先のノードとなる転送先のノードとして計算ノード11であることを受信する。そして、計算ノード7は、計算ノード11にデータを送信する。ここで、計算ノード7が送信するデータには、転送開始元である装置の識別子と自装置を識別する識別子と転送するデータを識別する識別子と最終転送先となるIO装置21の識別子とが含まれる。また、各計算ノード2~13は、隣接する計算ノードからデータを受信した場合、管理サーバ100に転送要求を送信する。例えば、図1に示す計算ノード11が、転送開始元である計算ノード7から最終転送先であるIO装置21へ転送するデータを受信した場合について説明する。計算ノード11は、受信したデータから転送開始元である装置の識別子と自装置を識別する識別子と転送するデータを識別する識別子と最終転送先となるIO装置21の識別子とを抽出する。そして、計算ノード11は、転送開始元である計算ノード7の識別子と自装置を識別する識別子と転送するデータを識別する識別子と最終転送先となるIO装置21の識別子とを含んだ転送要求を管理サーバ100に送信する。計算ノード11は、管理サーバ100からデータ中継先のノードとなる転送先のノードとしてIOノード15であることを受信する。そして、計算ノード11は、IOノード15に転送開始元である計算ノード7の識別子と自装置を識別する識別子と転送するデータを識別する識別子と最終転送先となるIO装置21の識別子とを含んだデータを送信する。各IOノード14~17は、各IO装置20~22への入出力を制御する。例えば、IOノード15は、計算ノード11から転送されたデータを受信し、IO装置21へ出力する。また、IOノード15は、IO装置21から読み出したデータを計算ノード11へ出力する。IOノードは、自装置と接続されたIOノードとの間の通信状態及び自装置と接続された計算ノードとの間の通信状態及び自装置と接続されたIO装置との間の通信状態をそれぞれ監視し、監視した通信状態を管理サーバ100にそれぞれ通知する。例えば、IOノード15は、IOノード14、IOノード16との間の通信状態、計算ノード11との間の通信状態及びIO装置20、21との間の通信状態をそれぞれ監視し、監視した通信状態を管理サーバ100にそれぞれ通知する。各IO装置20~22は、例えば、HDDHardDiskDriveなどの記憶装置であり、データやアプリケーションを記憶する。なお、ここでは、各IO装置20~22をHDDなどの記憶装置として説明するが、HDDなどの記憶装置に限定されず、例えば、各種センサ、プリンタ、ディスプレイなどであってもよい。なお、以下の説明においては、各計算ノード2~13及び各IOノード14~17を単に各ノード2~17として適宜記載するものとする。管理サーバ100は、通知された各計算ノード2~13及び各IOノード14~17それぞれの通信状態を記憶する。また、管理サーバ100は、データを記憶する複数のIO装置と、複数のIO装置へデータを入出力するノードとの通信状態を記憶する。また、管理サーバ100は、複数のIO装置20~22のいずれかにデータの転送を要求するデータ転送要求をいずれかのノードから受信した場合に、以下の処理を実行する。すなわち、管理サーバ100は、複数のノード間それぞれの通信状態と、IO装置へデータを入出力するノードとIO装置との通信状態に基づいて、IO装置との間の通信経路を選択する。また、管理サーバ100は、選択した通信経路に基づいて、転送先の計算ノードあるいはIOノードを特定する。そして、管理サーバ100は、特定した計算ノードあるいはIOノードを識別する識別子を、転送要求を発した計算ノードに送信する。[計算ノードの構成]図2は、実施例1に係る計算ノードの構成を示すブロック図である。図2に示すように、計算ノード2は、記憶部2aと、制御部2bとを有する。なお、計算ノード2~13の構成は同様であるので、ここでは、計算ノード2の構成についてのみ説明し、計算ノード3~13の構成については説明を省略する。記憶部2aは、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、自装置で実行した各種の処理結果や自装置で実行する各種の処理に必要なデータやアプリケーションなどを記憶する。また、記憶部2aには、自装置を識別する識別子や、データを入出力するIO装置を識別する識別子などが格納される。制御部2bは、第1通信部2cと、第2通信部2dと、リンク監視部2eと、転送要求部2fと転送部2gとを有する。例えば、制御部2bは、ASICApplicationSpecificIntegratedCircuit、FPGAFieldProgrammableGateArray、CPUCentralProcessingUnitやMPUMicroProcessingUnitなどの集積回路である。制御部2bは、制御プログラム、各種の処理手順などを規定したプログラムおよび各種の処理に必要なデータを格納するための内部メモリを有する。第1通信部2cは、管理サーバ100と、例えば、LANで接続され、管理サーバ100との情報のやり取りを制御する。例えば、第1通信部2cは、リンク監視部2eによって監視された通信状態を管理サーバ100に送信する。また、第1通信部2cは、管理サーバ100によって選択された転送先計算ノードまたはIOノードの識別子を管理サーバ100から受信する。第1通信部2cは、受信した転送先計算ノードまたはIOノードの識別子を転送要求部2fに出力する。第2通信部2dは、隣接する計算ノードや隣接するIOノードとインターコネクトによって接続され、隣接する計算ノードや隣接するIOノードとの情報のやり取りを制御する。例えば、第2通信部2dは、管理サーバ100から受信した転送先ノードの識別子に基づき、転送先ノードにデータを送信する。リンク監視部2eは、隣接する計算ノードや隣接するIOノードとの通信状態を監視する。リンク監視部2eは、監視した通信状態を管理サーバ100に第1通信部2cを介して通知する。なお、リンク監視部2eは、通知部の一例である。転送要求部2fは、データを入出力するIO装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を管理サーバ100に送信する。例えば、データを入出力するIO装置に自装置が有するデータを転送する場合に、転送要求を生成し、第1通信部2cを介して生成した転送要求を管理サーバ100に送信する。例えば、転送要求部2fは、IO装置に自装置が有するデータの転送を要求する場合、データIDと、転送開始元IDと、最終転送先IDと、転送元IDとを含んだ転送要求を生成する。この転送要求に含まれるデータIDは、転送されるデータの識別子を示し、転送開始元IDは、データIDで識別されるデータの転送開始元になる計算ノードの識別子を示す。また、最終転送先IDは、データIDで識別されるデータの最終転送先となるIO装置の識別子を示し、転送元IDは、自装置の識別子を示す。なお、データの転送開始元になる計算ノードが生成した転送要求では、転送開始元IDと転送元IDには、同じ識別子が格納される。また、転送要求部2fは、データを入出力するIO装置に他装置から受信したデータを転送する場合に、転送要求を生成し、第1通信部2cを介して生成した転送要求を管理サーバ100に送信する。例えば、転送要求部2fは、IO装置に他装置から受信したデータの転送を要求する場合、データIDと、転送開始元IDと、最終転送先IDと、転送元IDとを含んだ転送要求を生成する。この転送要求に含まれるデータID、転送開始元ID、最終転送先IDには、受信したデータに含まれるデータID、転送開始元ID、最終転送先IDと同じ識別子が格納される。すなわち、この転送要求に含まれるデータID、転送開始元ID、最終転送先IDには、データの転送開始元になる計算ノードが生成した転送要求に含まれるデータID、転送開始元ID、最終転送先IDと同じ識別子が格納される。また、転送元IDには、自装置の識別子が格納される。また、転送要求部2fは、管理サーバ100に送信した転送要求に対して、リンク監視部2eによって通知された通信状態に基づいて管理サーバ100が選択した転送先計算ノードの識別子または転送先IOノードの識別子を管理サーバ100から第1通信部2cを介して受信する。そして、転送要求部2fは、受信した転送先計算ノードまたはIOノードの識別子を転送部2gに出力する。なお、転送要求部2fは、送信部、受信部の一例である。転送部2gは、管理サーバ100から受信した転送先の計算ノードあるいはIOノードの識別子を持つ計算ノードあるいはIOノードにデータを転送する。例えば、転送部2gは、第1通信部2cを介して転送要求部2fから受信した転送先計算ノードまたはIOノードの識別子に基づき、転送先計算ノードまたは転送先IOノードに、第2通信部2dを介してデータを送信する。ここで、転送部2gが送信するデータには、データIDと、転送開始元IDと、最終転送先IDと、転送元IDとが含まれる。このように、転送部2gは、転送先計算ノードまたは転送先IOノードに、データIDと、転送開始元IDと、最終転送先IDと、転送元IDとを含んだデータを送信することで、データを受信したノードが、最終転送先を判定することができる。[IOノードの構成]図3は、実施例1に係るIOノードの構成を示すブロック図である。図3に示すように、IOノード14は、記憶部14aと、制御部14bとを有する。なお、IOノード14~17の構成は同様であるので、ここでは、IOノード14の構成についてのみ説明し、IOノード15~17の構成については説明を省略する。記憶部14aは、例えば、半導体メモリ素子、又はHDDなどの記憶装置であり、自装置の識別子や、データを入出力するIO装置の識別子などを記憶する。制御部14bは、第1通信部14cと、第2通信部14dと、第3通信部14eと、リンク監視部14fと、転送要求部14gと、転送部14hとを有する。例えば、制御部14bは、ASIC、FPGA、CPUやMPUなどの集積回路である。また、制御部14bは、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。第1通信部14cは、管理サーバ100と、例えば、LANで接続され、管理サーバ100との情報のやり取りを制御する。例えば、第1通信部14cは、リンク監視部14fによって監視された通信状態を管理サーバ100に送信する。また、第1通信部14cは、管理サーバ100によって選択された転送先計算ノードまたはIOノードの識別子を管理サーバ100から受信する。第1通信部14cは、受信した転送先計算ノードまたはIOノードの識別子を転送要求部14gに出力する。第2通信部14dは、隣接する計算ノードや隣接するIOノードと、例えば、Tofuなどのインターコネクトによって接続され、隣接する計算ノードや隣接するIOノードとの情報のやり取りを制御する。例えば、第2通信部14dは、管理サーバ100から受信した転送先ノードの識別子に基づき、転送先ノードにデータを送信する。第3通信部14eは、IO装置と、例えばFibreChannelなどによって接続され、IO装置へのデータの入出力を制御する。例えば、第3通信部14eは、転送部14hから受信したデータをIO装置に出力する。リンク監視部14fは、隣接する計算ノードや隣接するIOノードとの通信状態を監視する。リンク監視部14fは、監視した通信状態を管理サーバ100に、第1通信部14cを介して通知する。なお、リンク監視部14fは、通知部の一例である。転送要求部14gは、データを入出力するIO装置にデータを転送する場合に、管理サーバ100に転送先ノードの識別子を要求する転送要求を生成する。そして、転送要求部14gは、生成した転送要求を管理サーバ100に第1通信部14cを介して送信する。また、転送要求部14gは、送信した転送要求に対して、リンク監視部14fによって通知された通信状態に基づいて、管理サーバ100が選択した転送先計算ノードまたは転送先IOノードの識別子を管理サーバ100から第1通信部14cを介して受信する。なお、転送要求部14gは、送信部、受信部の一例である。なお、転送要求部14gが生成する転送要求には、計算ノードの転送要求部2fが生成する転送要求と同様にデータIDと、転送開始元IDと、最終転送先IDと、転送元IDとが含まれる。転送部14hは、第1通信部14cを介して受信した転送先ノードの識別子に基づき、転送先ノードに第2通信部14dを介してデータを送信する。また、転送部14hは、計算ノードやIOノードから受信したデータをIO装置に出力する。[管理サーバの構成]次に、図4を用いて、管理サーバの構成を説明する。図4は、実施例1に係る管理サーバの構成を示すブロック図である。図4に示すように、管理サーバ100は、記憶部110と、制御部120とを有する。記憶部110は、例えば、半導体メモリ素子、又はHDDなどの記憶装置であり、リンク管理テーブル111とIOノード管理テーブル112と転送データ管理テーブル113と通信経路管理テーブル114とを有する。リンク管理テーブル111は、複数のノード間それぞれの通信状態を記憶する。図5は、リンク管理テーブルの一例を示す図である。例えば、リンク管理テーブル111は、図5に示すように、リンクID、ノードa、ノードb、通信状態をそれぞれ対応付けた情報を記憶する。ここで、リンク管理テーブル111が記憶するリンクIDには、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間を接続するリンクの識別子が格納される。例えば、リンクIDには、xxx1やxxx2などが格納される。ノードaには、リンクIDで識別されるリンクを形成する計算ノード、IOノードのうち一方のノードの識別子が格納される。例えば、ノードaには、計算ノード2、計算ノード3などが格納される。また、ノードbには、リンクIDで識別されるリンクを形成する計算ノード、IOノードのうち他方の識別子が格納される。例えば、ノードbには、計算ノード3、計算ノード4などが格納される。通信状態には、リンク識別子で識別されるリンクの通信状態を示す情報が格納される。例えば、通信状態には、通信状態が正常であることを示すNormalや通信状態が異常であることを示すFallが格納される。リンク管理テーブル111として記憶される情報のうち、リンクID、ノードa、ノードbとして記憶される情報は、予め管理者によって設定される。なお、リンク管理テーブル111は、第1記憶部の一例である。図5に示す例では、リンク管理テーブル111は、リンクIDxxx1で識別されるリンクは、計算ノード2と計算ノード3とを接続し、リンクの状態が正常であることを示す。同様に、リンク管理テーブル111は、リンクIDxxx2で識別されるリンクは、計算ノード3と計算ノード4とを接続し、リンクの状態が正常であることを示す。IOノード管理テーブル112は、データを記憶する複数のIO装置と、前記複数のIO装置へデータを入出力するノードとの通信状態を記憶する。図6は、IOノード管理テーブルの一例を示す図である。例えば、IOノード管理テーブル112は、図6に示すように、リンクID、IOノード、IO装置、通信状態、運用状態をそれぞれ対応付けた情報を記憶する。ここで、IOノード管理テーブル112が記憶するリンクIDには、IOノードとIO装置とを接続するリンクの識別子が格納される。例えば、リンクIDには、001や002などが格納される。IOノードには、リンクIDで識別されるリンクを形成するIOノードの識別子が格納される。例えば、IOノードには、IOノード14やIOノード15などが格納される。IO装置には、リンクIDで識別されるリンクにより接続されるIO装置の識別子が格納される。例えば、IO装置には、IO装置20やIO装置21などが格納される。通信状態には、リンクの通信状態を示す情報が格納される。例えば、通信状態には、通信状態が正常であることを示すNormalや通信状態が異常であることを示すFallが格納される。運用状態には、リンクの状態が待機系であるか運用系であるかを示す情報が格納される。例えば、運用状態には、ノードの運用状態が運用系であることを示すActiveやノードの運用状態が待機系であることを示すStanbyが格納される。具体的には、IOノード管理テーブル112は、リンクID001で識別されるリンクは、IOノード14とIO装置20とを接続し、リンクの状態が正常であり、IOノード14が運用系であることを示す。同様に、IOノード管理テーブル112は、リンクID002で識別されるリンクは、IOノード15とIO装置20とを接続し、リンクの状態が正常であり、IOノード15が待機系であることを示す。IOノード管理テーブル112として記憶される情報のうち、リンクID、IOノード、IO装置、運用状態として記憶される情報は、予め管理者によって設定される。なお、IOノード管理テーブル112は、第2記憶部の一例である。図4に戻って、転送データ管理テーブル113は、転送を要求されたデータの識別子とデータの転送開始元ノードとデータの最終転送先ノードとを対応付けて記憶する。図7は、転送データ管理テーブルの一例を示す図である。例えば、転送データ管理テーブル113は、図7に示すように、データID、転送開始元ID、最終転送先IDをそれぞれ対応付けた情報を記憶する。ここで、転送データ管理テーブル113が記憶するデータIDには、転送を要求されたデータの識別子が格納される。例えば、データIDには、xxx1やxxx2などが格納される。なお、データIDは、データの転送開始元になる計算ノードによって付与される。転送開始元IDには、データIDで識別されるデータの転送開始元になる計算ノードの識別子が格納される。例えば、転送開始元IDには、計算ノード2や計算ノード7などが格納される。なお、転送開始元IDは、データの転送開始元になる計算ノードによって付与される。最終転送先IDには、データIDで識別されるデータの最終的な転送先となるIO装置の識別子が格納される。例えば、最終転送先IDには、IO装置20やIO装置21などが格納される。なお、最終転送先IDは、データの転送開始元になる計算ノードによって付与される。図7に示す例では、転送データ管理テーブル113は、計算ノード2を転送開始元にしてIO装置20へ転送するデータのIDがxxx1であることを示す。同様に、転送データ管理テーブル113は、計算ノード7を転送開始元にしてIO装置21へ転送するデータのIDがxxx2であることを示す。図4に戻って、通信経路管理テーブル114は、転送を要求されたデータをデータ転送先へ転送する通信経路を記憶する。図8は、通信経路管理テーブルの一例を示す図である。例えば、通信経路管理テーブル114は、図8に示すように、データID、通信経路ID、転送元ID、転送先ID、転送開始元ID、最終転送先IDをそれぞれ対応付けた情報を記憶する。なお、データID、転送開始元ID、最終転送先IDに格納される情報については、転送データ管理テーブル113と同様であるので説明を省略する。ここで、通信経路IDには、データIDで識別されるデータをIO装置に転送する通信経路を転送区間毎に分割した転送区間の識別子が格納される。例えば、通信経路IDには、分割された転送区間を識別するxxx2.01やxxx2.02などが格納される。転送元IDには、通信経路IDに対応する転送元ノードの識別子が格納される。例えば、転送元IDには、計算ノード7や計算ノード11などが格納される。転送先IDには、通信経路IDに対応する転送先ノードの識別子が格納される。例えば、転送先IDには、計算ノード11やIOノード15などが格納される。図8に示す例では、通信経路管理テーブル114は、計算ノード7を転送開始元にして、IO装置21を最終転送先にするデータの転送がデータIDxxx2で識別されることを示す。また、通信経路管理テーブル114は、このデータの転送には、通信経路としてxxx2.01、xxx2.02、xxx2.03で識別される3つに分割された転送区間が存在することを示す。また、通信経路管理テーブル114は、最初の転送区間であるxxx2.01は、計算ノード7を転送元にして計算ノード11を転送先にする経路であることを示す。通信経路管理テーブル114は、2番目の転送区間であるxxx2.02は、転送元である計算ノード11から転送先であるIOノード15への経路であることを示す。通信経路管理テーブル114は、3番目の転送区間であるxxx2.03は、転送元であるIOノード15から転送先であるIO装置21への経路であることを示す。図4に戻り、制御部120は、受信部121と、送信部122と、更新部123と、選択部124とを有する。例えば、制御部120は、ASIC、FPGA、CPUやMPUなどの集積回路である。制御部120は、制御プログラム、各種の処理手順などを規定したプログラムおよび各種の処理に必要なデータを格納するための内部メモリを有する。受信部121は、計算ノードそれぞれから各計算ノードが隣接する計算ノードやIOノードとの間を接続するリンクの通信状態を示す情報やIOノードとIO装置との間を接続するリンクの通信状態を示す情報を受信する。そして、受信部121は、受信したリンクの通信状態を示す情報を更新部123に出力する。また、受信部121は、複数の計算ノードやIOノードのいずれかから、隣接する計算ノードやIOノードとの通信状態又はIO装置との通信状態が変更されたことを示す情報を受信する。受信部121は、計算ノードの通信状態やIOノードの通信状態が更新されたことを示す情報を受信した場合、更新部123に出力する。また、受信部121は、複数のIO装置のいずれかにデータの転送を要求する転送要求を計算ノードやIOノードのいずれかから受信する。例えば、受信部121は、計算ノードからIO装置へデータ転送を要求していることを示す転送要求を受信する。そして、受信部121は、計算ノードIO装置へデータ転送を要求していることを示す転送要求を選択部124に出力する。送信部122は、選択部124によって選択されたデータ転送先ノードの識別子を受信し、IO装置へデータ転送を要求している計算ノードに、受信したデータ転送先ノードの識別子を送信する。更新部123は、受信部121から受付けた、各計算ノードが接続するリンクの通信状態及び各IOノードが接続するリンクの通信状態から、各ノード間を接続するリンクと、このリンクの通信状態とを対応付けた情報を生成する。図5に示す例では、更新部123は、受信部121を介して、計算ノード2から計算ノード3との通信状態が正常であることを示す通知を受信した場合、図5中Aに示すように、情報を格納する。すなわち、更新部123は、リンクIDxxx1の通信状態に通信状態が正常であることを示すNormalを格納する。図6に示す例では、更新部123は、受信部121を介して、IOノード14からIO装置20との通信状態が正常であることを示す通知を受信した場合、図6中Aに示すように情報を格納する。すなわち、更新部123は、リンクID001の通信状態に通信状態が正常であることを示すNormalを格納する。また、更新部123は、受信部121から各計算ノードによって形成されるリンクの通信状態や各IOノードによって形成されるリンクの通信状態が更新されたことを示す通知を受信した場合、リンク管理テーブル111やIOノード管理テーブル112を更新する。図9及び図10を用いて更新部123によるリンク管理テーブル111の更新処理について説明する。図9は、計算ノード11とIOノード15との通信状態に異常が生じたコンピュータシステムの一例を示す図であり、図10は、更新部によって更新されたリンク管理テーブルの一例を示す図である。図9に示すコンピュータシステムの場合、更新部123は、受信部121から計算ノード11とIOノード15との間で形成されるリンクの通信状態が異常であることを示す通知を受信する。このような場合には、更新部123は、図10中Aに示すように、リンク管理テーブル111のリンクID=xxx7に対応する通信状態に、通信状態が異常であることを示すFallを格納する。また、更新部123は、IOノードに異常が生じたことを示す通知をIOノードから受信した場合、IOノード管理テーブル112及びリンク管理テーブル111を更新する。図11及び図12を用いて更新部123によるIOノードに異常が生じた場合のIOノード管理テーブル112及びリンク管理テーブル111の更新処理について説明する。図11は、実施例1に係るIOノードに異常が生じたコンピュータシステムの一例を示す図であり、図12は、生成部によって更新されたIOノード管理テーブルの一例を示す図である。図11に示すように、IOノード15において障害が生じた場合には、更新部123は、以下の処理を実行する。すなわち、更新部123は、図12中Aに示すように、IOノード管理テーブル112のリンクID=003に対応する通信状態に、通信状態が異常であることを示すFallを格納し、運用状態に、異常であることを示すFallを格納する。また、更新部123は、図10中Aに示すように、リンク管理テーブル111のリンクID=xxx7に対応する通信状態に、通信状態が異常であることを示すFallを格納する。選択部124は、データ転送要求を受信した場合に、リンク管理テーブル111とIOノード管理テーブル112に記憶されるリンクの通信状態に基づいて、IO装置へデータを転送できる通信経路を選択する。以下、選択部124による処理の一例を詳細に説明する。なお、選択部124は、特定部の一例である。例えば、選択部124は、データ転送要求を受信した場合、通信経路を選択済みであるか否かを判定する。選択部124は、通信経路を選択済みであると判定した場合に、経路管理テーブル114から転送先ノードを抽出する。具体的には、選択部124は、データ転送要求に含まれるデータIDと転送開始元計算ノードを識別する転送開始元IDと最終転送先IO装置を識別する最終転送先IDとデータの転送元ノードを識別する転送元IDとを抽出する。そして、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定する。ここで、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在すると判定した場合、通信経路を選択済みであると判定する。そして、選択部124は、経路管理テーブル114を検索し、データIDと転送開始元IDと最終転送先IDと転送元IDとが一致するレコードの転送先IDを抽出する。その後、選択部124は、抽出した転送先IDを送信部122に出力する。一方、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。なお、選択部124が通信経路を選択済みではないと判定する一例として、転送開始元ノードから転送要求を受付けた場合が挙げられる。そして、選択部124は、通信経路を選択済みではないと判定した場合、リンク管理テーブル111とIOノード管理テーブル112とを参照し、計算ノードから要求されたIO装置へデータを転送することができる最短の通信経路を選択する。具体的には、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。そして、選択部124は、抽出したデータIDと転送開始元IDと最終転送先IDとを対応付けて転送データ管理テーブル113に格納する。選択部124は、IOノード管理テーブル112を読み出して、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在するか否かを判定する。また、選択部124は、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在すると判定した場合、当該運用系のIOノードを選択する。そして、選択部124は、リンク管理テーブル111を読み出して、データ転送開始元の計算ノードから選択したIOノードまでの最短経路を一つ選択する。また、選択部124は、選択した経路上のリンクに異常があるか否かを判定し、異常がないと判定した場合に選択した通信経路を経路管理テーブル114として生成する。そして、選択部124は、経路管理テーブル114を検索し、データIDと転送開始元IDと最終転送先IDと転送元IDとが一致するレコードの転送先IDを抽出する。選択部124は、抽出した転送先IDを送信部122に出力する。また、選択部124は、選択した経路上のリンクに異常があると判定した場合、異常があると判定されたリンクを迂回する迂回経路を選択し、迂回経路が選択できたか否かを判定する。そして、選択部124は、迂回経路が選択できたと判定した場合、選択した迂回経路上のリンクに異常があるか否かを判定する。また、選択部124は、迂回経路を選択できないと判定した場合、管理者に異常を通知する。一方、選択部124は、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在しないと判定した場合、データ転送先のIO装置と接続する待機系のIOノードが存在するか否かを判定する。そして、選択部124は、データ転送先のIO装置と接続する待機系のIOノードが存在すると判定した場合、IOノード管理テーブル112に記憶されるIO装置へデータを入出力するIOノードを待機系のIOノードに更新する。そして、選択部124は、IO装置に接続するするIOノードを選択し、選択したIOノードまでの最短経路を一つ選択する。図11に示すように、IO装置21へデータを入出力するIOノード15において障害が生じた場合には、選択部124は、以下の処理を実行する。すなわち、選択部124は、IOノード管理テーブル112の、IOノード17とIO装置21とを接続するリンクを示すリンクIDに対応する運用状態に運用系であることを示すActiveを格納する。次に、計算ノード7がIO装置21へデータ転送を要求した場合の選択部124による通信経路選択処理について、図1、図9、図11を例に用いて説明する。選択部124は、IO装置21と接続されるIOノードとしてIOノード15を選択する。そして、選択部124は、図1に示すように、通信経路に異常がない場合、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード15を選択する。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、この場合、選択部124は、選択した転送ノードの識別子に基づき、図8に示した通信経路管理テーブル114を生成する。図9に示すように、計算ノード11と計算ノード15との間を接続するリンクが障害等により使用できない場合、選択部124は、以下の処理を実行する。すなわち、選択部124は、計算ノード11と計算ノード15との間で形成されるリンクを迂回する通信経路を選択する。例えば、選択部124は、IO装置21と接続されるIOノードとしてIOノード15を選択し、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、IOノード16、IOノード15を選択する。選択部124は、選択した転送ノードの識別子に基づき図13Aに示す通信経路管理テーブル114を生成する。なお、図13Aは、通信経路管理テーブルの一例を示す図である。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、選択部124が選択する通信経路はこれに限定されるものではない。例えば、選択部124は、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード10、IOノード14、IOノード15を選択してもよい。図11に示すように、IOノード15に異常が生じ、IOノード15とIO装置21との間を接続するリンクを経由できない場合、選択部124は、以下の処理を実行する。すなわち、選択部124は、IO装置21と接続されるIOノードとしてIOノード17を選択する。そして、選択部124は、例えば、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、計算ノード13、IOノード17を選択する。選択部124は、選択した転送ノードの識別子に基づき、図13Bに示す通信経路管理テーブル114を生成する。なお、図13Bは、通信経路管理テーブルの一例を示す図である。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、選択部124が選択する通信経路はこれに限定されるものではない。例えば、選択部124は、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、IOノード16、IOノード17を選択してもよい。[計算ノードによるデータ転送処理の処理手順]次に、図14を用いて、実施例1に係る計算ノードによるIO装置へのデータ転送処理の処理手順について説明する。図14は、計算ノードによるIO装置へのデータ転送処理の処理手順を示すフローチャートである。ここでは、計算ノード2を用いて説明するが、ここで説明する処理は、計算ノード2による処理に限定されるものではなく、他の計算ノードやIOノードにおいても同様の処理が実行される。計算ノード2は、いずれかのIO装置へ転送するデータが存在すると判定した場合ステップS101、Yes、自装置のIDとデータのIDと転送開始元IDと最終転送先IDとを管理サーバ100に送信するステップS102。例えば、計算ノード2は、いずれかのIO装置に転送するデータを自身が生成した場合、または、隣接する計算ノードからいずれかのIO装置に転送するデータを受信した場合、IO装置へ転送するデータが存在すると判定する。なお、計算ノード2は、いずれかのIO装置に転送するデータを自身が生成した場合、自身でデータIDを生成する。計算ノード2は転送先ノードの識別子を管理サーバ100から受信しステップS103、受信した転送先ノードの識別子に基づいて、転送先ノードにデータを送信するステップS104。例えば、計算ノード2は、データID、自装置のID、転送開始元ID、最終転送先IDなどを含んだデータを転送先ノードに転送する。計算ノード2は、その後処理を終了する。[実施例1に係る管理サーバの処理の処理手順]次に図15、図16、図17を用いて、実施例1に係る管理サーバ100の処理の処理手順を説明する。ここでは、図15を用いて管理サーバ100によるデータ転送処理の処理手順を説明し、図16を用いて管理サーバ100によるリンク管理テーブル及びIOノード管理テーブル更新処理の処理手順を説明し、図17を用いて、管理サーバ100による経路選択処理の処理手順を説明する。データ転送処理の処理手順図15は、実施例1に係る管理サーバによるデータ転送処理の処理手順を示すフローチャートである。例えば、管理サーバ100は、いずれかの計算ノードからIO装置へデータの転送要求を受付けたことを契機に処理を実行する。図15に示すように、管理サーバ100の受信部121が、IO装置へのデータ転送要求を計算ノードから受信するステップS201。そして、選択部124は、データIDを抽出しステップS202、抽出したデータIDに対応する経路を選択済みであるか否かを判定するステップS203。ここで、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定する。そして、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在すると判定した場合、通信経路を選択済みであると判定する。一方、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。選択部124は、経路を選択済みではないと判定した場合ステップS203、No、通信経路を選択する処理を実行するステップS204。選択部124によって経路が選択済みであると判定された場合ステップS203、Yes、あるいは選択部124が実行するステップS204の処理によって通信経路が選択された場合、送信部122は、選択された経路から転送先のノードを判別し、転送先を計算ノードに通知するステップS205。選択部124は、その後処理を終了する。リンク管理テーブル及びIOノード管理テーブル更新処理の処理手順図16は、リンク管理テーブル及びIOノード管理テーブル更新処理の処理手順を示すフローチャートである。管理サーバ100は、IOノードが異常であることを示す通知を異常が生じたIOノードから受信したことを契機に処理を実行する。図16に示すように、管理サーバ100は、IOノードから更新通知を受信した場合ステップS301、Yes、IOノード管理テーブル112の通信状態を更新するステップS302。例えば、管理サーバ100は、IOノード15から異常が生じたことを通知された場合、IOノード管理テーブル112の通信状態に異常を示すFallを格納する。また、管理サーバ100が、異常から復旧したIOノード15から正常である旨を通知された場合、IOノード管理テーブル112の通信状態に正常を示すNormalを格納し、運用状態にStanbyを格納する。また、管理サーバ100は、リンク管理テーブル111のうち異常が生じたIOノードとの通信状態を更新するステップS303。例えば、管理サーバ100は、IOノード15から異常が生じたことを通知された場合、リンク管理テーブル111のうちIOノード15と形成するリンクの通信状態に異常を示すFallを格納する。また、管理サーバ100は、異常から復旧したIOノード15から正常である旨を通知された場合、リンク管理テーブル111のうちIOノード15と形成するリンクの通信状態に正常を示すNormalを格納する。経路選択処理の処理手順図17は、経路選択処理の処理手順を示すフローチャートである。この処理は、図15のステップS204の処理に対応し、選択部124が、抽出したデータIDに対応する経路を選択済みではないと判定したことを契機に処理を実行する。図17に示すように、管理サーバ100の選択部124は、データ転送元の計算ノードとデータ転送先のIO装置とを抽出しステップS401、転送データ管理テーブル113を生成するステップS402。選択部124は、IOノード管理テーブル112を読み出しステップS403、データ転送先のIO装置と接続された運用系IOノードが存在するか否かを判定するステップS404。ここで、選択部124は、データ転送先のIO装置と接続された運用系IOノードが存在しないと判定した場合ステップS404、No、以下の処理を実行する。すなわち、選択部124は、データ転送先IO装置と接続された待機系IOノードが存在するか否かを判定するステップS405。選択部124によってデータ転送先IO装置と接続された待機系IOノードが存在すると判定された場合ステップS405、Yes、更新部123は、IOノード管理テーブル112及びリンク管理テーブル111を更新するステップS406。選択部124は、データ転送先のIO装置と接続された運用系IOノードが存在すると判定した場合ステップS404、Yes、ステップS406でIOノード管理テーブル112及びリンク管理テーブル111を更新した場合、以下の処理を実行する。すなわち、選択部124は、IOノードを選択しステップS407、続いて、リンク管理テーブル111を読み出すステップS408。次に、選択部124は、データ転送元の計算ノードから選択したIOノードまでの最短経路を一つ選択しステップS409、選択した経路上のリンクまたはノードに異常があるか否かを判定するステップS410。そして、選択部124は、選択した経路上のリンクまたはノードに異常がないと判定した場合ステップS410、No、通信経路管理テーブル114を生成しステップS411、処理を終了する。一方、選択部124は、選択した経路上のリンクまたはノードに異常があると判定した場合ステップS410、Yes、異常なリンクをまたはノード迂回する経路のうち最短となる経路を一つ選択するステップS412。そして、選択部124は、最短経路を選択できたか否かを判定するステップS413。ここで、選択部124は、最短経路を選択できたと判定した場合ステップS413、Yes、ステップS410に移行し、選択した最短経路上のリンクまたはノードに異常があるか否かを判定する。一方、選択部124は、最短経路を選択できないと判定した場合ステップS413、No、異常を通知しステップS414、処理を終了する。また、選択部124は、データ転送先IO装置と接続された待機系IOノードが存在しないと判定した場合ステップS405、No、異常を通知しステップS414、処理を終了する。[実施例1の効果]上述してきたように、本実施例1では、管理サーバ100の選択部124は、生成した通信経路管理テーブル114から特定した転送先ノードの識別子を転送開始元ノードに通知する。このため、コンピュータシステム1の一部のリンクまたはノードに異常が発生した場合でも、データの転送元である計算ノードは、転送先であるIO装置にデータを転送することができる。例えば、コンピュータシステム1では、通信経路上のリンクまたはノードでトラブルが発生した場合にシステムの可用性を向上させるために転送される可用性向上用データをIO装置に転送することができる。なお、管理サーバ100は、生成した通信経路管理テーブル114から転送先ノードを特定し、特定した転送先ノードの識別子を転送開始元ノードに送信するものとして説明したが、これに限定されるものではない。例えば、管理サーバ100は、通信経路管理テーブル114を生成し、通信経路上の全ての計算ノードとIOノードとに生成した通信経路管理テーブル114を送信するようにしてもよい。実施例1では、入出力するデータ全体を一まとめに転送する場合について説明した。ところで、転送先のIOノード上で、書込み対象のデータを複数回に分けて追加書きできる場合は、データ全体を一まとめに転送する必要はない。また、データを複数のデータに分割するデータチャンク管理機構が存在する場合は、各データチャンクの通信毎にタイムスロットを割り当てて通信してもよい。そこで、実施例2では、データを分割するデータチャンク管理機構と、各リンクの利用権を一定時間毎あるいは転送単位毎のタイムスロットに分割し、それらを資源として管理するタイムスロット管理機構とを備えた管理サーバの実施例について説明する。[実施例2に係る管理サーバの構成]図18は、実施例2に係る管理サーバの構成を示すブロック図である。図18に示すように、管理サーバ200は、記憶部110、制御部220を有する。なお、ここでは、図4に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。制御部220は、受信部121、送信部122、更新部123、選択部124、タイムスロット管理部225、データチャンク管理部226を有する。タイムスロット管理部225は、一定時間毎あるいは転送単位毎のタイムスロットに分割した各リンクの利用権を通信資源として管理する。例えば、タイムスロット管理部225は、データ量に対し利用可能なリンクの帯域の合計が小さい場合、各計算ノードからIO装置までの経路中の各リンクの利用権の請求を受付け、各リンクの利用権を割り当てる。また、タイムスロット管理部225は、各リンクの利用権の情報を送信部122に出力する。この結果、送信部122は、リンクの利用権を請求した計算ノードに、リンクの利用権の割り当てを送信する。データチャンク管理部226は、所定サイズに分割された転送単位であるデータチャンクの分割前のデータとの対応付け、および各データチャンクの転送先を管理する。例えば、データチャンク管理部226は、時分割されたタイムスロットの管理を行なうことにより、自装置が行う通信と他のノードが行なう通信とで、通信帯域を有効に利用できる。このように管理サーバ200がデータを分割し、各リンクの利用権を一定時間毎あるいは転送単位毎のタイムスロットに分割する結果、計算ノードは、通信帯域を超えるデータ転送が開始された場合の輻輳による実効通信帯域の低下を防止できる。例えば、管理サーバ200は、短時間のうちに転送すべきデータが大量に発生する可用性データの転送において有効である。ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、本発明に含まれる他の実施例について説明する。システム構成等実施例1及び実施例2において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定することで、抽出したデータIDに対応する経路を選択済みであるか否かを判定するものとして説明したがこれに限定されるものではない。例えば、選択部124は、転送要求に含まれる転送開始元IDと転送元IDとを抽出し、転送開始元IDと転送元IDとが一致するか否かを判定することで経路を選択済みであるか否かを判定するようにしてもよい。そして、選択部124は、転送開始元IDと転送元IDとが一致すると判定した場合、経路を未選択であると判定する。一方、選択部124は、転送開始元IDと転送元IDとが一致しないと判定した場合、経路を選択済みであると判定する。すなわち、選択部124は、転送開始元から転送要求を受けた場合には経路を未選択であると判定し、転送開始元ではないノードから転送要求を受けた場合には経路を選択済みであると判定する。また、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間のリンクは物理的なリンクとして説明したが、これに限定されるものではない。例えば、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間のリンクは、仮想チャネルであってもよい。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更してもよい。例えば、図16に示すステップS302とステップS303とを同時に実行しても良い。また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、管理サーバ100が有する更新部123と選択部124とは統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。プログラムところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図19は、経路選択プログラムを実行するコンピュータの一例を示す図である。図19に示すように、コンピュータ300は、利用者からデータや各種設定などを受け付ける入力装置310と、コンピュータの状況などを通知する出力装置320とを有する。また、コンピュータ300は、他の装置とデータを送受信するネットワークインターフェース330と媒体読取装置340とRAMRandomAccessMemory350とROMReadOnlyMemory360とCPU370とバス380とを有する。そして、各装置310~370それぞれは、バス380に接続される。ここで、図19に示すように、ROM360には、図4に示した、受信部121と送信部122と更新部123と選択部124と同様の機能を発揮する経路選択プログラム361が予め記憶されている。そして、CPU370は、経路選択プログラム361をROM360から読み出して、経路選択プロセス371として実行する。すなわち、経路選択プロセス371は、図4に示した、受信部121と送信部122と更新部123と選択部124と同様の動作を実行する。図20は、転送要求プログラムを実行するコンピュータの一例を示す図である。図20に示すように、コンピュータ400は、利用者からデータや各種設定などを受け付ける入力装置410と、コンピュータの状況などを通知する出力装置420とを有する。また、コンピュータ400は、他の装置とデータを送受信するネットワークインターフェース430と媒体読取装置440とRAM450とROM460とCPU470とバス480とを有する。そして、各装置410~470それぞれは、バス480に接続される。ここで、図20に示すように、ROM460には、図2に示した、リンク監視部2eと転送要求部2fと転送部2gと同様の機能を発揮する転送要求プログラム461が予め記憶されている。そして、CPU470は、転送要求プログラム461をROM460から読み出して、転送要求プロセス471として実行する。すなわち、転送要求プロセス471は、図2に示した、リンク監視部2eと転送要求部2fと転送部2gと同様の動作を実行する。ところで、上記した経路選択プログラム361、転送要求プログラム461は、必ずしもROMに記憶させておく必要はない。例えば、コンピュータ300、400に挿入されるフレキシブルディスクFD、CD-ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの可搬用の物理媒体に記憶させておくようにしてもよい。また、コンピュータ300、400の内外に備えられるハードディスクドライブHDDなどの固定用の物理媒体に記憶させておいてもよい。さらに、公衆回線、インターネット、LANLocalAreaNetwork、WANWideAreaNetworkなどを介してコンピュータ300、400に接続される他のコンピュータシステムに記憶させておいてもよい。そして、コンピュータ300、400がこれらからプログラムを読み出して実行するようにしてもよい。すなわち、このプログラムは、上記した可搬用の物理媒体、固定用の物理媒体、通信媒体などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータ300、400は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータ300、400によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。