(57)【特許請求の範囲】
【請求項１】
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能なコンピュータに、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる、
処理を実行させ、
前記記憶させる処理は、一つの前記書き込み処理単位には単一のボート番号を記憶させ、かつ前記記憶部は、異なるポート番号の間にはパディングが施された状態になっていることを特徴とするプログラム。
【請求項２】
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能な情報処理装置であって、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる割当部を有し、
前記割当部は、一つの前記書き込み処理単位には単一のボート番号を記憶させ、かつ前記記憶部は、異なるポート番号の間にはパディングが施された状態になっている情報処理装置。
【請求項３】
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能なコンピュータが、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる、
処理を実行し、
前記記憶させる処理は、一つの前記書き込み処理単位には単一のボート番号を記憶させ、かつ前記記憶部は、異なるポート番号の間にはパディングが施された状態になっていることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムの計算ノードにアドレスを割り当てるプログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
大規模クラスタネットワークでは、ファットツリーやトーラスといった、任意のノード間において複数の経路を持つマルチパスネットワークが用いられる。マルチパスネットワークを使用する主な目的は以下のとおりである。
（１）高性能：複数経路に負荷を分散させて高いスループットを得る。
（２）障害回避：一部の経路が故障した場合に他の経路に迂回させることで通信不能を回避する。
【０００３】
また、近年、クラスタネットワーク関連の技術として、ＩｎｆｉｎｉＢａｎｄと呼ばれる技術が開発されている。ＩｎｆｉｎｉＢａｎｄを採用したネットワークを、以下「ＩｎｆｉｎｉＢａｎｄネットワーク」という。
【０００４】
図１は、ファットツリー構成を有するＩｎｆｉｎｉＢａｎｄネットワークシステムの第一の例を示す図である。同図において、スイッチｓｐ１〜ｓｐ３、スイッチｌｆ１〜ｌｆ３、及び計算ノードｎ１〜ｎ９は、ファットツリーを構成するように、ＩｎｆｉｎｉＢａｎｄネットワークによって接続されている。
【０００５】
計算ノードｎ１〜ｎ９は、スイッチｌｆ１〜ｌｆ３及びスイッチｓｐ１〜ｓｐ３を介して相互に通信を行いながら所定の演算を行うコンピュータである。計算ノードｎ１〜ｎ９を示す円内に記載された数字（１〜９）は、各計算ノードｎのアドレス（ＬＩＤ（Local Identifier））を示す。ＩｎｆｉｎｉＢａｎｄネットワークでは、各計算ノードｎのアドレスは、１６ビットの数値によって表現される。
【０００６】
スイッチｌｆ１〜ｌｆ３は、計算ノードｎ１〜ｎ９のいずれかに直接接続された、いわゆるリーフ（Ｌｅａｆ）スイッチである。スイッチｓｐ１〜ｓｐ３は、スイッチｌｆ１〜ｌｆ３を接続する、いわゆるスパイン（Ｓｐｉｎｅ）スイッチである。各スイッチのポートの隣に付与されている数値は、当該ポートが、いずれのアドレスの出力ポートであるかを示す。例えば、転送先アドレスが４であるパケットがスイッチｓｐ１に到着すると、当該パケットは、スイッチｓｐ１に接続されたポートから送出される。
【０００７】
なお、スイッチｓｐ１〜ｓｐ３について、括弧内に示された「Ｔｏ：ｘ、ｙ、ｚ」という記載は、ｘ、ｙ、又はｚを転送先アドレスとするパケットは、当該スイッチによって中継されることを示す。すなわち、転送先アドレスが、１、４、又は７であるパケットは、スイッチｓｐ１を経由する。転送先アドレスが、２、５、又は８であるパケットは、Ｓｐｉｎｅ２を経由する。転送先アドレスが、３、６、又は９であるパケットは、Ｓｐｉｎｅ３を経由する。但し、各リーフスイッチにおいて、当該リーフスイッチに直接接続されている計算ノードｎに対するパケットは、当該計算ノードｎに転送される。例えば、スイッチｌｆ１において、転送先アドレスが１、２、又は３であるパケットが受信された場合、当該パケットは、計算ノードｎ１、ｎ２、又はｎ３に転送される。
【０００８】
図１において、いずれかのスイッチが故障して通信不能となると、当該スイッチを経由しないように、経路切り替えが行われる。
【０００９】
図２は、第一の例のネットワークシステムにおいて一部のスイッチに故障が発生した場合の経路切り替えを説明するための図である。
【００１０】
同図では、スイッチｓｐ１に故障が発生した場合が示されている。この場合、リーフスイッチである、スイッチｌｆ１、ｌｆ２、及びｌｆ３において、スイッチｓｐ１に接続されていたポートに対して割り当てられていたアドレスは、他のポートに割り当てられる。例えば、スイッチｌｆ１において、アドレス４は、スイッチｓｐ２に接続されているポートに割り当てられている。アドレス７は、スイッチｓｐ３に接続されているポートに割り当てられている。その結果、スイッチｓｐ１を経由させることなく、パケットの中継が可能となる。
【００１１】
従来、ＩｎｆｉｎｉＢａｎｄネットワークシステムでは、各計算ノードｎのアドレスは、同一のリーフスイッチに接続されている計算ノードｎ群の中で順番に割り当てられている。一つのリーフスイッチに接続されている計算ノードｎ群に対するアドレスの割り当てが終わると、次のリーフスイッチに接続されている計算ノードｎ群について、続きの値から順番にアドレスが割り当てられる。例えば、図１において、スイッチｌｆ１に接続されている計算ノードｎ群のアドレスは、１〜３であり、スイッチｌｆ２に接続されている計算ノードｎ群のアドレスは、４〜６である。
【００１２】
また、各リーフスイッチの上側のＮ番目のポートは、Ｎ番目のスパインスイッチに接続される。例えば、図１において、各リーフスイッチのポートａは、スイッチｓｐ１に接続される。また、各リーフスイッチのポートｂは、スイッチｓｐ２に接続される。各リーフスイッチのポートｃは、スイッチｓｐ３に接続される。換言すれば、Ｎ番目のスパインスイッチは、各リーフスイッチの上側のＮ番目のポートを束ねる。すなわち、Ｎ番目のスパインスイッチは、各リーフスイッチの上側のＮ番目のポートに対応付けられたアドレスを転送先とするパケットの中継を行う。
【００１３】
以上のような接続形態及び経路設定によれば、同一のリーフスイッチに接続された各計算ノードｎが、他の同一のリーフスイッチの各計算ノードｎと同時に通信する場合、各通信経路を異なるものとすることができる。すなわち、適切に負荷分散を図ることができる。例えば、計算ノードｎ１が計算ノードｎ４（通信１）と、計算ノードｎ２が計算ノードｎ５（通信２）と、計算ノードｎ３が計算ノードｎ６（通信３）と、同時に通信を行う場合を考える。この場合、通信１については、スイッチｓｐ１を経由し、通信２については、スイッチｓｐ２を経由し、通信３について、スイッチｓｐ３を経由することになる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−３３３２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
更に、図３に示されるようなＩｎｆｉｎｉＢａｎｄネットワークを考える。図３は、ファットツリー構成を有するＩｎｆｉｎｉＢａｎｄネットワークシステムの第二の例を示す図である。図３に示されるネットワークの規模は、図１に示されるネットワークの規模に対して大きくなっている。
【００１６】
すなわち、図３のネットワークは、５１２台の計算ノードｎ１〜ｎ５１２、それぞれ３２ポートの３２台のリーフスイッチ（スイッチｌｆ１〜ｌｆ３２）、及びそれぞれ３２ポートの１６台のスパインスイッチ（スイッチｓｐ１〜ｓｐ１６）を含む。なお、各スパインスイッチにおける、「Ｔｏ：ｎ  ｍｏｄ  １６」という記載は、１６で除した余りがｎである転送先アドレスを有するパケットは、当該スイッチによって中継されることを示す。すなわち、１６で除した余りが１である転送先アドレスを有するパケットは、スイッチｓｐ１を経由する。余りが２である転送先アドレスを有するパケットは、スイッチｓｐ２を経由する。同様に、余りが０（又は１６）である転送先アドレスを有するパケットは、スイッチｓｐ１６を経由する。図３に示されるネットワークにおいても、いずれかのスイッチが故障して通信不能となると、当該スイッチを経由しないように、経路切り替えが行われる。
【００１７】
図４は、第二の例のネットワークシステムにおいて一部のスイッチに故障が発生した場合の経路切り替えを説明するための図である。
【００１８】
同図では、スイッチｓｐ１に故障が発生した場合が示されている。この場合、リーフスイッチである、スイッチｌｆ１、ｌｆ２、及びｌｆ３において、スイッチｓｐ１に接続されていたポートａに対して割り当てられていたアドレス（すなわち、１６で除した余りが１となるアドレス）は、他のポートｂ〜ｐに割り当てられる。
【００１９】
ところで、各スイッチは、アドレスと出力ポート番号とが対応付けられた経路情報を記憶するＦＤＢ（Forwarding DataBase）を有する。
【００２０】
図５は、ＩｎｆｉｎｉＢａｎｄのスイッチが有するＦＤＢの構成例を示す図である。図５のＦＤＢにおいて、行方向（Ｂａｓｅ）の値に列方向（Ｏｆｆｓｅｔ）の値を加算することによりアドレスが特定される。また、ａ〜ｐは、ポート番号を示す。例えば、同図のＦＤＢによれば、転送先アドレスが１であるパケットは、ポートａから送出すべきことが判る。同様に、転送先アドレスが６７（６４＋３）であるパケットは、ポートｃから送出すべきことが判る。なお、実際は、ＦＤＢの内容は一次元の情報であるが、図５では、便宜上、２次元的に表現されている。
【００２１】
図４に示されるように、スイッチｓｐ１に故障が発生した場合、各リーフスイッチにおいて、スイッチｓｐ１に接続しているポートａは使用できなくなる。したがって、図５において、ポートａに対応付けられているアドレスは、他のポートに割り当てられる必要がある。すなわち、図５において、破線の矩形によって囲まれた箇所に関して、更新が行われる必要がある。但し、ＩｎｆｉｎｉＢａｎｄのスイッチのＦＤＢでは、６４個のアドレスが更新単位とされている。すなわち、同図における、行単位が一データとして更新が行われる。したがって、スイッチｓｐ１に故障が発生した場合、ＦＤＢ内の全てのデータについて更新が行われる必要がある。このような事態は、スイッチｓｐ１以外の他のスパインスイッチに故障が発生した場合も同様である。
【００２２】
ＦＤＢの更新には１更新単位（１データ）につき、約４００ｕｓ〜１，０００ｕｓ程度の時間が必要とされる。大規模なネットワークでは、この更新時間が無視できない程度に大きくなる。既に２０００〜４０００ノード程度のシステムが構築されており、近い将来、図６に示されるような１００００ノードを超えるシステムも構築されることが予想される。図６では、６４８ポートを有する１８台のスパインスイッチ、３６ポートを有する６４８台のリーフスイッチ、及び１１６６４台の計算ノードがネットワークに接続されている。図６において、いずれかのスパインスイッチが故障した場合の各リーフスイッチのＦＤＢの更新時間は、約４７〜１１８秒であると予想される。この値は、ネットワーク通信に関して非常に大きな値である。
【００２３】
なお、特許文献１では、経路情報の更新を容易とすることを目的として、アドレス変換テーブルを用いた技術が開示されている。
【００２４】
しかしながら、アドレス変換テーブルを用いた場合、アドレス変換テーブルにおいて同一エントリに対応づけられているアドレス群は、常に同一のポートに対応付けられることになる。そうすると、当該アドレス群を異なるポートに対応付けて負荷分散を図ることが困難になるという問題がある。
【００２５】
上記の点に鑑みて、一つの側面では、中継装置の経路情報の更新時間を削減することのできるプログラム、情報処理装置、及び情報処理方法の提供を目的とする。
【課題を解決するための手段】
【００２６】
一つの案では、プログラムは、アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能なコンピュータに、同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる処理を実行させる。
【発明の効果】
【００２７】
中継装置の経路情報の更新時間を削減することができる。
【図面の簡単な説明】
【００２８】
【図１】ファットツリー構成を有するＩｎｆｉｎｉＢａｎｄネットワークシステムの第一の例を示す図である。
【図２】第一の例のネットワークシステムにおいて一部のスイッチに故障が発生した場合の経路切り替えを説明するための図である。
【図３】ファットツリー構成を有するＩｎｆｉｎｉＢａｎｄネットワークシステムの第二の例を示す図である。
【図４】第二の例のネットワークシステムにおいて一部のスイッチに故障が発生した場合の経路切り替えを説明するための図である。
【図５】ＩｎｆｉｎｉＢａｎｄのスイッチが有するＦＤＢの構成例を示す図である。
【図６】ファットツリー構成を有するＩｎｆｉｎｉＢａｎｄネットワークシステムの第三の例を示す図である。
【図７】第一の実施の形態におけるネットワークシステムの構成例を示す図である。
【図８】本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。
【図９】本発明の実施の形態における情報処理装置の機能構成例を示す図である。
【図１０】情報処理装置が実行する処理手順の一例を説明するためのフローチャートである。
【図１１】第一の実施の形態における計算ノードへのアドレスの割り当て処理の処理手順の一例を説明するためのフローチャートである。
【図１２】第一の実施の形態において計算ノードへのアドレスの割り当て後のネットワークシステムの状態の例を示す図である。
【図１３】初期経路の設定における各リーフスイッチへの経路情報の設定処理の処理手順の一例を説明するためのフローチャートである。
【図１４】第一の実施の形態においてリーフスイッチへの経路情報の設定後のネットワークシステムの状態の例を示す図である。
【図１５】第一の実施の形態におけるリーフスイッチのＦＤＢの設定例を示す図である。
【図１６】第二の実施の形態におけるネットワークシステムの構成例を示す図である。
【図１７】第二の実施の形態における計算ノードへのアドレスの割り当て処理の処理手順の一例を説明するためのフローチャートである。
【図１８】第二の実施の形態においてリーフスイッチへの経路情報の設定後のネットワークシステムの状態の例を示す図である。
【図１９】第二の実施の形態におけるリーフスイッチのＦＤＢの設定例を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面に基づいて本発明の実施の形態を説明する。図７は、第一の実施の形態におけるネットワークシステムの構成例を示す図である。
【００３０】
同図に示されるネットワークシステム１は、スパインスイッチＳｐ１〜Ｓｐ１６の１６台のスパインスイッチＳｐと、リーフスイッチＬｆ１〜Ｌｆ３２の３２台のリーフスイッチＬｆと、リーフスイッチＬｆごとに１６台（総計５１２台）の計算ノードＮ（エンドノード）とを含む。スパインスイッチＳｐ１〜Ｓｐ１６、リーフスイッチＬｆ１〜Ｌｆ３２、及び計算ノードＮ１〜ノードＮ１６等は、ファットツリーを構成するように、ネットワークによって接続されている。なお、ファットツリーとは、スイッチ間の階層において、上段のスイッチから下段のスイッチへと均等に対照的に接続されたツリー型のトポロジである。ファットツリーにおいて、複数の最上段のスイッチは、互いに接続されず、並列して存在する。
【００３１】
計算ノードＮは、リーフスイッチＬｆ１〜Ｌｆ３２及びスパインスイッチＳｐ１〜Ｓｐ１６を介して相互に通信を行いながら所定の演算を行うコンピュータである。同図において、各リーフスイッチＬｆに接続されている計算ノードＮの符号（Ｎ１〜Ｎ１６）は、便宜上重複しているが、それぞれ異なる計算ノードＮを示す。例えば、リーフスイッチＬｆ１に接続されている計算ノードＮ１と、リーフスイッチＬｆ２等に接続されている計算ノードＮ１とは、異なる計算ノードＮである。
【００３２】
リーフスイッチＬｆ１〜Ｌｆ３２は、それぞれ３２個のポートを有するＩｎｆｉｎｉＢａｎｄスイッチである。リーフスイッチＬｆ１〜Ｌｆ３２は、本実施の形態において、第一の中継装置の一例である。各リーフスイッチＬｆは、それぞれ１６台のスパインスイッチＳｐ１〜Ｓｐ１６と、１６台の計算ノードＮに接続されている。なお、各リーフスイッチＬｆのポートに付されたａ〜ｐ又はＡ〜Ｐは、ポートの番号を示す。番号は本来数値であるが、同図では、便宜上アルファベットによって示されている。なお、本実施の形態において、ポート番号は、Ａ〜Ｐ、ａ〜ｐの順番であるとする。すなわち、ａは、Ｐの次の番号である。
【００３３】
スパインスイッチＳｐ１〜Ｓｐ１６は、リーフスイッチＬｆ１〜Ｌｆ３２間を接続するＩｎｆｉｎｉＢａｎｄスイッチである。すなわち、各リーフスイッチＬｆ（リーフスイッチＬｆ１〜Ｌｆ３２）において、転送先アドレスが当該リーフスイッチＬｆに接続された計算ノードＮ宛でないパケット（通信データ）が受信された場合、当該パケットは、スパインスイッチＳｐ１〜Ｓｐ１６のいずれかを経由して、当該計算ノードＮに転送される。なお、スパインスイッチＳｐ１〜Ｓｐ１６は、本実施の形態において、中継装置の一例である。
【００３４】
リーフスイッチＬｆ１〜Ｌｆ３２及びリーフスイッチＬｆ１〜Ｌｆ３２（これらのスイッチを区別しない場合、単に、「スイッチ」という。）は、それぞれＦＤＢ（Forwarding DataBase）と呼ばれるデータベース（記憶部）を用いて、経路情報を管理する。経路情報とは、計算ノードＮのアドレスと、スイッチにおけるポート番号とが対応付けられた情報をいう。
【００３５】
なお、同図は、ネットワークシステム１の起動前の状態を示す。したがって、各計算ノードＮ１〜Ｎ１６のアドレス（ＬＩＤ（Local Identifier））は決定されて（割り当てられて）いない。また、各スイッチに対して経路情報も設定されていない。すなわち、ＩｎｆｉｎｉＢａｎｄネットワークのシステムにおいて、各計算ノードＮへのアドレスの割り当て及び各スイッチへの経路情報の設定等は、当該システムの起動時に実行される。
【００３６】
本実施の形態において、各計算ノードNのアドレスの割り当て及び各スイッチへの経路情報の設定等は、情報処理装置１０によって行われる。情報処理装置１０は、スパインスイッチＳｐ１〜Ｓｐ１６、リーフスイッチＬｆ１〜Ｌｆ３２、及び計算ノードＮ群のうちのいずれか一台のスイッチ又は計算ノードＮである。または、ネットワークシステム１とネットワークを介して接続されるコンピュータであってもよい。
【００３７】
図８は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。同図において、情報処理装置１０は、それぞれバスBで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００３８】
情報処理装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。または、当該プログラムは、情報処理装置１０の出荷時点において、予め補助記憶装置１０２に記録されていてもよい。したがって、情報処理装置１０は、必ずしもドライブ装置１００を有していなくてもよい。
【００３９】
補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００４０】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００４１】
図９は、本発明の実施の形態における情報処理装置の機能構成例を示す図である。同図において、情報処理装置１０は、初期経路探索部１１、アドレス割当部１２、初期経路設定部１３、故障検知部１４、及び迂回経路設定部１５等を有する。これら各部は、情報処理装置１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理によって実現される。なお、当該プログラムは、ＩｎｆｉｎｉＢａｎｄにおいてサブネットマネージャと呼ばれるプログラムの構成要素として実装されてもよい。
【００４２】
初期経路探索部１１は、ネットワークシステム１の起動時（初期化時）において、使用可能な経路の探索等を行う。アドレス割当部１２は、各計算ノードＮに対するアドレスを割り当てる。なお、本実施の形態において、アドレス割当部１２は、割当部の一例である。初期経路設定部１３は、各リーフスイッチＬｆ及び各スパインスイッチＳｐに対して、初期経路の経路情報の設定等を行う。経路情報は、各スイッチのＦＤＢ（Forwarding DataBase）に記録される。
【００４３】
故障検知部１４は、ネットワークシステム１における故障を検知する。例えば、或るスパインスイッチＳｐの故障等が、故障検知部１４によって検知される。迂回経路設定部１５は、故障検知部１４によって検知された故障箇所に応じた迂回経路を探索し、当該迂回経路に応じた経路情報の設定を各リーフスイッチＬｆ及び各スパインスイッチＳｐに行う。
【００４４】
以下、情報処理装置１０の処理手順について説明する。図１０は、情報処理装置が実行する処理手順の一例を説明するためのフローチャートである。
【００４５】
ネットワークシステム１が起動されると、初期経路探索部１１は、ネットワークシステム１内の経路を走査し、現時点で使用可能な経路を確認する（Ｓ１０１）。続いて、初期経路探索部１１は、使用可能な経路に基づいて初期経路を探索する（Ｓ１０２）。なお、使用可能な経路の確認及び初期経路の探索等は、公知技術を用いて行われればよい。
【００４６】
続いて、アドレス割当部１２は、各計算ノードＮに対するアドレスの割り当て処理を実行する（Ｓ１０３）。続いて、初期経路設定部１３は、各リーフスイッチＬｆ及び各スパインスイッチＳｐに対して、初期経路に係る経路情報の設定を行う（Ｓ１０４）。
【００４７】
ステップＳ１０４が終了することにより、ネットワークシステム１に対する初期設定は完了し、各計算ノードＮは、相互に通信をしながら演算処理を行うことが可能となる。すなわち、ネットワークシステム１は、稼動状態となる。
【００４８】
ネットワークシステム１が稼動状態の間、故障検知部１４は、定期的にネットワークシステム１内の経路を走査し、故障箇所の有無を確認する（Ｓ１０５、Ｓ１０６でＮｏ、Ｓ１０７）。但し、故障が発生した場合、故障が発生したスイッチ又は他のスイッチより情報処理装置１０に対して故障箇所が通知されるようにしてもよい。
【００４９】
故障箇所が検知されると（Ｓ１０６でＹｅｓ）、迂回経路設定部１５は、現在ネットワークシステム１に設定されている経路情報が示す経路のうち、故障箇所を経由する経路について、迂回経路を探索する（Ｓ１０８）。迂回経路の探索は、公知技術を用いて行われればよい。例えば、負荷分散等が考慮されて、適切な迂回経路が探索される。続いて、迂回経路設定部１５は、探索された迂回経路に係る新たな経路情報を、各スイッチに設定する（Ｓ１０９）。迂回経路の設定は、公知技術用いて行われればよい。
【００５０】
続いて、ステップＳ１０３の詳細について説明する。図１１は、第一の実施の形態における計算ノードへのアドレスの割り当て処理の処理手順の一例を説明するためのフローチャートである。
【００５１】
ステップＳ２０１において、アドレス割当部１２は、変数ｐ、ｌ、及びａｄｄｒの値を、それぞれ１に初期化する。変数ｐは、注目対象（処理対象）のポートのポート番号を示す変数である。変数ｌは、注目対象のリーフスイッチＬｆの番号を示す変数である。リーフスイッチＬｆの番号とは、リーフスイッチＬｆ間における順番に応じた番号である。当該順番は、アドレス割当部１２によって任意に判定されてもよいし、予め設定されていてもよい。変数ａｄｄｒは、計算ノードＮに割り当てられるアドレスを保持する変数である。
【００５２】
続いて、アドレス割当部１２は、変数ｐの値が定数ｎｏｄｅ＿ｎｕｍ以下であるか否かを判定する（Ｓ２０２）。定数ｎｏｄｅ＿ｎｕｍは、１台のリーフスイッチＬｆに接続されている計算ノードＮの台数である。したがって、第一の実施の形態においてｎｏｄｅ＿ｎｕｍの値は１６である（図７参照）。すなわち、ステップＳ２０２では、注目対象のリーフスイッチＬｆ（変数ｌで特定されるリーフスイッチＬｆ）において計算ノードＮに接続されているポートのうち、ステップＳ２０３以降が未実行のポートの有無が判定される。
【００５３】
変数ｐの値が定数ｎｏｄｅ＿ｎｕｍ以下である場合（すなわち、ステップＳ２０３以降が未実行のポートが有る場合）（Ｓ２０２でＹｅｓ）、アドレス割当部１２は、変数ｌの値が定数ｌｅａｆ＿ｎｕｍ以下であるか否かを判定する（Ｓ２０３）。定数ｌｅａｆ＿ｎｕｍは、リーフスイッチＬｆの台数である。したがって、第一の実施の形態においてｌｅａｆ＿ｎｕｍの値は３２である（図７参照）。すなわち、ステップＳ２０３では、ステップＳ２０４及びＳ２０５が未実行のリーフスイッチＬｆの有無が判定される。
【００５４】
変数ｌの値が定数ｌｅａｆ＿ｎｕｍ以下である場合（すなわち、ステップＳ２０４及びＳ２０５が未実行のリーフスイッチＬｆが有る場合）（Ｓ２０３でＹｅｓ）、アドレス割当部１２は、ステップＳ２０４及びＳ２０５を実行する。ステップＳ２０４において、アドレス割当部１２は、ｌ番目のリーフスイッチＬｆのｐ番目のポートの隣接ノードである計算ノードＮに変数ａｄｄｒの現在値をアドレスとして割り当てる（Ｓ２０４）。すなわち、当該計算ノードＮと、変数ａｄｄｒの現在値との対応情報がメモリ装置１０３に記録される。又は、変数ａｄｄｒの現在値が、アドレス（ＬＩＤ）として割り当てられたことが、当該計算ノードＮに通知されてもよい。なお、ｐ番目のポートの隣接ノードとは、ｐ番目のポートに直接接続されている計算ノードＮをいう。
【００５５】
例えば、初めてステップＳ２０４が実行される場合、変数ｐ、ｌ、及びａｄｄｒの値はそれぞれ１である。したがって、この場合、図７におけるリーフスイッチＬｆ１のポートＡの隣接ノードである計算ノードＮ１に対して、１がアドレスとして割り当てられる。
【００５６】
続いて、アドレス割当部１２は、変数ｌ及び変数ａｄｄｒのそれぞれに１を加算する（Ｓ２０５）。すなわち、注目対象のリーフスイッチＬｆが次のリーフスイッチＬｆとされ、アドレスが１増加する。
【００５７】
ステップＳ２０４及びＳ２０５は、全てのリーフスイッチＬｆが処理対象とされるまで繰り返される。例えば、変数ｐが１の場合、全てのリーフスイッチＬｆのポート番号が１のポートのそれぞれの隣接ノードである計算ノードＮに対してアドレスが順番に割り当てられる。すなわち、各リーフスイッチＬｆの同一番号のポートに接続される計算ノードＮ群ごとに、リーフスイッチＬｆ間の順番で、連続したアドレスが計算ノードＮに割り当てられる。
【００５８】
変数ｌの値が定数ｌｅａｆ＿ｎｕｍを超えると（すなわち、全てのリーフスイッチＬｆに関してステップＳ２０４及びＳ２０５が実行されると）（Ｓ２０３でＮｏ）、アドレス割当部１２は、変数ｌの値を１に初期化し、変数ｐの値に１を加算する（Ｓ２０６）。続いて、アドレス割当部１２は、ステップＳ２０２以降を繰り返す。すなわち、各リーフスイッチのｐ番目のポートの隣接ノードである計算ノードＮについて、順番にアドレスの割り当てが行われる。
【００５９】
図１１に示される処理手順の結果、図７のネットワークシステム１は、図１２に示されるような状態となる。
【００６０】
図１２は、第一の実施の形態において計算ノードへのアドレスの割り当て後のネットワークシステムの状態の例を示す図である。図１２中、図７と同一部分には同一符号を付し、その説明は省略する。
【００６１】
図７と比較して、図１２では、各計算ノードＮを示す円の中に数値が記載されている。当該数値は、計算ノードＮに対して割り当てられたアドレスを示す。
【００６２】
同図より明らかなように、各リーフスイッチＬｆの同一番号のポートに接続されている計算ノードＮ群に割り当てられたアドレスは連続している。例えば、ポートＡに接続されている計算ノードＮ群に割り当てられたアドレスは、１〜３２である。同様に、ポートＢに接続されている計算ノードＮ群に割り当てられたアドレスは、３３〜６４である。
【００６３】
続いて、図１０のステップＳ１０４の詳細について説明する。図１３は、初期経路の設定における各リーフスイッチへの経路情報の設定処理の処理手順の一例を説明するためのフローチャートである。
【００６４】
ステップＳ３０１において、初期経路設定部１３は、変数ｌ＿ｔａｒｇｅｔの値を１に初期化する。変数ｌ＿ｔａｒｇｅｔは、経路情報の設定対象とするリーフスイッチＬｆの番号を示す変数である。続いて、初期経路設定部１３は、変数ｌの値を１に初期化する（Ｓ３０２）。変数ｌは、経路情報において宛先となる計算ノードＮが接続されているリーフスイッチＬｆの番号を示す変数である。
【００６５】
続いて、初期化設定部は、変数ｌの値が定数ｌｅａｆ＿ｎｕｍ以下であるか否かを判定する。定数ｌｅａｆ＿ｎｕｍについては、図１１において説明した通りである。変数ｌの値が定数ｌｅａｆ＿ｎｕｍ以下である場合（Ｓ３０３でＮｏ）、初期経路設定部１３は、変数ｐ及び変数ｓの値をそれぞれ１に初期化する。変数ｐは、変数ｌによって識別されるリーフスイッチＬｆにおいて、注目対象のポートのポート番号を示す。変数ｓは、注目対象のスパインスイッチＳｐの番号を示す。スパインスイッチＳｐの番号とは、スパインスイッチＳｐ間における順番に応じた番号である。
【００６６】
続いて、初期経路設定部１３は、変数ｐの値が、定数ｎｏｄｅ＿ｎｕｍ以下であるか否かを判定する（Ｓ３０５）。定数ｎｏｄｅ＿ｎｕｍについては、図１１において説明した通りである。変数ｐの値が定数ｎｏｄｅ＿ｎｕｍ以下である場合（Ｓ３０５でＹｅｓ）、初期経路設定部１３は、変数ｌ＿ｔａｒｇｅｔと変数ｌの値は一致するか否かを判定する（Ｓ３０７）。すなわち、経路情報の設定対象のリーフスイッチＬｆは、経路情報において宛先となる計算ノードＮが接続されているリーフスイッチＬｆと同一であるか否かが判定される。
【００６７】
経路情報の設定対象のリーフスイッチＬｆが、経路情報において宛先となる計算ノードＮが接続されているリーフスイッチＬｆである場合（Ｓ３０７でＹｅｓ）、初期経路設定部１３は、当該リーフスイッチＬｆのｐ番目のポートを、当該ポートに接続されている計算ノードＮに対する経路として設定する（Ｓ３０８）。すなわち、ｐ番目のポートのポート番号（ｐ）と、当該ポートに接続されている計算ノードＮに割り当てられたアドレスとの対応情報が、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆのＦＤＢに設定される。例えば、図１２において、リーフスイッチＬｆ１のポートＡに接続されている計算ノードＮ１に割り当てられたアドレスと、リーフスイッチＬｆ１のポートＡのポート番号（Ａ）との対応情報が、リーフスイッチＬｆ１のＦＤＢに設定される。
【００６８】
続いて、初期経路設定部１３は、変数ｐに１を加算し（Ｓ３０９）、ステップＳ３０５以降を繰り返す。その結果、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆに接続されている各計算ノードＮのアドレスと、当該各計算ノードＮが接続されているポートのポート番号との対応情報が、当該リーフスイッチＬｆのＦＤＢに設定される。
【００６９】
変数ｐの値が、定数ｎｏｄｅ＿ｎｕｍの値を超えると（Ｓ３０５でＮｏ）、初期経路設定部１３は、変数ｌに１を加算し（Ｓ３０６）、ステップＳ３０３以降を実行する。その結果、ステップＳ３０７において、変数ｌ＿ｔａｒｇｅｔと変数ｌとの値が相違する。例えば、経路情報の設定対象がリーフスイッチＬｆ１であり、経路情報の宛先の計算ノードＮが接続されたリーフスイッチＬｆがリーフスイッチＬｆ２となる。この場合（Ｓ３０７でＮｏ）、初期経路設定部１３は、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆにおいて、ｓ番目のスパインスイッチＳｐに接続されているポートを、ｌ番目のリーフスイッチのｐ番目のポートに接続されている計算ノードＮに対する経路として設定する（Ｓ３１０）。すなわち、ｓ番目のスパインスイッチＳｐに接続されているポートのポート番号と、当該計算ノードＮに割り当てられたアドレスとの対応情報が、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆのＦＤＢに設定される。例えば、図１２において、リーフスイッチＬｆ２のポートＡに接続されている計算ノードＮ１に割り当てられたアドレスと、リーフスイッチＬｆ１のポートａのポート番号（ａ）との対応情報が、リーフスイッチＬｆ１のＦＤＢに設定される。
【００７０】
続いて、初期経路設定部１３は、変数ｓの値を定数ｓｐｉｎｅ＿ｎｕｍで除した結果の余りをｓに代入し、更にｓに１を加算する（Ｓ３１１）。定数ｓｐｉｎｅ＿ｎｕｍは、スパインスイッチＳｐの台数である。したがって、本実施の形態において、定数ｓｐｉｎｅ＿ｎｕｍの値は、１６である。なお、変数ｓをｓｐｉｎｅ＿ｎｕｍを除した結果の余りを変数ｓに代入するのは、変数ｓの値が、１以上定数ｓｐｉｎｅ＿ｎｕｍ以下の範囲をループするようにするためである。続いて、初期経路設定部１３は、変数ｐに１を加算し（Ｓ３０９）、ステップＳ３０５以降を繰り返す。その結果、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆにおいて、スパインスイッチＳｐに接続されているポートａ〜ｐと、他のリーフスイッチＬｆに接続されている計算ノードＮとの対応情報が、ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆのＦＤＢに設定される。
【００７１】
ｌ＿ｔａｒｇｅｔ番目のリーフスイッチＬｆのＦＤＢへの経路情報の設定が終了すると（Ｓ３１２でＹｅｓ）、初期経路設定部１３は、変数ｌ＿ｔａｒｇｅｔに１を加算し、ステップＳ３０２以降を繰り返す。その結果、次のリーフスイッチＬｆのＦＤＢに経路情報が設定される。全てのリーフスイッチＬｆに関して経路情報の設定が完了すると（Ｓ３１２でＮｏ）、図１３の処理は終了する。
【００７２】
図１３の処理の結果、ネットワークシステム１の状態は、図１４は、第一の実施の形態においてリーフスイッチへの経路情報の設定後のネットワークシステムの状態の例を示す図である。図１４中、図１２と同一部分には同一符号を付し、その説明は省略する。
【００７３】
同図において、各リーフスイッチＬｆの各ポートの隣に付与されている数値は、当該ポートに対応づけられたアドレスを示す。但し、計算ノードＮに接続されているポートＡ〜Ｐについては、対応付けられたアドレスは自明である（当該計算ノードＮのアドレスである）ため、当該アドレスの図示は省略されている。
【００７４】
ここで、各リーフスイッチＬｆにおいて、スパインスイッチＳｐに接続されているポートａ〜ｐに対応付けられているアドレスは、それぞれ連続している。例えば、リーフスイッチＬｆ１のポートａは、連続したアドレス２〜３２に対応づけられている。ポートｂは、連続したアドレス３４〜６４に対応付けられている。他のリーフスイッチＬｆのポートａ〜ｐに関しても同様である。
【００７５】
その結果、各リーフスイッチＬｆのＦＤＢの内容は、例えば、図１５に示されるようになる。図１５は、第一の実施の形態におけるリーフスイッチのＦＤＢの設定例を示す図である。
【００７６】
同図のＦＤＢにおいて、行方向（Ｂａｓｅ）の値に列方向（Ｏｆｆｓｅｔ）の値を加算することによりアドレスが特定される。また、ａ〜ｐは、ポート番号を示す。例えば、同図のＦＤＢによれば、転送先アドレスが１であるパケットは、ポートａから送出すべきことが判る。同様に、転送先アドレスが６４（６４＋０）であるパケットは、ポートｂから送出すべきことが判る。なお、本来的には、ＦＤＢの内容は一次元の情報であるが、図１５では、便宜上、２次元的に表現されている。
【００７７】
スパインスイッチＳｐに接続されているポートａ〜ｐについては、対応付けられているアドレスが連続しているため、ＦＤＢ内においても、同一のポート番号は、連続して記憶される。例えば、ポート番号ａが連続した後、ポート番号ｂが連続する。すなわち、同じポート番号は、一以上の更新単位（書き込み処理単位）の複数の連続したアドレスに対応させて記憶されている。その結果、いずれかのスパインスイッチＳｐに故障が発生した際の迂回経路の設定時において、ＦＤＢの更新時間を短縮することができる。
【００７８】
例えば、図１４においてスパインスイッチＳｐ１が故障した場合を考える。この場合、各リーフスイッチＬｆのポートａに対応付けられているアドレスに関して、ＦＤＢの内容が更新される必要がある。この際の更新範囲は、図１５において、破線Ｕによって囲まれている範囲である。ＩｎｉｆｉｎｉＢａｎｄでは、６４個のアドレスが更新単位（書き込み処理単位）とされるため、図１５において、１行目のデータが実際の更新対象とされる。図５において説明したように、従来であれば、ＦＤＢの全ての更新単位が更新される必要があったところ、本実施の形態によれば、更新される更新単位を限定することができる。したがって、迂回経路設定時のＦＤＢの更新時間を短縮することができる。
【００７９】
また、迂回経路の設定時において、各リーフスイッチにおいて使用できなくなったポートに対応付けられていたアドレスは、それぞれ単独で他のポートに割り振ることができる。すなわち、同一ポートに対応付けられていたアドレスは、一緒に他のポートに割り振られなければならないという制約は存在しない。したがって、本実施の形態によれば、負荷分散を考慮した迂回経路の設定を行うことができる。
【００８０】
なお、図１５では、アドレスが昇順に並んでいるＦＤＢが示されている。但し、アドレスは降順に並んでいてもよい。また、昇順又は降順を問わず、アドレスは連続していなくてもよい。例えば、アドレスは、飛び飛びでもよく、又はランダムな並び順であってもよい。ＦＤＢにおけるアドレスの並び順がどのような形態であっても、各リーフスイッチＬｆの同一のポート番号は、同一の更新単位のアドレスに対応するようにＦＤＢに記録されればよい。但し、同一のポート番号の全てが、同一の更新単位に含まれなくてもよい。例えば、図１５のポート番号ｂ等のように、一以上の更新単位に跨るポート番号が有ってもよい。
【００８１】
換言すれば、ＦＤＢにおけるアドレスの並び順（特定の並び順に限定されない）に対して、同一のポート番号が連続するように、各ポート番号とアドレスとが対応付けられればよい。
【００８２】
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
【００８３】
図１６は、第二の実施の形態におけるネットワークシステムの構成例を示す図である。
【００８４】
同図に示されるネットワークシステム２は、スパインスイッチＳｐ１〜Ｓｐ１８の１８台のスパインスイッチＳｐと、リーフスイッチＬｆ１〜Ｌｆ６４８の６４８台のリーフスイッチＬｆと、リーフスイッチＬｆごとに１８台（総計１１６６４台）の計算ノードＮとを含む。スパインスイッチＳｐ１〜Ｓｐ１８、リーフスイッチＬｆ１〜Ｌｆ６４８、及び計算ノードＮ１〜ノードＮ１８等は、ファットツリーを構成するように、ネットワークによって接続されている。
【００８５】
スパインスイッチＳｐ１〜Ｓｐ１８は、６４８ポートを有するＩｎｆｉｎｉＢａｎｄスイッチである。したがって、各スパインスイッチＳｐは、６４８台のリーフスイッチＬｆと接続されている。
【００８６】
リーフスイッチＬｆ１〜Ｌｆ６４８は、３６ポートを有するＩｎｆｉｎｉＢａｎｄスイッチである。１８ポートはスパインスイッチＳｐ１〜Ｓｐ１８との接続に使用され、残りの１８ポートは、計算ノードＮ１〜Ｎ１８との接続に使用されている。
【００８７】
このように、第二の実施の形態のネットワークシステム２は、第一のネットワークシステム１より大規模となっている。但し、このことは、第二の実施の形態が、ネットワークシステム１において有効でないことを示すものでない。単に、ネットワークシステムのバリエーションを示すために、第二の実施の形態では、第一の実施の形態と規模の異なるネットワークシステム２を例示したにすぎない。
【００８８】
第二の実施の形態では、アドレス割当部１２が実行する処理手順が第一の実施の形態と異なる。
【００８９】
図１７は、第二の実施の形態における計算ノードへのアドレスの割り当て処理の処理手順の一例を説明するためのフローチャートである。図１７中、図１１と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００９０】
図１７では、ステップＳ２０７が追加されている。ステップＳ２０７において、アドレス割当部１２は、変数ａｄｄｒに、以下の式（１）による演算結果を代入する。
【００９１】
［（ａｄｄｒ＋６３）／６４］×６４  ・・・（１）
式（１）において、［］は、［］内の演算結果を超えない最大の整数を示す。すなわち、［（ａｄｄｒ＋６３）／６４］の演算結果における小数点以下は切り捨てられる。その結果、式（１）の演算結果は、６４の倍数となる。
【００９２】
すなわち、ステップＳ２０７は、１番目のリーフスイッチＬｆ（リーフスイッチＬｆ１）の２番目のポート以降に接続される計算ノードＮのアドレスを６４の倍数とするための処理である。６４という値は、ＦＤＢの更新単位のアドレス数に由来する。したがって、更新単位が異なる場合、当該更新単位のアドレス数に基づいて、式（１）における６３及び６４の値が置換されればよい。
【００９３】
図１７に示される、計算ノードＮへのアドレスの割り当て処理が行われ、更に、図１３において説明した、リーフスイッチＬｆへの経路情報の設定処理が行われると、ネットワークシステム２は、図１８に示されるようになる。
【００９４】
図１８は、第二の実施の形態においてリーフスイッチへの経路情報の設定後のネットワークシステムの状態の例を示す図である。
【００９５】
図１８の見方は、図１４と同様である。すなわち、各リーフスイッチＬｆのポートａ〜ｒに付与された数値は、各ポートに対応付けられているアドレスを示す。図１８において、図１４と大きく異なる点として、計算ノードＮに割り当てられたアドレスに連続していない箇所が存在する点が挙げられる。すなわち、図１４では、５１２台の計算ノードＮのアドレスは、１〜５１２の範囲で連続していた。しかし、図１８では、アドレス６４９〜アドレス７０３の間等、使用されていないアドレスが存在する。これは、式（１）を用いて、リーフスイッチＬｆ１の計算ノードＮのアドレスが、６４の倍数となるように調整されていたことに起因する。その結果、各リーフスイッチＬｆのＦＤＢの内容は、例えば、図１９に示されるようになる。
【００９６】
図１９は、第二の実施の形態におけるリーフスイッチのＦＤＢの設定例を示す図である。同図の見方は、図１５と同様である。
【００９７】
同図のＦＤＢでは、異なるポート番号の間にはパディングが施された状態となっている。具体的には、各ポート番号に対応付けられたアドレスが更新単位の途中で終了した場合、当該更新単位の末尾までは未使用領域とされている。その結果、各ポート番号は、常に、更新単位において１１単位以内に収まるように記録されている。すなわち、パディングが施されない場合、１２単位に跨るポート番号も発生しうる。しかし、本実施の形態によれば、各ポート番号が跨る更新単位を均一化することができる。その結果、いずれのスパインスイッチＳｐが故障した場合においても、迂回経路の設定処理におけるＦＤＢの更新時間を均一化することができる。
【００９８】
第二の実施の形態のように、１１６６４台の計算ノードＮを有する場合、従来に比べて、更新対象とされる更新単位の数を約１／１８に削減することができる。その結果、更新時間が約２．６〜６．６秒に短縮されるものと推測される。
【００９９】
なお、上記の実施の形態では、ファットツリー構成が採用された例を示したが、迂回経路を形成可能なネットワークトポロジーであれば、他のネットワークトポロジーに関して本実施の形態が適用されてもよい。
【０１００】
また、各計算ノードに対して、動的にアドレスを割り当てることが可能なネットワークシステムであれば、ＩｎｆｉｎｉＢａｎｄ以外の仕様に基づくネットワークシステムに対して本実施の形態が適用されてもよい。
【０１０１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１０２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能なコンピュータに、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる、
処理を実行させることを特徴とするプログラム。
（付記２）
前記記憶させる処理は、異なるボート番号を同一の前記書き込み処理単位に含めないで記憶させる付記１記載のプログラム。
（付記３）
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能な情報処理装置であって、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる割当部を有する情報処理装置。
（付記４）
前記割当部は、異なるボート番号を同一の前記書き込み処理単位に含めないで記憶させる付記３記載のプログラム。
（付記５）
アドレスに対応させてポート番号を記憶可能であって、ポート番号の書き込み処理単位が、所定数の連続したアドレスに制限される記憶部にポート番号の書き込み処理が可能なコンピュータが、
同じポート番号が割り当てられた出力ポートを有する複数の中継装置の各出力ポートのポート番号を、一以上の前記書き込み処理単位の複数の連続したアドレスに対応させて記憶させる、
処理を実行することを特徴とする情報処理方法。
（付記６）
前記記憶させる処理は、異なるボート番号を同一の前記書き込み処理単位に含めないで記憶させる付記５記載のプログラム。
【符号の説明】
【０１０３】
１、２      ネットワークシステム１
１０          情報処理装置
１１          初期経路探索部
１２          アドレス割当部
１３          初期経路設定部
１４          故障検知部
１５          迂回経路設定部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
Ｓｐ１〜Ｓｐ１８    スパインスイッチ
Ｌｆ１〜Ｌｆ６４８    リーフスイッチ
Ｎ１〜Ｎ１８    計算ノード
【図１】
0005617582.tif 000002
【図２】
0005617582.tif 000003
【図３】
0005617582.tif 000004
【図４】
0005617582.tif 000005
【図５】
0005617582.tif 000006
【図６】
0005617582.tif 000007
【図７】
0005617582.tif 000008
【図８】
0005617582.tif 000009
【図９】
0005617582.tif 000010
【図１０】
0005617582.tif 000011
【図１１】
0005617582.tif 000012
【図１２】
0005617582.tif 000013
【図１３】
0005617582.tif 000014
【図１４】
0005617582.tif 000015
【図１５】
0005617582.tif 000016
【図１６】
0005617582.tif 000017
【図１７】
0005617582.tif 000018
【図１８】
0005617582.tif 000019
【図１９】
0005617582.tif 000020