(57)【要約】【課題】複数のトポロジー構造を組み合わせて形成したネットワークの一部分で、経路競合のない全対全通信を行うこと。【解決手段】情報処理装置１０１は、切り出し情報１１１Ａ、Ｂを参照して、第１の切り出し数と第２の切り出し数との積がｍ以上となる第１の切り出し数群のうちの第１の切り出し数と、第２の切り出し数群のうちの第２の切り出し数とを決定する。次に、情報処理装置１０１は、決定した第１の切り出し数に対応する第１の切り出し数分の入力ポートのＩＤと、決定した第２の切り出し数に対応する第２の切り出し数分の出力ポートのＩＤとを特定する。そして、情報処理装置１０１は、第１の切り出し数分の入力ポートＩＤと第２の切り出し数分の入力ポートＩＤとに基づいて、複数の送信元および複数の宛先から経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う切り出し対象送信元および切り出し対象宛先を決定する。【選択図】図１
2018074258.tif 000002
【特許請求の範囲】
【請求項１】
出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部と、
前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶部は、さらに、
前記ネットワーク内の各トポロジー構造の接続関係を示す接続情報と、前記各第１の切り出し数に対応して、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行う入力ポートと出力ポートとの組み合わせを示す前記各第１の切り出し数分の転送パターンと、前記各第２の切り出し数に対応して、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行う入力ポートと出力ポートとの組み合わせを示す前記各第２の切り出し数分の転送パターンとを記憶し、
前記制御部は、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の転送パターンと、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の転送パターンとの組み合わせに対応して、前記接続情報が示す前記ネットワークにおいて前記組み合わせの転送パターンが指定される際に、決定した前記切り出し対象送信元のそれぞれから前記切り出し対象宛先までの経路を特定し、
当該組み合わせに対応して特定した前記経路に基づいて、前記ネットワークにおいて前記切り出し対象送信元のそれぞれから前記切り出し対象宛先のそれぞれまで経路競合なく全対全通信を行う転送パターンと、前記ネットワーク内の各トポロジー構造における前記切り出し対象送信元と前記切り出し対象宛先との組み合わせに対応する出力ポートとを決定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、
ｎを２以上のいずれかの自然数とし、入力ポートおよび出力ポートを第１の数分有する第１の種別のトポロジー構造から入力ポートおよび出力ポートを第ｎの数分有する第ｎの種別のトポロジー構造までのｎ種類のトポロジー構造を有し、前記第１の種別のトポロジー構造の入力ポートに複数の送信元のそれぞれが接続し、前記第ｎの種別のトポロジー構造の出力ポートに複数の宛先のそれぞれが接続するネットワークにおいて、ｉを１からｎまでの各自然数とし、第ｉの種別のトポロジー構造において経路競合なく全対全通信を行える前記第ｉの数以下の切り出し可能な入力ポートの第ｉの切り出し数群と、前記第ｉの切り出し数群の各第ｉの切り出し数に対応する前記各第ｉの切り出し数分の前記入力ポートの識別情報とを、記憶し、
前記制御部は、
前記第１の数から前記第ｎの数までの積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数から第ｎの切り出し数までの積が前記いずれかの数以上となる、前記第ｉの切り出し数群のうちの前記第ｉの切り出し数を前記ｉに対応して決定し、
決定した前記第ｉの切り出し数に対応する前記第ｉの切り出し数分の前記入力ポートの識別情報に基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記ネットワークに含まれるトポロジー構造が、前記ｎを３以上のいずれかの奇数とし、ｊを１から（（ｎ−１）／２）までの各自然数とし、前記ネットワークに含まれる第ｊの種別のトポロジー構造が、第（ｎ−ｊ＋１）種別のトポロジー構造を逆さにしたトポロジー構造であり、第（（ｎ＋１）／２）種別のトポロジー構造が、スイッチ同士を接続する複数のスイッチを有し、かつ、前記複数のスイッチのそれぞれを結ぶ線を軸として線対称となる構造を有し、
第ｊの種別のトポロジー構造における第ｊの切り出し数群の各第ｊの切り出し数分の前記入力ポートの識別情報が、第（ｎ−ｊ＋１）の切り出し数群のうちの前記各第ｊの切り出し数と同一の値となるいずれかの第（ｎ−ｊ＋１）の切り出し数分の前記入力ポートの識別情報と同一であり、
前記制御部は、
前記第１の数から前記第ｎの数までの積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数から第ｎの切り出し数までの積が前記いずれかの数以上となり、かつ、１から（（ｎ−１）／２）までの各自然数となる第ｘの切り出し数が、第（ｎ−ｘ＋１）の切り出し数と同一の値となる、前記第ｉの切り出し数群のうちの前記第ｉの切り出し数を前記ｉに対応して決定する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、
前記複数の送信元のうちの前記切り出し対象送信元以外の送信元と、前記複数の宛先のうちの前記切り出し対象宛先以外の宛先と、前記ネットワークに含まれるトポロジー構造のうちの前記切り出し対象送信元のそれぞれから前記切り出し対象宛先までの経路上にないトポロジー構造に含まれるスイッチ群との少なくとも１つの電源の供給を抑制する、
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
コンピュータが、
出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
処理を実行することを特徴とする情報処理方法。
【請求項７】
コンピュータに、
出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク内のサーバ、スイッチ等の機器がどのように接続されているかを示すトポロジー構造がある。また、複数の送信元のそれぞれが、トポロジー構造を経由して複数の宛先のいずれとも通信することができる場合、そのトポロジー構造を、全対全通信（Ａｌｌ−ｔｏ−Ａｌｌ通信）が可能なトポロジー構造と呼ぶことがある。さらに、経路競合なく全対全通信が行えるトポロジー構造がある。
【０００３】
関連する先行技術として、例えば、ネットワーク内の複数のノードを、第１、第２の部分グループに含まれる複数のノード間についての全対全通信に要する各フェーズに分け、複数のスレッドにわたって、各フェーズをオーバーラップさせて並列処理するものがある。また、プログラム・タスクは、Ｎ＞１の階層レベルｌｎを有し、ｎ＝１からＮである、階層型ネットワーク・トポロジを用いる相互接続ネットワークによって接続されるものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０３７７２３号公報
【特許文献２】特開２０１４−１６４７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、複数のトポロジー構造を組み合わせて形成したネットワークの一部分で、経路競合のない全対全通信を行うことが難しい。具体的には、複数の送信元の一部と、複数の宛先の一部とで並列分散処理を行う場合に、単に、いずれかの送信元と宛先とで通信すると、全対全通信は行えても、経路競合が発生する場合がある。この場合、経路競合によって、全対全通信に時間がかかる。
【０００６】
１つの側面では、本発明は、複数のトポロジー構造を組み合わせて形成したネットワークの一部分で、経路競合のない全対全通信を行うことができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを第２の数分有する第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、第１の種別のトポロジー構造において経路競合なく全対全通信を行える第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、第１の切り出し数群の各第１の切り出し数に対応する各第１の切り出し数分の入力ポートの識別情報と、第２の種別のトポロジー構造において経路競合なく全対全通信を行える第２の数以下の切り出し可能な第２の切り出し数群と、第２の切り出し数群の各第２の切り出し数に対応する各第２の切り出し数分の出力ポートの識別情報とを記憶する記憶部にアクセス可能であり、第１の数と第２の数との積未満のいずれかの数の送信元と宛先との間でネットワークを経由して経路競合なく全対全通信を行う際に、記憶部を参照して、第１の切り出し数と第２の切り出し数との積がいずれかの数以上となる第１の切り出し数群のうちの第１の切り出し数と、第２の切り出し数群のうちの第２の切り出し数とを決定し、決定した第１の切り出し数に対応する第１の切り出し数分の入力ポートの識別情報と、決定した第２の切り出し数に対応する第２の切り出し数分の出力ポートの識別情報とに基づいて、複数の送信元および複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する情報処理装置、情報処理方法、およびプログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、複数のトポロジー構造を組み合わせて形成したネットワークの一部分で、経路競合のない全対全通信を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態にかかる情報処理装置１０１の動作例を示す説明図である。
【図２】図２は、ラテン方陣Ｆａｔ−Ｔｒｅｅの一例を示す説明図である。
【図３】図３は、Ａｌｌ−ｔｏ−Ａｌｌ通信を行うためのスイッチの記憶内容の一例を示す説明図である。
【図４】図４は、情報処理装置１０１のハードウェア構成例を示す説明図である。
【図５】図５は、情報処理装置１０１の機能構成例を示す説明図である。
【図６】図６は、転送パターン表５１２の記憶内容の一例を示す説明図である。
【図７】図７は、実施例１における接続情報５１０Ｃの作成例を示す説明図である。
【図８】図８は、実施例１における切り出し例を示す説明図（その１）である。
【図９】図９は、実施例１における切り出し例を示す説明図（その２）である。
【図１０】図１０は、切り出し時における転送パターンの一例を示す説明図である。
【図１１】図１１は、切り出し時における出力ポート表の一例を示す説明図である。
【図１２】図１２は、実施例２における接続情報５１０の作成例を示す説明図である。
【図１３】図１３は、実施例２における切り出し例を示す説明図である。
【図１４】図１４は、トポロジー構造の接続情報作成処理手順の一例を示すフローチャートである。
【図１５】図１５は、切り出し対象サーバの決定処理手順の一例を示すフローチャートである。
【図１６】図１６は、転送パターンおよび出力ポート決定処理手順の一例を示すフローチャートである。
【図１７】図１７は、実施例３における接続情報５１０Ｃの作成例を示す説明図である。
【図１８】図１８は、実施例３における切り出し例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、開示の情報処理装置、情報処理方法、およびプログラムの実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかる情報処理装置１０１の動作例を示す説明図である。情報処理装置１０１は、複数のトポロジー構造を組み合わせて形成したネットワークの一部で、経路競合なく全対全通信を行えるように制御するコンピュータである。より具体的には、情報処理装置１０１は、そのネットワークに含まれる複数の送信元の一部と、複数の宛先の一部で、経路競合なく全対全通信を行えるように制御する。例えば、情報処理装置１０１は、そのネットワークを管理する管理サーバである。
【００１２】
トポロジー構造は、サーバ、スイッチ等の機器がどのように接続されているかを示す。また、複数の送信元のそれぞれが、トポロジー構造を経由して複数の宛先のいずれとも通信することができる場合、そのトポロジー構造を、全対全通信が可能なトポロジー構造と呼ぶことがある。以下、全対全通信を、「Ａｌｌ−ｔｏ−Ａｌｌ通信」と呼称する。さらに、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造がある。例えば、Ｆａｔ−Ｔｒｅｅ、多層ｆｕｌｌ−ｍｅｓｈ、ラテン方陣Ｆａｔ−Ｔｒｅｅは、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造である。ラテン方陣Ｆａｔ−Ｔｒｅｅの一例については、図２を用いて説明する。また、ラテン方陣Ｆａｔ−Ｔｒｅｅについては、下記参考文献１に記載されている。
（参考文献１：Ｍ．Ｖａｌｅｒｉｏ、他２名、「Ｕｓｉｎｇ  Ｆａｔ−Ｔｒｅｅｓ  ｔｏ  Ｍａｘｉｍｉｚｅ  ｔｈｅ  Ｎｕｍｂｅｒ  ｏｆ  Ｐｒｏｃｅｓｓｏｒｓ  ｉｎ  ａ  Ｍａｓｓｉｖｅｌｙ  Ｐａｒａｌｌｅｌ  Ｃｏｍｐｕｔｅｒ」、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ、１９９３）
【００１３】
また、２段Ｆａｔ−Ｔｒｅｅや、ラテン方陣Ｆａｔ−Ｔｒｅｅにおいては、入力サーバから出力サーバへの経路競合がないＡｌｌ−ｔｏ−Ａｌｌ通信が可能である。これを、経路競合なく片方向のＡｌｌ−ｔｏ−Ａｌｌ通信が可能と称する。また、逆の経路をたどることにより、出力サーバから入力サーバへのＡｌｌ−ｔｏ−Ａｌｌ通信が可能であるが、入力サーバ同士、または出力サーバ同士におけるＡｌｌ−ｔｏ−Ａｌｌ通信については、可能でなくてもよい。また、本実施の形態にかかるトポロジー構造は、入力ポートと出力ポートとの数が同一であるとする。
【００１４】
例えば、ＨＰＣ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）において、高速フーリエ変換（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）の並列分散処理を行う際に、低コストでより効率的にデータのやりとりを行うために、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造が利用される。
【００１５】
ここで、スイッチポート数を増やさず、かつ、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を保ちつつ、より多くのサーバを接続したい場合、複数のトポロジー構造を組み合わせてネットワークを形成することが考えられる。しかしながら、複数のトポロジー構造を組み合わせてネットワークを形成した際に、そのネットワークで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことが難しい。例えば、１つのトポロジー構造を１つのスイッチと同一なものとみなすことにより、ネットワーク内の構成要素を減らして、経路競合なく全対全通信を行う通信手順を検討しやすくすることが考えられる。しかし、同数のポートを有する１つのスイッチと１つのトポロジー構造とを比較すると、入力ポートと出力ポートとの組み合わせによっては、スイッチでは競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が可能であるのに、トポロジー構造では経路競合が発生することがある。従って、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う通信方法を検討する上では、１つのトポロジー構造を、１つのスイッチと同一なものとみなすことはできない。
【００１６】
入力ポートと出力ポートとの組み合わせによっては、スイッチでは競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が可能であるのに対し、トポロジー構造では経路競合が発生する例について説明する。例えば、あるトポロジー構造が、スイッチ１〜４を有し、スイッチ１〜４は、それぞれ、４つのポートを有するものとする。そして、スイッチ１が、スイッチ３、４と接続し、スイッチ２が、スイッチ３、４と接続するものとする。スイッチ１、２同士、スイッチ３、４同士は接続されていないものとする。この場合、スイッチ１〜４のそれぞれは、接続されていない空きポートが２つあるため、あるトポロジー構造は、８つのポートを有する仮想的なスイッチと見立てることができる。
【００１７】
ここで、８つのポートを有するスイッチでは、入力ポートと出力ポートとのいかなる組み合わせであっても、経路競合が発生することはない。しかしながら、前述のトポロジー構造では、スイッチ１の２つの空きポートの一方からスイッチ３の２つの空きポートの一方に通信すると同時に、スイッチ１の２つの空きポートの他方からスイッチ３の２つの空きポートの他方に通信すると、経路競合が発生する。
【００１８】
さらに、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行えるトポロジー構造を組み合わせてネットワークを構築した場合に、構築したネットワークに含まれる複数の送信元の一部と複数の宛先の一部とで、Ａｌｌ−ｔｏ−Ａｌｌ通信を行うことが考えられる。例えば、並列分散処理を実行する際に、複数の送信元と複数の宛先との全てを用いずに、一部の送信元と宛先で十分な場合がある。以下、複数の送信元から、一部の送信元だけを用いることを「切り出す」と表現する。宛先についても同様である。例えば、ラテン方陣Ｆａｔ−Ｔｒｅｅにおける部分を切り出したＡｌｌ−ｔｏ−Ａｌｌ通信について、下記参考文献２に記載されている。
（参考文献２：清水  俊宏、他１名、「低コストで大規模化可能なラテン方陣Ｆａｔ−ＴｒｅｅにおけるＡｌｌ−ｔｏ−ａｌｌ通信の高速化の実現」、情報処理学会論文誌  Ｖｏｌ．５、Ｏｃｔ．  ２０１２）
【００１９】
しかしながら、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行えるトポロジー構造を組み合わせて構築したネットワークから送信元や宛先を切り出すと、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことが難しい。例えば、単に、いずれかの送信元と宛先とを切り出すと、Ａｌｌ−ｔｏ−Ａｌｌ通信は行えても、経路競合が発生する場合がある。この場合、経路競合によって、Ａｌｌ−ｔｏ−Ａｌｌ通信に時間がかかる。
【００２０】
そこで、本実施の形態における情報処理装置１０１は、構築したネットワーク内の各トポロジー構造の一部でＡｌｌ−ｔｏ−Ａｌｌ通信できる各ポート数から切り出したいｍ台以上でＡｌｌ−ｔｏ−Ａｌｌ通信できるｍ’台を求める。そして、情報処理装置１０１は、ｍ’台に対応するポートＩＤから切り出し対象サーバを決める。
【００２１】
図１を用いて、情報処理装置１０１の動作例について説明する。図１で示す情報処理システム１００は、情報処理装置１０１と、ネットワーク１０２とを含む。ネットワーク１０２は、第１の種別のトポロジー構造Ａと、第２の種別のトポロジー構造Ｂとを組み合わせて形成されたネットワークである。ここで、ネットワーク１０２も、トポロジー構造とみなすことができる。以下の説明では、ネットワーク１０２を、「トポロジー構造Ｃ」として説明する。また、情報処理装置１０１は、トポロジー構造Ｃ内の一つのサーバであってもよいし、トポロジー構造Ｃの外部にあるサーバでもよい。トポロジー構造Ｃは、第２の数分のトポロジー構造Ａと、第１の数分のトポロジー構造Ｂとがそれぞれ接続された、２段構造のトポロジー構造である。第１の数と第２の数とは、同一の数でもよいし、異なる数でもよい。また、トポロジー構造Ａ、Ｂは、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造である。また、トポロジー構造Ａ、Ｂは、同一の種別でもよいし、異なる種別でもよい。
【００２２】
ここで、トポロジー構造Ａは、入力ポートおよび出力ポートを第１の数分有する。そして、トポロジー構造Ｃは、トポロジー構造Ａを第２の数分有する。さらに、第２の数分のトポロジー構造Ａの各入力ポートには、入力サーバｓが接続される。従って、入力サーバｓの数は、第１の数に第２の数を乗じた分存在する。
【００２３】
一方、トポロジー構造Ｂは、入力ポートおよび出力ポートを第２の数分有する。そして、トポロジー構造Ｃは、トポロジー構造Ｂを第１の数分有する。さらに、第１の数分のトポロジー構造Ｂの各出力ポートには、出力サーバｔが接続される。従って、出力サーバｔの数は、第１の数に第２の数を乗じた分存在する。そして、入力サーバｓと出力サーバｔとの数は同一となる。
【００２４】
また、トポロジー構造Ａは、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行える第１の数以下となる切り出し可能なポートの第１の切り出し数群ａ＿１、ａ＿２、…、ａ＿λａを有する。さらに、トポロジー構造Ａは、第１の切り出し数群ａ＿１、ａ＿２、ａ＿３、…、ａ＿λａの各第１の切り出し数に対応して、各第１の切り出し数分の入力ポートの識別情報（ＩＤ：ＩＤｅｎｔｉｆｉｅｒ）として、ａ＿１に対応するΛａ＿１、ａ＿２に対応するΛａ＿２、…、ａ＿λａに対応するΛａ＿λａを有する。そして、Λａ＿１には、入力ポートＩＤをａ＿１個有し、Λａ＿２には、入力ポートＩＤをａ＿２個有し、…、Λａ＿λａには、入力ポートＩＤをλａ＿λａ個有する。このように、Λａ＿１、Λａ＿２、Λａ＿λａは、切り出し可能なポートＩＤの集合である。情報処理装置１０１は、ａ＿１、ａ＿２、…、ａ＿λａと、Λａ＿１、Λａ＿２、…、Λａ＿λａとを含む切り出し情報１１１Ａを、記憶部１１０に記憶する。
【００２５】
同様に、トポロジー構造Ｂは、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行える第２の数以下となる切り出し可能なポートの第２の切り出し数群ｂ＿１、ｂ＿２、…、ｂ＿λｂを有する。さらに、トポロジー構造Ｂは、ｂ＿１、ｂ＿２、…、ｂ＿λｂの各第２の切り出し数に対応して、各第２の切り出し数分の出力ポートのＩＤとして、ｂ＿１に対応するΛｂ＿１、ｂ＿２に対応するΛｂ＿２、…、ｂ＿λｂに対応するΛｂ＿λｂを有する。そして、Λｂ＿１には、入力ポートＩＤをｂ＿１個有し、Λａ＿２には、入力ポートＩＤをｂ＿２個有し、…、Λｂ＿λｂには、入力ポートＩＤをλｂ＿λｂ個有する。情報処理装置１０１は、ｂ＿１、ｂ＿２、…、ｂ＿λｂと、Λｂ＿１、Λｂ＿２、…、Λｂ＿λｂとを含む切り出し情報１１１Ｂを、記憶部１１０に記憶する。
【００２６】
ここで、第１の切り出し数に対応する入力ポートの識別情報は、１対１でもよいし、１対他でもよい。言い換えれば、第１の切り出し数に対して、切り出し数分の出力ポートの組み合わせが１つあってもよいし、複数あってもよい。第２の切り出し数についても同様である。
【００２７】
図１の例では、第１の数が３であり、第２の数が４となる場合の例を示す。図１に示すトポロジー構造Ｃには、トポロジー構造Ａ（＊，１）、Ａ（＊，２）、Ａ（＊，３）、Ａ（＊，４）と、トポロジー構造Ｂ（１，＊）、Ｂ（２，＊）、Ｂ（３，＊）とを含む。以下、トポロジー構造や、トポロジー構造に関するものに付与する符号のうち、括弧内の文字列の部分を、括弧内符号と呼称する。例えば、トポロジー構造Ａ（＊，１）の括弧内符号は、「＊，１」となる。そして、トポロジー構造Ａ（＊，１）〜Ａ（＊，４）の各出力ポートｏｕｔＡ（１，１）〜ｏｕｔＡ（３，４）には、トポロジー構造Ｂ（１，＊）〜Ｂ（３，＊）の各入力ポートｉｎＢ（１，１）〜ｉｎＢ（３，４）が接続される。具体的には、ｏｕｔＡ（１，１）〜ｏｕｔＡ（３，４）と、同一の括弧内符号を有するｉｎＢとが接続される。
【００２８】
また、トポロジー構造Ａ（＊，１）〜Ａ（＊，４）の各入力ポートｉｎＡ（１，１）〜ｉｎＡ（３，４）には、複数の送信元として入力サーバｓ（１，１）〜ｓ（３，４）がそれぞれ接続される。同様に、トポロジー構造Ｂ（１，＊）〜Ｂ（３，＊）の各出力ポートｉｎＢ（１，１）〜ｉｎＢ（３，４）には、複数の宛先として出力サーバｔ（１，１）〜ｔ（３，４）がそれぞれ接続される。図１では、表示の都合上、ｉｎＡ（１，１）〜ｉｎＡ（３，４）、ｏｕｔＡ（１，１）〜ｏｕｔＡ（３，４）、ｉｎＢ（１，１）〜ｉｎＢ（３，４）、ｏｕｔＢ（１，１）〜ｏｕｔＢ（３，４）の一部を示している。
【００２９】
ここで、トポロジー構造Ａ（＊，１）〜Ａ（＊，４）の各入力ポートｉｎＡ、各出力ポートｏｕｔＡの括弧内符号の第１成分は、そのポートが属するトポロジー構造でのそのポートを特定する値であり、第２成分が、そのトポロジー構造のＩＤであるともみなせる。従って、Λａ＿１、Λａ＿２、…、Λａ＿λａには、各入力ポートｉｎＡ、各出力ポートｏｕｔＡの括弧内符号の第１成分があればよい。図１の例では、Λａ＿１＝｛１｝、Λａ＿２＝｛１，３｝、…、Λａ＿λａ＝｛１，２，３｝と示されている。そして、Λａ＿１＝｛１｝は、トポロジー構造Ａの第１成分が１となる入力ポートと出力ポートとで、経路競合ないＡｌｌ−ｔｏ−Ａｌｌ通信が行えることを示す。また、Λａ＿２＝｛１，３｝は、トポロジー構造Ａの第１成分が１となる入力ポートと出力ポートと、第１成分が３となる入力ポートと出力ポートとで、経路競合ないＡｌｌ−ｔｏ−Ａｌｌ通信が行えることを示す。
【００３０】
トポロジー構造Ｂ（１，＊）〜Ｂ（３，＊）の各入力ポートｉｎＢ、各出力ポートｏｕｔＢのＩＤとなる括弧内符号の第１成分は、そのポートが属するトポロジー構造のＩＤであり、第２成分が、そのトポロジー構造でのそのポートを特定する値であるともみなせる。従って、Λｂ＿１、Λｂ＿２、…、Λｂ＿λｂには、各入力ポートｉｎＢ、各出力ポートｏｕｔＢの括弧内符号の第２成分があればよい。このように、切り出し可能なポートＩＤの集合Λａ＿１、Λａ＿２、…、Λａ＿λａ、Λｂ＿１、Λｂ＿２、…、Λｂ＿λｂには、ポートを識別する括弧内符号のうち、トポロジー構造内での自身のポートを特定する値があればよい。従って、切り出し可能なポートＩＤの集合には、ポートのＩＤの一部の成分が入っていればよいため、ポートＩＤ成分と呼称する。
【００３１】
また、本実施の形態において、第１の種別のトポロジー構造で経路競合ないＡｌｌ−ｔｏ−Ａｌｌ通信を行う際には、第１の切り出し数に対応する入力ポートと、その入力ポートと同一の識別情報を有する出力ポートとで通信するものとする。例えば、Λａ＿２＝｛１，３｝では、経路競合ないＡｌｌ−ｔｏ−Ａｌｌ通信を行う際には、トポロジー構造Ａ（＊，１）では、ｉｎＡ（１，１）、ｉｎＡ（３，１）、ｏｕｔＡ（１，１）、ｏｕｔＡ（３，１）が用いられる。第２の種別のトポロジー構造についても同様である。
【００３２】
ここで、トポロジー構造Ｃを利用するユーザの指示により、トポロジー構造Ｃから、一部を切り出して並列分散処理を行うとする。並列分散処理として、ジョブを投入したい入力サーバの台数を、いずれかの数としてｍとする。ｍは、一部を切り出すために、第１の数と第２の和との積未満の値となる。
【００３３】
まず、情報処理装置１０１は、切り出し情報１１１Ａ、Ｂを参照して、第１の切り出し数と第２の切り出し数との積がｍ以上となる第１の切り出し数群のうちの第１の切り出し数と、第２の切り出し数群のうちの第２の切り出し数とを決定する。
【００３４】
図１の例では、ｍ＝３であるとする。情報処理装置１０１は、図１の（１）で示すように、ｍ＝３以上となる第１の切り出し数群のうちの第１の切り出し数を、ａ＿２＝２と決定し、第２の切り出し数群のうちの第２の切り出し数を、ｂ＿２＝２と決定する。
【００３５】
次に、情報処理装置１０１は、決定した第１の切り出し数に対応する第１の切り出し数分の入力ポートのＩＤと、決定した第２の切り出し数に対応する第２の切り出し数分の出力ポートのＩＤとを特定する。図１の例では、情報処理装置１０１は、第１の切り出し数となるａ＿２に対応するΛａ＿２と、第１の切り出し数となるｂ＿２に対応するΛｂ＿２とを特定する。
【００３６】
そして、情報処理装置１０１は、第１の切り出し数分の入力ポートＩＤと第２の切り出し数分の入力ポートＩＤとに基づいて、複数の送信元および複数の宛先から経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う切り出し対象送信元および切り出し対象宛先を決定する。図１の例では、具体的には、情報処理装置１０１は、Λａ＿２、Λｂ＿２から、ポートＩＤ成分を取り出して、（１，２）、（１，４）、（３，２）、（３，４）という４つの組を作成する。
【００３７】
そして、情報処理装置１０１は、作成した組と同一のＩＤを有する入力サーバを、切り出し対象送信元として決定し、作成した組と同一のＩＤを有する出力サーバを、切り出し対象宛先として決定する。切り出し対象送信元となる入力サーバ、切り出し対象宛先を、まとめて、切り出し対象サーバと呼称する。図１の例では、情報処理装置１０１は、入力サーバｓ（１，２）、ｓ（３，２）、ｓ（１，４）、ｓ（３，４）と、出力サーバｔ（１，２）、ｔ（１，４）、ｔ（３，２）、ｔ（３，４）とを、切り出し対象サーバとして決定する。
【００３８】
以上の処理により決定した切り出し対象サーバは、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことが可能である。ここで、経路競合ないＡｌｌ−ｔｏ−Ａｌｌ通信を行うには、切り出し対象サーバの転送パターンを決定し、トポロジー構造Ｃ内の各トポロジー構造における送信元と宛先との組み合わせに対応する出力ポートを特定することになる。切り出し対象サーバの転送パターンについては、図１０で説明し、出力ポートを特定する例については、図１１で説明する。
【００３９】
また、図１では、トポロジー構造Ｃが構築された後の状態について説明したが、情報処理装置１０１は、トポロジー構造Ｃ内の各トポロジー構造の接続関係を示す接続情報を作成してもよい。そして、トポロジー構造Ｃの管理者が、作成された接続情報を閲覧して、トポロジー構造Ｃを構築することができる。具体的には、トポロジー構造Ｃの管理者は、作成された接続情報から、トポロジー構造Ａの出力ポートを、トポロジー構造Ｂのどの入力ポートに結線すればよいかがわかる。接続情報の作成例については、図７、図１２、図１７で説明する。なお、図１で説明した、切り出し対象サーバを決定する装置と、接続情報を作成する装置とは、別であってもよい。この場合、接続情報を作成する装置は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）でもよい。次に、ラテン方陣Ｆａｔ−Ｔｒｅｅの一例を、図２を用いて説明する。
【００４０】
図２は、ラテン方陣Ｆａｔ−Ｔｒｅｅの一例を示す説明図である。図２では、競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造の一例として、ラテン方陣Ｆａｔ−Ｔｒｅｅにおける接続例を示す。図２で示す丸はサーバを示し、四角は、スイッチを示す。そして、丸の内部に「ｓ」を付与したサーバは、入力サーバを示す。また、丸の内部に「ｔ」を付与したサーバは、出力サーバを示す。一方、スイッチには、他のスイッチとサーバとを接続するＬｅａｆスイッチと、スイッチ同士を接続するＳｐｉｎｅスイッチとがある。入力サーバｓおよび出力サーバｔは、ＬｅａｆスイッチおよびＳｐｉｎｅスイッチを経由して通信を行う。経由したスイッチ数を「ホップ数」と定義する。
【００４１】
図２に示すラテン方陣Ｆａｔ−Ｔｒｅｅでは、入力サーバｓおよび出力サーバｔは、３ホップで通信可能であり、２段Ｆａｔ−Ｔｒｅｅよりも多くのサーバを接続することができる。
【００４２】
なお、図２に示すラテン方陣Ｆａｔ−ＴｒｅｅのＬｅａｆスイッチは、７つあるＳｐｉｎｅスイッチのうちのいずれか３つのＳｐｉｎｅスイッチと接続する。もし、Ｌｅａｆスイッチが全てのＳｐｉｎｅスイッチに接続する場合、そのトポロジー構造は、Ｆａｔ−Ｔｒｅｅとなる。
【００４３】
図３は、Ａｌｌ−ｔｏ−Ａｌｌ通信を行うためのスイッチの記憶内容の一例を示す説明図である。図３では、入力サーバｓ０〜ｓ８と、出力サーバｔ０〜ｔ８とが、Ｌｅａｆスイッチ１〜６、Ｓｐｉｎｅスイッチ１〜３のいずれか３つを経由して接続する例を示す。そして、図３では、Ｌｅａｆスイッチ１が有する記憶内容の一例を示す。
【００４４】
各スイッチは、送信元および宛先の組み合わせに対応した出力ポートを特定する情報を記憶する。Ｌｅａｆスイッチ１は、ポートｐ０〜ｐ５を有する。図３の例では、Ｌｅａｆスイッチ１が有する情報として、出力ポート表３０１を示す。出力ポート表３０１は、競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うために設定されたものである。出力ポート表３０１の縦のフィールドは、送信元サーバを示し、横のフィールドは宛先サーバを示す。また、出力ポート表３０１内の「−」で示した箇所は、該当のスイッチを経由しないので、どのポート番号に指定してもよいことを示す。
【００４５】
図３では、入力サーバｓ０が出力サーバｔ３と通信し、入力サーバｓ１が出力サーバｔ４と通信し、入力サーバｓ２が出力サーバｔ５と通信する例を示す。Ｌｅａｆスイッチ１は、入力サーバｓ０から出力サーバｔ３への通信を受信した場合、出力ポート表３０１を参照して、送信元が入力サーバｓ０であり宛先が出力サーバｔ３であることから、ポートｐ０を特定する。そして、Ｌｅａｆスイッチ１は、特定したポートｐ０を用いて入力サーバｓ０の通信を中継する。
【００４６】
また、Ｌｅａｆスイッチ１は、入力サーバｓ１から出力サーバｔ４への通信を受信した場合、出力ポート表３０１を参照して、送信元が入力サーバｓ１であり宛先が出力サーバｔ４であることから、ポートｐ１を特定する。また、Ｌｅａｆスイッチ１は、入力サーバｓ２から出力サーバｔ５への通信を受信した場合、出力ポート表３０１を参照して、送信元が入力サーバｓ２であり宛先が出力サーバｔ５であることから、ポートｐ２を特定する。Ｌｅａｆスイッチのポートｐ０〜ｐ２のそれぞれに接続するＳｐｉｎｅスイッチ１〜３も、Ｌｅａｆスイッチ１と同様に、自身が有する出力ポート表を参照して、送信元および宛先の組み合わせに対応した出力ポートを特定する。
【００４７】
以上により、入力サーバｓ０から出力サーバｔ３への通信経路は、図３に示す太い実線となる。同様に、入力サーバｓ１から出力サーバｔ４への通信経路は、図３に示す太い点線となり、入力サーバｓ２から出力サーバｔ５への通信経路は、図３に示す太い破線となる。このように、図３に示すように、各通信経路は、競合していないことがわかる。
【００４８】
（情報処理装置１０１のハードウェア構成例）
図４は、情報処理装置１０１のハードウェア構成例を示す説明図である。図４において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、を含む。また、情報処理装置１０１は、ディスクドライブ４０４およびディスク４０５と、通信インターフェース４０６と、を含む。また、ＣＰＵ４０１〜ディスクドライブ４０４、通信インターフェース４０６はバス４０７によってそれぞれ接続される。
【００４９】
ＣＰＵ４０１は、情報処理装置１０１の全体の制御を司る演算処理装置である。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される揮発性メモリである。
【００５０】
ディスクドライブ４０４は、ＣＰＵ４０１の制御に従ってディスク４０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ４０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク４０５は、ディスクドライブ４０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ４０４が磁気ディスクドライブである場合、ディスク４０５には、磁気ディスクを採用することができる。また、ディスクドライブ４０４が光ディスクドライブである場合、ディスク４０５には、光ディスクを採用することができる。また、ディスクドライブ４０４がソリッドステートドライブである場合、ディスク４０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００５１】
通信インターフェース４０６は、トポロジー構造Ｃと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース４０６は、通信回線を通じてトポロジー構造Ｃを介して他の装置に接続される。通信インターフェース４０６には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００５２】
また、情報処理装置１０１の管理者が、情報処理装置１０１を直接操作する場合、情報処理装置１０１は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
【００５３】
また、情報処理装置１０１が、トポロジー構造Ｃ内の各トポロジー構造の接続関係を示す接続情報を作成する場合には、ユーザからの操作を受け付けるため、情報処理装置１０１は、キーボード、マウス、ディスプレイを有する。さらに、作成した接続情報を出力するため、情報処理装置１０１は、プリンタを有してもよい。
【００５４】
（情報処理装置１０１の機能構成例）
図５は、情報処理装置１０１の機能構成例を示す説明図である。情報処理装置１０１は、制御部５００と、記憶部１１０とを有する。制御部５００は、複製部５０１と、設定部５０２と、作成部５０３と、切り出し数決定部５０４と、切り出しサーバ決定部５０５と、特定部５０６と、転送パターン決定部５０７と、送信部５０８と、電源供給抑制部５０９とを含む。制御部５００は、記憶装置に記憶されたプログラムをＣＰＵ４０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、ディスク４０５などである。また、各部の処理結果は、ＲＡＭ４０３、ＣＰＵ４０１のレジスタ、ＣＰＵ４０１のキャッシュメモリ等に格納される。
【００５５】
図５では、新たなトポロジー構造Ｃの接続情報５１０Ｃを作成する説明と、トポロジー構造Ｃから、切り出し対象サーバを決定して、決定した切り出し対象サーバで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行える通信手順を決定する説明とを行う。
【００５６】
さらに、本実施の形態では２段のトポロジー構造から形成されるトポロジー構造Ｃに関する説明と、ｎ段のトポロジー構造から形成されるトポロジー構造Ｃに関する説明とを行う。また、双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃに関する説明を行う。２段のトポロジー構造から形成されるトポロジー構造Ｃについては、図７〜図１１でより詳細に説明する。また、ｎ段のトポロジー構造から形成されるトポロジー構造Ｃについては、図１２、図１３でより詳細に説明する。また、双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃについては、図１７、図１８でより詳細に説明する。
【００５７】
また、情報処理装置１０１は、記憶部１１０にアクセス可能である。記憶部１１０は、ＲＡＭ４０３、ディスク４０５といった記憶装置に格納される。記憶部１１０は、２段のトポロジー構造から形成されるトポロジー構造Ｃの接続情報５１０Ｃを作成する際には、トポロジー構造Ａを示す構造データ５１１Ａと、トポロジー構造Ｂを示す構造データ５１１Ｂとがあればよい。ここで、構造データ５１１Ａ、Ｂには、少なくとも、構造データ５１１Ａ、Ｂの入力ポートおよび出力ポートの数があればよい。また、ｎ段のトポロジー構造から形成されるトポロジー構造Ｃでも同様である。具体的には、記憶部１１０は、ｎを２以上のいずれかの整数として、トポロジー構造Ａ１を示す構造データ５１１Ａ１、トポロジー構造Ａ２を示す構造データ５１１Ａ２、…、トポロジー構造Ａｎを示す構造データ５１１Ａｎとがあればよい。
【００５８】
まず、トポロジー構造Ｃの接続情報５１０Ｃを作成する説明を行う。２段のトポロジー構造から形成されるトポロジー構造Ｃについて、複製部５０１は、接続情報５１０Ｃの作成要求を受け付けた際に、構造データ５１１Ａを第２の数分複製し、第２の構造データ５１１Ｂを第１の数分複製する。
【００５９】
ここで、複製した構造データ５１１Ａと構造データ５１１Ｂとを接続した接続情報５１０Ｃを作成するが、接続する方法として、第１の方法と第２の方法とがある。
【００６０】
第１の方法として、作成部５０３は、複製した第２の数分の各構造データ５１１Ａの第１の数の出力ポートのそれぞれが、複製した第１の数分の各構造データ５１１Ｂの第２の数の入力ポートのいずれか一つと接続された接続関係を示す接続情報５１０Ｃを作成する。
【００６１】
また、第２の方法として、設定部５０２は、複製した第２の数分の各構造データ５１１Ａの第１の数の出力ポートの各出力ポートのＩＤを、各構造データ５１１Ａ内で各出力ポートを識別する値と第２の数に基づいた値との順に結合した情報に設定する。さらに、設定部５０２は、複製した第１の数分の構造データ５１１Ｂの各構造データＢの第２の数の入力ポートの各入力ポートｉｎＢのＩＤを、第２の数に基づいた値と各第２の構造データ内で各入力ポートを識別する値との順に結合した情報に設定する。
【００６２】
例えば、設定部５０２の処理について、図１を用いて説明する。まず、複製部５０１が、第２の数として、３つの構造データＡ（＊，１）、Ａ（＊，２）、Ａ（＊，３）を複製する。そして、設定部５０２は、例えば、構造データＡ（＊，１）の各出力ポートのＩＤを、構造データＡ（＊，１）内で各出力ポートを識別する値と、第２の数に基づく１〜３のいずれか一つの値とを結合した情報に設定する。構造データＡ（＊，１）内で各出力ポートを識別する値は、１〜３のいずれかとなる。また、第２の数に基づく１〜３のいずれか一つの値は、構造データＡ（＊，１）の第２成分と同一の値となる「１」とする。結果として、設定部５０２は、構造データＡ（＊，１）の各出力ポートｏｕｔＡのＩＤを、それぞれ、ｏｕｔＡ（１，１）、ｏｕｔＡ（１，２）、ｏｕｔＡ（１，３）に設定する。
【００６３】
そして、作成部５０３は、同一のＩＤを有する出力ポートと入力ポートとが接続された接続関係を示す接続情報５１０Ｃを作成する。具体的には、接続情報５１０Ｃは、第２の数分の各構造データ５１１Ａの第１の数の出力ポートの各出力ポートと、第１の数分の各構造データ５１１Ｂの第２の数の入力ポートのうち当該各出力ポートと同一のＩＤを有する入力ポートとが接続されることを示す。
【００６４】
次に、ｎ段のトポロジー構造から形成されるトポロジー構造Ｃについて説明する。複製部５０１は、ｎを２以上のいずれかの自然数とし、ｎ種類のトポロジー構造を有するトポロジー構造Ｃ内の各トポロジー構造の接続関係を示す接続情報５１０Ｃの作成要求を受け付ける。この際、複製部５０１は、ｉを１からｎまでのいずれかの自然数として、第ｉの種別のトポロジー構造を示す第ｉの構造データを、第１の数から第ｎの数までを乗じた値から第ｉの数で除した数分複製する。
【００６５】
設定部５０２は、まず、複製した第ｉの構造データの各入力ポートと各出力ポートとに対応する、ＩＤとなる数列を生成する。その数列は、第１の数から第ｎの数までの数群のうち第ｉの数を除く数に基づいた（ｎ−１）桁の数列のｉ番目に、第ｉの構造データ内で各入力ポートまたは各出力ポートを識別する値を挿入した数列である。そして、設定部５０２は、複製した第ｉの構造データの各入力ポートと各出力ポートとのＩＤを、生成した数列に設定する。
【００６６】
ここで、設定部５０２の処理について説明する。設定部５０２は、第１の数から第ｎの数までの数群のうち第ｉの数を除く数に基づいて、複製した第ｉの構造データのそれぞれを識別する数列を生成する。例えば、設定部５０２は、（１から第１の数までのいずれかの自然数，…，１から第（ｉ−１）の数までのいずれかの自然数，１から第（ｉ＋１）の数までのいずれかの自然数，…，１から第ｎの数までのいずれかの自然数）というｎ−１桁の数列を生成する。この数列が取り得る値の個数は、ちょうど第ｉの構造データを複製した数に一致するため、生成した数列を複製した第ｉの構造データのそれぞれに設定することにより、複製した第ｉの構造データのそれぞれを識別することができる。そして、設定部５０２は、生成した数列のｉ番目に、第ｉの構造データ内で各入力ポートまたは各出力ポートを識別する値として、１から第１の数までのいずれかの数を挿入した数列を生成し、各入力ポートまたは各出力ポートに設定する。以上により、複製した第１の構造データから第ｎの構造データの各入力ポートは、全て異なるＩＤが設定されることになる。出力ポートについても同様である。
【００６７】
作成部５０３は、同一のＩＤを有する出力ポートと入力ポートとが接続された接続関係を示す接続情報５１０Ｃを作成する。具体的には、接続情報５１０Ｃは、第ｋの構造データの各第ｋの構造データの第ｋの数の各出力ポートが、第（ｋ＋１）の構造データの第（ｋ＋１）の数の入力ポートのうち当該各出力ポートと同一のＩＤを有する入力ポートと接続されることを示す。ここで、ｋは、１から（ｎ−１）までのいずれかの自然数とする。
【００６８】
次に、双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃについて説明する。このトポロジー構造Ｃでは、複製部５０１〜作成部５０３が行う処理についてはｎ段のトポロジー構造から形成されるトポロジー構造Ｃと変わらないが、トポロジー構造Ｃの各トポロジー構造が、以下に示す３つの条件の全てを満たすものとなる。１つ目の条件は、トポロジー構造Ｃの段数を３以上のいずれかの奇数とすることである。２つ目の条件は、ｊを１から（（ｎ−１）／２）までの各自然数とし、トポロジー構造Ｃに含まれる第ｊの種別のトポロジー構造が、第（ｎ−ｊ＋１）種別のトポロジー構造を逆さにしたトポロジー構造であることである。ここで、逆さにしたトポロジー構造とは、あるトポロジー構造と、他のトポロジー構造を、ある直線を介して並べた際に、ある直線を軸として線対称となる関係にあるトポロジー構造である。例えば、ｎ＝５である場合、第１の種別のトポロジー構造と第５の種別のトポロジー構造とが逆さの関係にあり、かつ、第２の種別のトポロジー構造と第４の種別のトポロジー構造とが逆さの関係にある。３つ目の条件は、第（（ｎ＋１）／２）種別のトポロジー構造が、スイッチ同士を接続する複数のスイッチを有し、かつ、複数のスイッチのそれぞれを結ぶ線を軸として線対称となる構造となることである。この複数のスイッチは、図２で示したＳｐｉｎｅスイッチである。
【００６９】
次に、トポロジー構造Ｃにおいて、トポロジー構造Ｃから、切り出し対象サーバを決定して、決定した切り出し対象サーバで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行える通信手順を決定する説明を行う。決定した切り出し対象サーバで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う際には、記憶部１１０は、接続情報５１０Ｃと、切り出し情報１１１Ａ、Ｂと、転送パターン表５１２Ａ、Ｂとがあればよい。
【００７０】
転送パターン表５１２は、あるトポロジー構造において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う入力ポートと出力ポートとの組み合わせを示す各切り出し数分の転送パターンを、各切り出し数に対応して記憶する。例えば、図１の例を用いると、転送パターン表５１２Ａは、ａ＿１に対応するａ＿１個の転送パターンと、ａ＿２に対応するａ＿２個の転送パターンと、…ａ＿λａに対応するａ＿λａ個の転送パターンと、を記憶する。
【００７１】
まず、２段のトポロジー構造から形成されるトポロジー構造Ｃについて説明する。切り出し数決定部５０４は、切り出し情報１１１Ａ、１１１Ｂを参照して、第１の切り出し数と第２の切り出し数との積がｍ以上となる第１の切り出し数群のうちの第１の切り出し数と、第２の切り出し数群のうちの第２の切り出し数とを決定する。第１の切り出し数と第２の切り出し数との積ｍ’は、ｍ以上であり、ｍに最も近い値であることが好ましい。図１の例では、切り出し数決定部５０４は、ｍ＝３以上となる第１の切り出し数群のうちの第１の切り出し数を、ａ＿２＝２と決定し、第２の切り出し数群のうちの第２の切り出し数を、ｂ＿２＝２と決定する。
【００７２】
また、第１の切り出し数群のうちの第１の切り出し数と、第２の切り出し数群のうちの第２の切り出し数との積が同一の値となる、第１の切り出し数と第２の切り出し数との組み合わせが複数ある場合もある。図１の例を用いると、ｍ＝３以上であり、ａ＿１＝１、ａ＿２＝２、ｂ＿２＝２、ｂ＿３＝４であったとする。この場合、ｍ以上であり、ｍに最も近い値として、ａ＿２＊ｂ＿２＝２＊２＝４と、ａ＿１＊ｂ＿３＝１＊４＝４というように、第１の切り出し数と第２の切り出し数との組み合わせが複数ある。
【００７３】
このような場合、切り出し数決定部５０４は、どちらの組み合わせを採用してもよい。また、切り出し数決定部５０４は、第１の切り出し数と第２の切り出し数とが同数に近いものを選んでもよい。第１の切り出し数と第２の切り出し数とが同数に近い方を採用することにより、切り出し数決定部５０４は、バランスよくトポロジー構造を切り出すことができる。
【００７４】
また、他の考え方として、切り出し数決定部５０４は、第１の切り出し数と第２の切り出し数との和が小さい方を採用してもよい。これにより、切り出し数決定部５０４は、消費電力をより削減することができる。具体的には、ａ＿２＝２、ｂ＿２＝２を採用した場合には、切り出されるトポロジー構造は、図１で示すように、トポロジー構造Ａ、Ｂともに２つずつで、計４つである。これに対し、ａ＿１＝１、ｂ＿３＝４を採用した場合、切り出されるトポロジー構造は、トポロジー構造Ａが４つ、トポロジー構造Ｂが１つとなり、計５つである。このように、第１の切り出し数と第２の切り出し数との和が切り出すトポロジー構造に一致するため、切り出し数決定部５０４は、第１の切り出し数と第２の切り出し数との和が小さい方を採用することにより、消費電力をより削減することができる。
【００７５】
切り出しサーバ決定部５０５は、切り出し情報１１１Ａ、Ｂを参照して、決定した第１の切り出し数に対応する第１の切り出し数分の入力ポートのＩＤと、決定した第２の切り出し数に対応する第２の切り出し数分の出力ポートのＩＤとを特定する。そして、切り出しサーバ決定部５０５は、第１の切り出し数分の入力ポートＩＤと第２の切り出し数分の出力ポートＩＤとに基づいて、複数の送信元および複数の宛先から経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う切り出し対象サーバを決定する。
【００７６】
特定部５０６は、転送パターン表５１２Ａ、Ｂを参照して、決定した第１の切り出し数に対応する第１の切り出し数分の転送パターンと、第２の切り出し数に対応する第２の切り出し数分の転送パターンとの組み合わせと特定する。例えば、図１の例では、特定部５０６は、ａ＿２＝２に対応する２個分の転送パターンと、ｂ＿２＝２に対応する２個分の転送パターンとの組み合わせとなる４つの組み合わせを特定する。
【００７７】
そして、特定部５０６は、特定した組み合わせに対応して、接続情報５１０Ｃが示すトポロジー構造Ｃにおいて組み合わせの転送パターンが指定される際に、決定した切り出し対象送信元のそれぞれから切り出し対象宛先までの経路を特定する。具体的な経路の特定方法については、図１０で示す。
【００７８】
転送パターン決定部５０７は、組み合わせに対応して特定した経路に基づいて、トポロジー構造Ｃにおいて切り出し対象送信元のそれぞれから切り出し対象宛先のそれぞれまで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う転送パターンを決定する。同様に、転送パターン決定部５０７は、トポロジー構造Ｃ内の各トポロジー構造における切り出し対象送信元と切り出し対象宛先との組み合わせに対応する出力ポートとを決定する。転送パターンの決定方法は、図１０で示す。また、出力ポートの決定方法は、図１１で示す。また、転送パターン決定部５０７は、決定した転送パターンを転送パターン表５１２Ｃに登録し、決定した出力ポートを出力ポート表５１３に登録する。
【００７９】
送信部５０８は、トポロジー構造Ｃにおいて切り出し対象送信元のそれぞれから切り出し対象宛先のそれぞれまで経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う転送パターン表５１２Ｃを、複数の切り出し対象送信元のそれぞれに送信する。また、送信部５０８は、出力ポート表５１３を、出力ポート表５１３に対応するそれぞれのトポロジー構造に含まれるスイッチ群に送信する。ここで、出力ポート表５１３には、切り出し対象送信元のそれぞれから切り出し対象宛先までの経路上にあるトポロジー構造における送信元と宛先との組み合わせに対応する出力ポートを示す情報が含まれる。
【００８０】
電源供給抑制部５０９は、切り出し対象サーバ以外のサーバと、切り出し対象送信元のそれぞれから切り出し対象宛先までの経路上にないトポロジー構造との少なくとも１つの電源の供給を抑制する。ここで、切り出し対象サーバ以外のサーバとは、複数の送信元のうちの切り出し対象送信元以外の送信元と、複数の宛先のうちの切り出し対象宛先以外の宛先とのことである。また、切り出し対象送信元のそれぞれから切り出し対象宛先までの経路上にないトポロジー構造は、トポロジー構造Ｃ内の全てのトポロジー構造のうち、前述の経路上にないトポロジー構造である。
【００８１】
例えば、ジョブの実行時間が十分に長く、電源の供給を停止した後、再起動にかかる時間が十分に担保できるならば、電源供給抑制部５０９は、切り出し対象サーバ以外のサーバや、前述した経路上にないトポロジー構造の電源の供給を遮断してもよい。また、ジョブの実行時間が短く、電源の供給を停止した後、再起動にかかる時間が担保できないならば、電源供給抑制部５０９は、切り出し対象サーバ以外のサーバや、前述した経路上にないトポロジー構造をスタンバイモードに設定してもよい。ここで、スタンバイモードは、すぐに通常状態に戻れる状態であって、消費電力量が通常時より小さい状態である。
【００８２】
次に、ｎ段のトポロジー構造から形成されるトポロジー構造Ｃについて説明する。この場合、情報処理装置１０１は、２以上のいずれかの自然数であるｎ段のトポロジー構造を有するトポロジー構造Ｃから、切り出し対象サーバを決定する。そして、そのトポロジー構造Ｃは、入力ポートおよび出力ポートを第１の数分有する第１の種別のトポロジー構造から、入力ポートおよび出力ポートを第ｎの数分有する第ｎの種別のトポロジー構造までのｎ種類のトポロジー構造を有する。さらに、そのトポロジー構造は、第１の種別のトポロジー構造の入力ポートに複数の送信元のそれぞれが接続し、第ｎの種別のトポロジー構造の出力ポートに複数の宛先のそれぞれが接続する。
【００８３】
さらに、切り出し情報１１１は、ｉを１からｎまでの各自然数とし、第ｉの種別のトポロジー構造において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行える第ｉの数以下の切り出し可能な入力ポートの第ｉの切り出し数群を記憶する。さらに、切り出し情報１１１は、第ｉの切り出し数群の各第ｉの切り出し数に対応する各第ｉの切り出し数分の入力ポートＩＤを記憶する。
【００８４】
ここで、第１の数から第ｎの数までの積未満のいずれかの数ｍの送信元と宛先との間でトポロジー構造Ｃを経由して経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うとする。この際に、切り出し数決定部５０４は、切り出し情報１１１を参照して、第１の切り出し数から第ｎの切り出し数までの積がいずれかの数ｍ以上となる、第ｉの切り出し数群のうちの第ｉの切り出し数をｉに対応して決定する。具体的には、ｎ＝４であれば、切り出し数決定部５０４は、第１の切り出し数＊第２の切り出し数＊第３の切り出し数＊第４の切り出し数がｍ以上となる、第１の切り出し数〜第４の切り出し数を決定する。
【００８５】
ここで、２段のトポロジー構造から形成されるトポロジー構造Ｃと同様に、第１の切り出し数から第ｎの切り出し数までの積が同一の値となる、第１の切り出し数と、…、第ｎの切り出し数との組み合わせが複数ある場合もある。この場合、切り出されるトポロジー構造の数は、（第１の切り出し数＊…＊第ｎの切り出し数／第１の切り出し数）＋…＋（第１の切り出し数＊…＊第ｎの切り出し数／第ｎの切り出し数）となる。従って、切り出し数決定部５０４は、（第１の切り出し数＊…＊第ｎの切り出し数／第１の切り出し数）＋…＋（第１の切り出し数＊…＊第ｎの切り出し数／第ｎの切り出し数）となる第１の切り出し数と、…、第ｎの切り出し数との組み合わせを採用してもよい。
【００８６】
切り出しサーバ決定部５０５は、決定した第ｉの切り出し数に対応する第ｉの切り出し数分の入力ポートＩＤに基づいて、複数の送信元および複数の宛先から経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行う切り出し対象サーバを決定する。ｎ段のトポロジー構造から形成されるトポロジー構造Ｃにおける切り出し対象サーバの決定例は、図１３で示す。ｎ段のトポロジー構造から形成されるトポロジー構造Ｃにおける特定部５０６〜電源供給抑制部５０９の処理は、２段のトポロジー構造から形成されるトポロジー構造Ｃと同じであり、説明を省略する。
【００８７】
次に、双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃについて説明する。双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃでは、前述したように、双方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造Ｃは、複製部５０１〜作成部５０３で説明した、３つの条件の全てを満たすものである。さらに、そのトポロジー構造は、次に示す条件を満たすことが求められる。ここで、ｊを１から（（ｎ−１）／２）までの各自然数とする。このとき、第ｊの種別のトポロジー構造における各第ｊの切り出し数分の入力ポートのＩＤが、第（ｎ−ｊ＋１）の切り出し数群のうちの各第ｊの切り出し数と同一の値となるいずれかの第（ｎ−ｊ＋１）の切り出し数分の入力ポートのＩＤと同一であることである。
【００８８】
例えば、ｎ＝３、ｊ＝１であるとする。第１の切り出し数群の各第１の切り出し数として、２があるならば、第３の切り出し数群の各第３の切り出し数として２があり、かつ、入力ポートのＩＤが同一であれば、切り出すポートとして使用することができる。
【００８９】
そして、第１の数から第ｎの数までの積未満のいずれかの数ｍの送信元と宛先との間でトポロジー構造Ｃを経由して経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うとする。この際に、切り出し数決定部５０４は、切り出し情報１１１を参照して、第１の切り出し数から第ｎの切り出し数までの積がｍ以上となる第ｉの切り出し数群のうちの第ｉの切り出し数をｉに対応して決定する。さらに、第ｉの切り出し数は、１から（（ｎ−１）／２）までの各自然数となる第ｘの切り出し数が、第（ｎ−ｘ＋１）の切り出し数と同一の値となることが求められる。
【００９０】
例えば、ｎ＝５である場合、第１の切り出し数と第５の切り出し数と同一の値であり、かつ、第２の切り出し数と第４の切り出し数と同一の値であることが求められる。
【００９１】
図６は、転送パターン表５１２の記憶内容の一例を示す説明図である。図６では、一例として、入力ポートおよび出力ポートをそれぞれ２つ有するトポロジー構造Ａの転送パターン表５１２Ａを示す。また、図６では、トポロジー構造Ａの２つの入力ポートを、それぞれｉｎＡ（１）、ｉｎＡ（２）とし、トポロジー構造Ａの２つの出力ポートを、それぞれｏｕｔＡ（１）、ｏｕｔＡ（２）とする。
【００９２】
転送パターン表５１２Ａは、転送パターンＰ１、Ｐ２を有する。転送パターンＰ１は、送信元となるｉｎＡ（１）から受信したデータを、ｏｕｔＡ（１）を用いて転送し、送信元となるｉｎＡ（２）から受信したデータを、ｏｕｔＡ（２）を用いて転送するパターンである。また、転送パターンＰ２は、ｉｎＡ（２）から受信したデータを、ｏｕｔＡ（１）を用いて転送し、ｉｎＡ（１）から受信したデータを、ｏｕｔＡ（２）を用いて転送するパターンである。図６では、転送パターンＰ１に従ったデータ転送の流れを、実線の矢印で示し、転送パターンＰ２に従ったデータ転送の流れを、破線の矢印で示す。
【００９３】
（実施例１）
実施例１では、２段のトポロジー構造から形成されるトポロジー構造Ｃについて説明する。実施例１では、送信元サーバ、宛先サーバがともにａ台のトポロジー構造Ａと、送信元サーバ、宛先サーバがともにｂ台のトポロジー構造Ｂとが与えられており、それぞれ競合のない転送パターンＰｉ（１≦ｉ≦ａ）、Ｑｊ（１≦ｊ≦ｂ）が与えられているとする。この場合に、情報処理装置１０１は、新たなトポロジー構造Ｃであって、次の３つの条件を満たすものを作成する。１つ目の条件は、トポロジー構造Ｃで用いる各スイッチが、トポロジー構造Ａ、Ｂと同じであることである。２つ目の条件は、トポロジー構造Ｃにおける送信元サーバから宛先サーバまでのホップ数が、トポロジー構造Ａ、Ｂのホップ数を合計した値となることである。３つ目の条件は、トポロジー構造Ｃでは、経路競合なく片方向のＡｌｌ−ｔｏ−Ａｌｌ通信が可能であることである。
【００９４】
また、トポロジー構造Ａは、切り出し可能な台数群ａ＿１、ａ＿２、…、ａ＿λａと、ａ＿１、ａ＿２、…、ａ＿λａに対応するポートＩＤの集合として、Λａ＿１、Λａ＿２、…、Λａ＿λａとを有する。ここで、Λａ＿１には、ａ＿１個のポートＩＤ成分が含まれ、Λａ＿２には、ａ＿２個のポートＩＤ成分が含まれ、…、Λａ＿λａには、ａ＿λａ個のポートＩＤ成分が含まれる。また、Λａ＿１〜Λａ＿λａに含まれるポートＩＤ成分の集合は、１つでもよいし、複数でもよい。
【００９５】
同様に、トポロジー構造Ｂは、切り出し可能な台数群ｂ＿１、ｂ＿２、…、ｂ＿λｂと、ｂ＿１、ｂ＿２、…、ｂ＿λｂに対応するポートＩＤ成分の集合として、Λｂ＿１、Λｂ＿２、…、Λｂ＿λｂとを有する。
【００９６】
図７は、実施例１における接続情報５１０Ｃの作成例を示す説明図である。まず、情報処理装置１０１は、構造データ５１１Ａを、ｂ個複製する。そして、情報処理装置１０１は、複製した構造データ５１１ＡのＩＤを、それぞれＡ（＊，１）、Ａ（＊，２）、…、Ａ（＊，ｂ）に設定する。また、情報処理装置１０１は、Ａ（＊，ｊ）（１≦ｊ≦ｂ）のａ個の入力ポート、出力ポートを、それぞれ、ｉｎＡ（１，ｊ）、ｏｕｔＡ（１，ｊ）、ｉｎＡ（２，ｊ）、ｏｕｔＡ（２，ｊ）、…、ｉｎＡ（ａ，ｊ）、ｏｕｔＡ（ａ，ｊ）と設定する。
【００９７】
同様に、情報処理装置１０１は、構造データ５１１Ｂを、ａ個複製する。そして、情報処理装置１０１は、複製した構造データ５１１ＢのＩＤを、それぞれＢ（１，＊）、Ｂ（２，＊）、…、Ｂ（ａ，＊）に設定する。また、情報処理装置１０１は、Ｂ（ｉ，＊）（１≦ｊ≦ｂ）のｂ個の入力ポート、出力ポートを、それぞれ、ｉｎＢ（ｉ，１）、ｏｕｔＢ（ｉ，１）、ｉｎＢ（ｉ，２）、ｏｕｔＢ（ｉ，２）…、ｉｎＢ（ｉ，ｂ）、ｏｕｔＢ（ｉ，ｂ）と設定する。
【００９８】
そして、情報処理装置１０１は、同一の括弧内符号となるｏｕｔＡ（ｉ，ｊ）、ｉｎＢ（ｉ，ｊ）を同一のリンクとして接続する。または、情報処理装置１０１は、Ａ（＊，ｊ）の「＊，ｊ」と一致する括弧内符号を有する構造データ５１１Ｂを、Ａ（＊，ｊ）と接続する構造データ５１１Ｂとして特定してもよい。ここで、「＊」は、どの数値でも一致とみなす記号であるとする。実施例１の場合、Ａ（＊，１）、Ａ（＊，２）、…、Ａ（＊，ｂ）それぞれが、Ｂ（１，＊）、Ｂ（２，＊）、…、Ｂ（ａ，＊）それぞれに接続することになる。
【００９９】
次に、情報処理装置１０１は、Ａ（＊，ｊ）（１≦ｊ≦ｂ）の上位リンクに、入力サーバｓ（ｉ，ｊ）を接続する。また、情報処理装置１０１は、Ｂ（ｉ，＊）（１≦ｉ≦ａ）の下位リンクに、出力サーバｔ（ｉ，ｊ）を接続する。
【０１００】
図７の例では、ａ＝３、ｂ＝４となる場合のトポロジー構造Ｃを示す。図７で示すように、Ａ（＊，１）、Ａ（＊，２）、Ａ（＊，３）、Ａ（＊，４）のそれぞれが、Ｂ（１，＊）、Ｂ（２，＊）、Ｂ（３，＊）それぞれに接続する。情報処理装置１０１は、トポロジー構造Ａ、Ｂそれぞれの接続関係を示す接続情報５１０Ｃを出力する。トポロジー構造Ｃの管理者は、出力された結線表に従って、トポロジー構造Ｃの構築を行う。
【０１０１】
次に、構築されたトポロジー構造Ｃから、ジョブを投入したい台数ｍ以上の台数を切り出して、切り出したサーバにおいて経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うために作成する表の作成例について、図８〜図１１を用いて説明する。図８では、切り出す台数ｍ’を決定する例を説明し、図９では、ｍ’台の切り出し対象サーバを決定する例を説明する。さらに、図１０では、トポロジー構造Ｃからｍ’台のサーバを切り出した際の転送パターン表を作成する例を説明し、図９では、からｍ’台のサーバを切り出した際のトポロジー構造Ｃに含まれる各スイッチの出力ポート表を作成する例を説明する。
【０１０２】
図８は、実施例１における切り出し例を示す説明図（その１）である。情報処理装置１０１は、トポロジー構造Ａの切り出し可能な台数ａ＿ｉ（ｉ＝１、２、…、λａ）の各切り出し可能な台数と、トポロジー構造Ｂの切り出し可能な台数ｂ＿ｊ（ｊ＝１、２、…、λｂ）との積ａ＿ｉ＊ｂ＿ｊの表８０１を作成する。ａ＿ｉ＊ｂ＿ｊが、トポロジー構造Ｃから切り出し可能なサーバ台数となる。図８には、作成した表８０１の一例を示す。次に、情報処理装置１０１は、表８０１を、切り出し可能なサーバ台数でソートしたリスト８０２を作成する。図８には、作成したリスト８０２の一例を示す。
【０１０３】
そして、情報処理装置１０１は、リスト８０２から、二分探索によって、ｍ以上で切り出し可能な最小値ｍ’＝ａ＿ｘ（１≦ｘ≦λａ）＊ｂ＿ｙ（１≦ｙ≦λｂ）を決定する。図８の例では、リスト８０２上におけるｍとｍ’との位置を示す。
【０１０４】
図９は、実施例１における切り出し例を示す説明図（その２）である。図９では、ｍ’＝４とし、ａ＿ｘ＝２、ｂ＿ｙ＝２とし、ａ＿ｘに対応するポートＩＤ成分の集合Λａ＿ｘが、｛１，３｝であり、ｂ＿ｙに対応するポートＩＤ成分の集合Λｂ＿ｙが、｛２，４｝であるとする。情報処理装置１０１は、Λａ＿ｘとΛｂ＿ｙとに基づいて、トポロジー構造Ｃ上で、切り出す入力サーバｓと出力サーバｔとを決定する。
【０１０５】
より具体的には、情報処理装置１０１は、Λａ＿ｘとΛｂ＿ｙの各集合からポートＩＤ成分を取り出して組を作成する。そして、情報処理装置１０１は、生成した組と同一のＩＤを有する入力サーバｓ（ｉ，ｊ）（ｉ∈Λａ＿ｘ、ｊ∈Λｂ＿ｙ）と出力サーバｔ（ｉ，ｊ）（ｉ∈Λａ＿ｘ、ｊ∈Λｂ＿ｙ）とを、切り出す入力サーバｓと出力サーバｔとして決定する。図９の例では、情報処理装置１０１は、Λａ＿ｘとΛｂ＿ｙの各集合から１つずつポートＩＤ成分を取り出すことにより、（１，２）、（１，４）、（３，２）、（３，４）という４つの組を作成する。そして、情報処理装置１０１は、作成した組と同一のＩＤを有する入力サーバｓ（１，２）、ｓ（３，２）、ｓ（１，４）、ｓ（３，４）と、出力サーバｔ（１，２）、ｔ（１，４）、ｔ（３，２）、ｔ（３，４）とを、切り出し対象サーバとして決定する。
【０１０６】
図９では、切り出し対象サーバとして決定した入力サーバｓ（１，２）、ｓ（３，２）、ｓ（１，４）、ｓ（３，４）、出力サーバｔ（１，２）、ｔ（１，４）、ｔ（３，２）、ｔ（３，４）を、斜線の網掛けとして示す。また、図９では、切り出し対象サーバとして決定した入力サーバｓ（１，２）、ｓ（３，２）に接続するトポロジー構造Ａ（＊，２）と、入力サーバｓ（１，４）、ｓ（３，４）に接続するトポロジー構造Ａ（＊，４）とに薄い網掛けを付与する。同様に、切り出し対象サーバとして決定した出力サーバｔ（１，２）、ｔ（１，４）に接続するトポロジー構造Ｂ（１，＊）と、出力サーバｔ（３，２）、ｔ（３，４）に接続するトポロジー構造Ｂ（３，＊）とに薄い網掛けを付与する。
【０１０７】
また、他の決定方法として、情報処理装置１０１は、トポロジー構造Ａ（＊，１）〜Ａ（＊，４）のうち、括弧内符号の第２成分がΛｂ＿ｙ＝｛２，４｝と同一となるＡ（＊，２）、Ａ（＊，４）を、切り出すトポロジー構造として決定する。そして、情報処理装置１０１は、Ａ（＊，２）、Ａ（＊，４）に接続する入力サーバのうち、括弧内符号の第１成分がΛａ＿ｘ＝｛１，３｝と同一となる入力サーバｓ（１，２）、ｓ（３，２）、ｓ（１，４）、ｓ（３，４）を、切り出し対象サーバとして決定する。
【０１０８】
同様に、情報処理装置１０１は、トポロジー構造Ｂ（１，＊）〜Ｂ（３，＊）のうち、括弧内符号の第１成分がΛａ＿ｘ＝｛１，３｝と同一となるＢ（１，＊）、Ｂ（３，＊）を、切り出すトポロジー構造として決定する。情報処理装置１０１は、Ｂ（１，＊）、Ｂ（３，＊）に接続する出力サーバのうち、第２成分がΛｂ＿ｙ＝｛２，４｝と同一となる出力サーバｔ（１，２）、ｔ（１，４）、ｔ（３，２）、ｔ（３，４）を、切り出し対象サーバとして決定する。
【０１０９】
図１０は、切り出し時における転送パターンの一例を示す説明図である。情報処理装置１０１は、トポロジー構造Ｃからｍ’台のサーバを切り出す場合の転送パターン表５１２Ｃ＿ｍ’を作成する。このとき、情報処理装置１０１は、接続情報５１０Ｃと、転送パターン表５１２Ａ＿ｘと、転送パターン表５１２Ｂ＿ｙとを用いて、転送パターン表５１２Ｃ＿ｍ’を作成する。ここで、転送パターン表５１２Ａ＿ｘは、トポロジー構造ＡのポートＩＤ成分の集合Λａ＿ｘに対応する転送パターンを記憶しており、図５で示した転送パターン表５１２Ａの一部である。そして、転送パターン表５１２Ａ＿ｘは、ａ＿ｘ個の転送パターンを有する。同様に、転送パターン表５１２Ｂ＿ｙは、トポロジー構造ＢのポートＩＤ成分の集合Λｂ＿ｙに対応する転送パターンを記憶しており、図５で示した転送パターン表５１２Ｂの一部である。そして、転送パターン表５１２Ｂ＿ｙは、ｂ＿ｙ個の転送パターンを有する。以下、転送パターン表５１２Ａ＿ｘが有するａ＿ｘ個の転送パターンを、Ｐ１、Ｐ２、…、Ｐａ＿ｘとする。同様に、転送パターン表５１２Ｂ＿ｙが有するｂ個の転送パターンを、Ｑ１、Ｑ２、…、Ｑｂ＿ｙとする。
【０１１０】
ｍ’台のサーバを切り出す場合、全部でａ＿ｘ＊ｂ＿ｙの転送パターンがあるため、情報処理装置１０１は、接続情報５１０Ｃに従って、（Ｐｉ，Ｑｊ）（ｉ＝１，２，…，ａ＿ｘ、ｊ＝１，２，…，ｂ＿ｙ）パターンを実施し、各パターンに対応する入力サーバｓの宛先となる出力サーバｔを特定する。ここで、（Ｐｉ，Ｑｉ）パターンとは、トポロジー構造Ｃ内の全てのＡ（＊，ｊ）（ｊ＝１，２，…，ｂ）では、転送パターンＰｉを実施し、全てのＢ（ｉ，＊）（ｉ＝１，２，…，ａ）では、転送パターンＱｊを実施するパターンである。そして、情報処理装置１０１は、特定した出力サーバｔから、転送パターンと送信元との組み合わせに対応した出力サーバｔを示す、トポロジー構造Ｃの転送パターン表５１２Ｃ＿ｍ’を作成する。以下、図１０を用いて、（Ｐｉ，Ｑｊ）パターンの一例を示し、転送パターン表５１２Ｃ＿ｍ’の作成例を示す。
【０１１１】
図１０で示すトポロジー構造Ｃからｍ’＝４台のサーバを切り出す場合の転送パターンは、ａ＿ｘ＝２、ｂ＿ｙ＝２であるから、２＊２＝４つの転送パターンが生成される。図１０では、４つの転送パターンのうち、（Ｐ１，Ｑ２）パターンについて説明する。まず、送信元が入力サーバｓ（１，２）の例を示す。情報処理装置１０１は、転送パターンＰ１の場合、転送パターン表５１２Ａ＿ｘを参照して、トポロジー構造Ａ（＊，２）のｉｎＡ（１，２）からの送信が、ｏｕｔＡ（１，２）に転送されることを特定する。
【０１１２】
ここで、転送パターン表５１２を参照する際、情報処理装置１０１は、トポロジー構造に付与された括弧内符号のうちの「＊」がある位置の成分に着目する。従って、情報処理装置１０１は、ｉｎＡ（１，２）からの送信が、転送パターン表５１２Ａ＿ｘにおける送信元「１」に相当するものと特定して、転送パターンＰ１における転送先「１」を特定する。そして、情報処理装置１０１は、ｉｎＡ（１，２）からの送信が、転送先「１」に相当するｏｕｔＡ（１，２）に転送されると特定する。
【０１１３】
次に、情報処理装置１０１は、接続情報５１０Ｃを参照して、ｏｕｔＡ（１，２）と接続する入力ポートが、トポロジー構造Ｂ（１，＊）のｉｎＢ（１，２）であると特定する。そして、情報処理装置１０１は、転送パターン表５１２Ｂ＿ｙを参照して、トポロジー構造Ｂ（１，＊）のｉｎＢ（１，２）からの送信が、ｏｕｔＢ（１，４）に転送されることを特定する。ここで、トポロジー構造Ａ（＊，２）で行った説明と同様の手法により、情報処理装置１０１は、転送パターン表５１２Ｂ＿ｙを参照する際には、ｉｎＢ、ｏｕｔＢの第２成分に着目することになる。そして、情報処理装置１０１は、入力サーバｓ（１，２）からの送信が、最終的に、ｏｕｔＢ（１，４）に接続する出力サーバｔ（１，４）に転送されることを特定する。
【０１１４】
以上の処理により、情報処理装置１０１は、（Ｐ１，Ｑ２）パターンにおける、ｓ（１，２）からｔ（１，４）までの経路１００１を特定する。
【０１１５】
経路１００１が特定できたため、情報処理装置１０１は、経路１００１に基づいて、（Ｐ１，Ｑ２）パターンにおけるｓ（１，２）とｔ（１，４）の組み合わせを決定する。ｓ（１，２）とｔ（１，４）の組み合わせは、転送パターン表５１２Ｃ＿ｍ’の一要素となる。従って、情報処理装置１０１は、転送パターン表５１２Ｃ＿ｍ’の対応する箇所に、「ｔ（１，４）」を登録する。同様に、情報処理装置１０１は、送信元が入力サーバｓ（３，４）であれば宛先は出力サーバｔ（３，２）となることを特定する。従って、情報処理装置１０１は、（Ｐ１，Ｑ２）パターンにおける、ｓ（３，４）からｔ（３，２）までの経路１００２を特定する。経路１００２が特定できたため、情報処理装置１０１は、転送パターン表５１２Ｃ＿ｍ’の対応する箇所に、「ｔ（３，２）」を登録する。情報処理装置１０１は、他の送信元、他の転送パターンについても同様な手順を行い、転送パターン表５１２Ｃ＿ｍ’の各宛先を全て登録する。
【０１１６】
転送パターン表５１２Ｃの各宛先を全て登録した際に、情報処理装置１０１は、入力サーバｓ（１，２）、ｓ（３，２）、ｓ（１，４）、ｓ（３，４）に、転送パターン表５１２Ｃを送信する。
【０１１７】
図１１は、切り出し時における出力ポート表の一例を示す説明図である。情報処理装置１０１は、転送パターン表５１２Ｃの各宛先を設定する処理と併せて、各スイッチの出力ポート表を作成する処理を実行する。図１１では、トポロジー構造Ａ（＊，２）の出力ポート表５１３Ａ（＊，２）と、トポロジー構造Ｂ（１，＊）の出力ポート表５１３Ｂ（１，＊）との作成例について示す。
【０１１８】
図１１の例では、情報処理装置１０１が、経路１００１を特定した後の状態である。この場合、情報処理装置１０１は、経路１００１上にあるトポロジー構造の出力ポートを特定する。例えば、情報処理装置１０１は、トポロジー構造Ａ（＊，２）について、経路１００１上にあるトポロジー構造の出力ポートが、ｏｕｔＡ（１，２）であることを特定する。従って、情報処理装置１０１は、出力ポート表５１３Ａ（＊，２）に、「ｏｕｔＡ（１，２）」を、送信元ｓ（１，２）と宛先ｔ（１，４）との組み合わせに対応付けて登録する。同様に、情報処理装置１０１は、トポロジー構造Ｂ（１，＊）について、経路１００１上にあるトポロジー構造の出力ポートが、ｏｕｔＢ（１，４）であることを特定する。従って、情報処理装置１０１は、出力ポート表５１３Ｂ（１，＊）に、「ｏｕｔＢ（１，４）」を、送信元ｓ（１，２）と宛先ｔ（１，４）との組み合わせに対応付けて登録する。
【０１１９】
同様に、情報処理装置１０１は、トポロジー構造Ｃ内の各トポロジー構造について、送信元と宛先との組み合わせに対応する出力ポートが特定できた際に、各トポロジー構造の出力ポート表５１３における対応する箇所に、特定した出力ポートを設定する。そして、各トポロジー構造の各切り出し出力ポートの全てを設定した際に、情報処理装置１０１は、各トポロジー構造に対応する出力ポート表５１３を、各トポロジー構造に送信する。図１１の例では、情報処理装置１０１は、切り出した入力サーバから出力サーバへの経路上にある、トポロジー構造Ａ（＊，２）、Ａ（＊，４）、Ｂ（１，＊）、Ｂ（３，＊）に、各トポロジー構造に対応する出力ポート表５１３を送信する。
【０１２０】
切り出した各入力サーバに転送パターン表５１２を送信し、その各入力サーバから出力サーバへの経路上の各トポロジー構造に、対応する出力ポート表５１３を送信することにより、その各入力サーバは、経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信が行える。
【０１２１】
ここで、情報処理装置１０１は、切り出し対象サーバ以外のサーバに対して、電源の供給の抑制として、電源の供給を遮断したり、スタンバイモードにさせたりする。これにより、トポロジー構造Ｃは、消費電力を削減でき、計算資源の有効活用が行える。同様に、情報処理装置１０１は、各入力サーバから出力サーバへの経路上にないトポロジー構造に対して、電源の供給を遮断したり、消費電力量が通常時より小さい状態にさせたりする。ここで、各入力サーバから出力サーバへの経路上にないトポロジー構造は、図１１の例では、トポロジー構造Ａ（＊、１）、Ａ（＊、３）、Ｂ（２，＊）となる。
【０１２２】
次に、実施例１で説明したトポロジー構造Ｃから切り出した入力サーバから出力サーバへ、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えることの証明について説明する。ここで、入力サーバｓ（ｘ，ｙ）（ｘ∈Λａ＿ｘ、ｙ∈Λｂ＿ｙ）から出力サーバｔ（ｚ，ｗ）（ｚ∈Λａ＿ｘ、ｗ∈Λｂ＿ｙ）へ送信される回数を数える。まず、入力サーバｓ（ｘ，ｙ）から送信されるトポロジー構造は、トポロジー構造Ｃ内のトポロジー構造Ａ（＊，ｙ）に限られる。同様に、出力サーバｔ（ｚ，ｗ）へ送信されるトポロジー構造は、トポロジー構造Ｃ内のトポロジー構造Ｂ（ｚ，＊）に限られる。そして、トポロジー構造Ａ（＊，ｙ）と、トポロジー構造Ｂ（ｚ，＊）とは、ｏｕｔＡ（ｚ，ｙ）＝ｉｎＢ（ｚ，ｙ）という、ただ一つのリンクにより結ばれる。よって、入力サーバｓ（ｘ，ｙ）から出力サーバｔ（ｚ，ｗ）へ送信される回数は、１回に限られる。
【０１２３】
（実施例２）
実施例１では、トポロジー構造Ａ、Ｂという２段から形成されるトポロジー構造Ｃの例を説明したが、実施例２では、３段以上のｎ段のトポロジー構造から形成されるトポロジー構造Ｃの例について、図１２、図１３を用いて説明する。図１２では、実施例２における接続情報５１０の作成例を示し、図１３では、ｎ段のトポロジー構造Ｃからの切り出し例について説明する。
【０１２４】
図１２は、実施例２における接続情報５１０の作成例を示す説明図である。実施例２では、入力サーバ、出力サーバがともにａ１台のトポロジー構造Ａ１、入力サーバ、出力サーバがともにａ２台のトポロジー構造Ａ２、…、入力サーバ、出力サーバがともにａｎ台のトポロジー構造Ａｎが与えられているとする。また、ｎは、２以上の整数である。ｎが２の場合には、実施例１と同様のトポロジー構造が得られることになる。
【０１２５】
まず、情報処理装置１０１は、ｎ段のトポロジー構造から形成される新たなトポロジー構造Ｃの入力サーバ、出力サーバの台数Ｐを、ａ１＊ａ２＊…＊ａｎとする。そして、情報処理装置１０１は、トポロジー構造Ａｉを示す構造データ５１１Ａｉ（ｉ＝１，２，…，ｎ）を、Ｐ／Ａｉ個複製する。
【０１２６】
そして、情報処理装置１０１は、複製した構造データ５１１ＡｉのＩＤを、Ａｉ（ｊ１，ｊ２，…，ｊ（ｉ−１），＊，ｊ（ｉ＋１），…，ｊｎ）に設定する。「ｊ１，ｊ２，…，ｊ（ｉ−１），＊，ｊ（ｉ＋１），…，ｊｎ」という数列は、ｉ番目の成分が「＊」であり、他の成分が、ｊｋ（ｋ＝１，２，…，ｎ）は、１≦ｊｋ≦ａｋを満たす。ｊの取り得る個数を計算すると、Ｐ／Ａｉに一致することになる。
【０１２７】
また、情報処理装置１０１は、Ａ（ｊ１，ｊ２，…，ｊ（ｉ−１），＊，ｊ（ｉ＋１），…，ｊｎ）の入力ポートを、ｉｎＡｉ（ｊ１，ｊ２，…，ｊ（ｉ−１），ｋ，ｊ（ｉ＋１），…，ｊｎ）（ｋ＝１，２，…，ａｉ）と設定する。同様に、情報処理装置１０１は、Ａ（ｊ１，ｊ２，…，ｊ（ｉ−１），＊，ｊ（ｉ＋１），…，ｊｎ）の出力ポートを、ｏｕｔＡｉ（ｊ１，ｊ２，…，ｊ（ｉ−１），ｋ，ｊ（ｉ＋１），…，ｊｎ）（ｋ＝１，２，…，ａｉ）と設定する。
【０１２８】
次に、情報処理装置１０１は、同一の括弧内符号となるｏｕｔＡｉと、ｉｎＡ（ｉ＋１）とを同一のリンクとして接続する。または、情報処理装置１０１は、Ａｉの括弧内符号と一致する括弧内符号を有する構造データ５１１Ａ（ｉ＋１）を、Ａｉと接続する構造データ５１１として特定してもよい。
【０１２９】
ここで、図１２を用いて、入力ポートと出力ポートとの接続処理の具体例について示す。図１２では、ｎ＝３であり、ａ１＝ａ２＝ａ３＝２であるとする。従って、Ｐ＝２＊２＊２＝８となる。次に、情報処理装置１０１は、構造データ５１１Ａ１〜Ａ３について、それぞれ４つ複製する。情報処理装置１０１は、複製した４つのＡ１のＩＤを、Ａ１（＊，１，１）、Ａ１（＊，１，２）、Ａ１（＊，２，１）、Ａ１（＊，２，２）と設定する。同様に、情報処理装置１０１は、複製した４つのＡ２のＩＤを、Ａ２（１，＊，１）、Ａ２（１，＊，２）、Ａ２（２，＊，１）、Ａ２（２，＊，２）と設定する。また、情報処理装置１０１は、複製した４つのＡ３のＩＤを、Ａ３（１，１，＊）、Ａ３（１，２，＊）、Ａ３（２，１，＊）、Ａ２（２，２，＊）と設定する。また、情報処理装置１０１は、Ａ１（＊，１，１）の入力ポート、出力ポートを、それぞれ、ｉｎＡ１（１，１，１）、ｉｎＡ１（２，１，１）、ｏｕｔＡ１（１，１，１）、ｏｕｔＡ１（２，１，１）、と設定する。情報処理装置１０１は、他の入力ポート、出力ポートについても同様の命令ルールによりＩＤを設定する。
【０１３０】
そして、情報処理装置１０１は、同一の括弧内符号となるｏｕｔＡｉと、ｉｎＡ（ｉ＋１）とを同一のリンクとして接続する。例えば、ｏｕｔＡ１（１，１、１）と、ｉｎＡ２（１，１，１）とを同一のリンクとして接続する。または、情報処理装置１０１は、Ａｉの括弧内符号と一致する括弧内符号を有する構造データ５１１Ａ（ｉ＋１）を、Ａｉと接続する構造データ５１１として特定してもよい。例えば、Ａ１（＊，１，１）と同一の括弧内符号を有するＡ２は、Ａ２（１，＊，１）と、Ａ２（２，＊，１）とになる。このように、３段以上のトポロジー構造では、隣接する段同士で接続しないトポロジー構造も含まれる。
【０１３１】
他の構造データ５１１同士も接続することにより、情報処理装置１０１は、図１２で示すトポロジー構造Ｃを得る。トポロジー構造Ｃが得られた後、構築されたトポロジー構造Ｃから、ジョブを投入したい台数ｎ以上の台数ｎ’のサーバを切り出す。実施例２におけるサーバの切り出し例については、図１３で説明する。
【０１３２】
また、実施例２において、入力サーバｓ（ｊ１，ｊ２，…，ｊｎ）が出力サーバｔ（ｋ１，ｋ２，…，ｋｎ）に送信する際に、各トポロジー構造で、「ｊ１，ｊ２，…，ｊｎ」が１成分ずつ修正される。従って、全ての入力サーバｓが、全ての出力サーバｔに送信することが可能である。
【０１３３】
図１３は、実施例２における切り出し例を示す説明図である。実施例１と同様に、情報処理装置１０１は、トポロジー構造Ａ１の切り出し可能な台数ａ１＿ｉ１（ｉ１＝１、２、…、λ１）の各切り出し可能な台数と、…、トポロジー構造Ａｎの切り出し可能な台数ａｎ＿ｉｎ（ｉｎ＝１、２、…、λｎ）との積ａ１＿ｉ１＊…＊ａｎ＿ｉｎの表を作成する。ａ１＿ｉ１＊…＊ａｎ＿ｉｎが、ｎ段におけるトポロジー構造Ｃから切り出し可能なサーバ台数となる。このａ１＿ｉ１＊…＊ａｎ＿ｉｎの表は、図８に示した表８０１をｎ次元にしたものであり、図示を省略する。次に、情報処理装置１０１は、ａ１＿ｉ１＊…＊ａｎ＿ｉｎの表を、切り出し可能なサーバ台数でソートしたリストを作成する。
【０１３４】
そして、情報処理装置１０１は、作成したリストから、二分探索によって、ｍ以上で切り出し可能な最小値ｍ’＝ａ１＿ｘ１（１≦ｘ１≦λ１）＊…＊ａｎ＿ｘｎ（１≦ｘｎ≦λｎ）を決定する。
【０１３５】
次に、情報処理装置１０１は、ａ１＿ｘ１に対応するポートＩＤ成分の集合Λａ１＿ｘ１、…、ａｎ＿ｘｎに対応するポートＩＤ成分の集合Λａｎ＿ｘｎに基づいて、切り出す入力サーバｓと出力サーバｔとを決定する。具体的には、情報処理装置１０１は、ポートＩＤ成分の集合Λａ１＿ｘ１、…、Λａｎ＿ｘｎの各集合から１つずつポートＩＤ成分を取り出して組を生成する。そして、情報処理装置１０１は、生成した組と同一のＩＤを有する入力サーバｓと出力サーバｔとを、切り出し対象サーバとして決定する。
【０１３６】
図１３の例では、ｎ＝３とし、ｍ’＝２とし、ａ１＿ｘ１＝１、ａ２＿ｘ２＝２、ａ３＿ｘ３＝１とする。さらに、ａ１＿ｘ１＝｛１｝、ａ２＿ｘ２＝｛１，２｝、ａ３＿ｘ３＝｛２｝であるとする。この場合、情報処理装置１０１は、ポートＩＤ成分の集合Λａ１＿ｘ１、Λａ２＿ｘ２、Λａ３＿ｘ３の各集合から１つずつポートＩＤ成分を取り出して組とし、（１，１，２）と、（１，２，２）とを生成する。そして、情報処理装置１０１は、生成した組と同一の添え字を有する入力サーバｓ（１，１，２）、ｓ（１，２，２）と、出力サーバｔ（１，１，２）、ｔ（１，２，２）とを、切り出し対象サーバとして決定する。
【０１３７】
切り出し対象サーバを決定した後、情報処理装置１０１は、切り出し対象サーバ間において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うために、情報処理装置１０１は、転送パターン表と、出力ポート表とを作成する。この２つの表の作成方法は、実施例１と同様の処理であるから、説明を省略する。
【０１３８】
次に、実施例１、２におけるトポロジー構造Ｃの接続情報作成処理と、転送パターン表および出力ポート表とのそれぞれのフローチャートを、図１４〜図１６を用いて説明する。
【０１３９】
図１４は、トポロジー構造の接続情報作成処理手順の一例を示すフローチャートである。情報処理装置１０１は、情報処理装置１０１のユーザによる操作によって、新たなトポロジー構造の構造データの作成要求を受け付ける（ステップＳ１４０１）。作成要求には、新たなトポロジー構造が、何段のトポロジー構造で構築されるのかという指示と、各段におけるトポロジー構造を指定する情報とが含まれる。ここでは、２以上の自然数であるｎ段のトポロジー構造で構築され、各段のトポロジー構造が、トポロジー構造Ａ１、Ａ２、…、Ａｎであるとする。
【０１４０】
そして、情報処理装置１０１は、作成要求に従って、記憶部１１０から、構造データＡ１（ａ１台）、Ａ２（ａ２台）、…、Ａｎ（ａｎ台）を取得する（ステップＳ１４０２）。次に、情報処理装置１０１は、ａ１＊ａ２＊…＊ａｎを算出して得られた値をＰに代入する（ステップＳ１４０３）。そして、情報処理装置１０１は、構造データＡｉ（ｉ＝１，２，…ｎ）を、Ｐ／ａｉ分複製する（ステップＳ１４０４）。次に、情報処理装置１０１は、複製した構造データのＩＤを設定する（ステップＳ１４０５）。
【０１４１】
そして、情報処理装置１０１は、複製した構造データの入力ポートｉｎＡｉと出力ポートｏｕｔＡｉとのＩＤを生成する（ステップＳ１４０６）。次に、情報処理装置１０１は、生成したＩＤを、複製した構造データの入力ポートｉｎＡｉと出力ポートｏｕｔＡｉに設定する（ステップＳ１４０７）。そして、情報処理装置１０１は、設定した入力ポートｉｎＡｉと出力ポートｏｕｔＡｉのＩＤに基づいて、同一の括弧内符号を有するｏｕｔＡｉ（ｉ＝１，２，…，ｎ）と、ｉｎＡ（ｉ＋１）とを接続する（ステップＳ１４０８）。なお、実施例１では、情報処理装置１０１は、Ｆａｔ−ＴｒｅｅでＯｕｔＡ１と、ｉｎＡ２とを接続すればよい。
【０１４２】
次に、情報処理装置１０１は、Ｐ台分の入力サーバｓと出力サーバｔとのＩＤを設定する（ステップＳ１４０９）。そして、情報処理装置１０１は、ＩｎＡ１と入力サーバｓとを接続する（ステップＳ１４１０）。また、情報処理装置１０１は、ＯｕｔＡｎと出力サーバとを接続する（ステップＳ１４１１）。そして、情報処理装置１０１は、複製したトポロジー構造Ａ１、Ａ２、…、Ａｎと、入力サーバｓと、出力サーバｔと、各トポロジー構造およびサーバの接続関係を含む接続情報５１０Ｃを作成する（ステップＳ１４１２）。ステップＳ１４１２の処理終了後、情報処理装置１０１は、トポロジー構造の接続情報作成処理を終了する。
【０１４３】
図１５は、切り出し対象サーバの決定処理手順の一例を示すフローチャートである。情報処理装置１０１のユーザによる操作によって、新たなトポロジー構造において、ジョブを投入したい台数ｍを受け付ける（ステップＳ１５０１）。
【０１４４】
次に、情報処理装置１０１は、ａ１＿ｉ１（ｉ１＝１、２、…、λ１）、…、ａｎ＿ｉｎ（ｉｎ＝１、２、…、λｎ）との積ａ１＿ｉ１＊…＊ａｎ＿ｉｎの表を作成する（ステップＳ１５０２）。そして、情報処理装置１０１は、作成した表を、切り出し可能なサーバ台数でソートしたリストを作成する（ステップＳ１５０３）。
【０１４５】
次に、情報処理装置１０１は、作成したリストから、二分探索によって、ｍ以上で切り出し可能な最小値ｍ’＝ａ１＿ｘ１（１≦ｘ１≦λ１）＊…＊ａｎ＿ｘｎ（１≦ｘｎ≦λｎ）を決定する（ステップＳ１５０４）。そして、情報処理装置１０１は、決定したａ１＿ｘ１に対応するΛａ１＿ｘ１と、…、ａｎ＿ｘｎに対応するΛａｎ＿ｘｎとから、１つずつＩＤ成分を取り出して組を作成する（ステップＳ１５０５）。ここで、作成される組は、ａ１＿ｘ１＊…＊ａｎ＿ｘｎ個となる。
【０１４６】
次に、情報処理装置１０１は、作成した組と同一のＩＤを有する入力サーバと出力サーバとを、切り出す入力サーバｓと出力サーバｔとして決定する（ステップＳ１５０６）。そして、情報処理装置１０１は、転送パターンおよび出力ポート決定処理を実行する（ステップＳ１５０７）。転送パターンおよび出力ポート決定処理は、図１６で示す。
【０１４７】
ステップＳ１５０７の処理終了後、情報処理装置１０１は、決定した入力サーバに対して、ジョブを投入する（ステップＳ１５０８）。ステップＳ１５０８の処理終了後、情報処理装置１０１は、切り出し対象サーバの決定処理を終了する。
【０１４８】
図１６は、転送パターンおよび出力ポート決定処理手順の一例を示すフローチャートである。情報処理装置１０１は、Λａ１＿ｘ１に対応する転送パターン表と、…、Λａｎ＿ｘｎに対応する転送パターン表とを取得する（ステップＳ１６０１）。次に、情報処理装置１０１は、取得した転送パターンから、ａ１＿ｘ１＊…＊ａｎ＿ｘｎ個の転送パターンを作成する（ステップＳ１６０２）。ステップＳ１６０２について、図１０の例を用いて説明する。この場合、ｎ＝２となり、ステップＳ１６０２のΛａ１＿ｘ１は、Λａ＿ｘとなり、Λａ２＿ｘ２は、Λｂ＿ｙとなる。そして、情報処理装置１０１は、Λａ＿ｘに対応する転送パターンＰ１、Ｐ２と、Λｂ＿ｙに対応する転送パターンＱ１、Ｑ２から、（Ｐ１，Ｑ１）、（Ｐ１，Ｑ２）、（Ｐ２，Ｑ１）、（Ｐ２，Ｑ２）を作成する。
【０１４９】
次に、情報処理装置１０１は、作成した転送パターン内の転送パターンから、いずれかの転送パターンを選択する（ステップＳ１６０３）。次に、情報処理装置１０１は、新たなトポロジー構造Ｃ内の全てのトポロジー構造Ａｉ（ｉ＝１、２、…、ｎ）の転送パターンを、選択した転送パターンのＡｉに対応する転送パターンに設定する（ステップＳ１６０４）。そして、情報処理装置１０１は、設定した転送パターンに従って、切り出す各入力サーバから出力サーバまでの経路を特定する（ステップＳ１６０５）。
【０１５０】
次に、情報処理装置１０１は、新たなトポロジー構造Ｃの転送パターン表に、特定した経路における出力サーバを、選択した転送パターンと、切り出す各入力サーバとの組み合わせに対応付けて登録する（ステップＳ１６０６）。そして、情報処理装置１０１は、特定した経路上にあるトポロジー構造Ａ１、…、Ａｎの出力ポートを特定する（ステップＳ１６０７）。
【０１５１】
次に、情報処理装置１０１は、新たなトポロジー構造Ｃ内の特定した経路上にあるトポロジー構造Ａ１、…、Ａｎの出力ポート表に、特定した出力ポートを、切り出す各入力サーバと出力サーバとの組み合わせに対応付けて登録する（ステップＳ１６０８）。そして、情報処理装置１０１は、作成した転送パターンの全てを選択したか否かを判断する（ステップＳ１６０９）。作成した転送パターンのうち選択していない転送パターンがある場合（ステップＳ１６０９：Ｎｏ）、情報処理装置１０１は、ステップＳ１６０３の処理に移行する。従って、ステップＳ１６０３〜Ｓ１６０９の処理は、ａ１＿ｘ１＊…＊ａｎ＿ｘｎ回繰り返される。ステップＳ１６０３〜Ｓ１６０９を実装する際にあたっては、例えば、ｎ個の入れ子構造となるループ処理としてもよい。
【０１５２】
一方、作成した転送パターンの全てを選択した場合（ステップＳ１６０９：Ｙｅｓ）、情報処理装置１０１は、新たなトポロジー構造Ｃの転送パターン表を、切り出す各入力サーバに送信する（ステップＳ１６１０）。次に、情報処理装置１０１は、新たなトポロジー構造内のトポロジー構造Ａ１、…、Ａｎの出力ポート表を、対応するＡ１、…、Ａｎに送信する（ステップＳ１６１１）。そして、情報処理装置１０１は、切り出し対象サーバ以外のサーバ、および、全ての経路のいずれも通過しないトポロジー構造への電力の供給を抑制するように設定する（ステップＳ１６１２）。ステップＳ１６１２の処理終了後、情報処理装置１０１は、転送パターンおよび出力ポート決定処理を終了する。
【０１５３】
（実施例３）
実施例１、２では、片方向における経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造について説明したが、実施例３では、双方向における経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信を提供できるトポロジー構造について説明する。双方向における経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信は、片方向の経路競合のないＡｌｌ−ｔｏ−Ａｌｌ通信が行えることに加えて、入力サーバ群から入力サーバ群への通信および出力サーバ群から出力サーバ群への経路競合のない通信が行えることである。
【０１５４】
図１７は、実施例３における接続情報５１０Ｃの作成例を示す説明図である。あるトポロジー構造において、あるトポロジー構造の中段のＳｐｉｎｅスイッチを境に線対称となる場合、あるトポロジー構造を、「線対称トポロジー構造」と称する。例えば、Ｆａｔ−Ｔｒｅｅやラテン方陣Ｆａｔ−Ｔｒｅｅは、線対称トポロジー構造となる。線対称トポロジー構造で、片方向において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が可能であるならば、Ｓｐｉｎｅスイッチで折り返すようにすることにより、双方向において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うトポロジー構造を作成することができる。
【０１５５】
図１７では、双方向において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うトポロジー構造Ｃの一例を示す。トポロジー構造Ｃは、トポロジー構造Ａ群、Ｂ群、Ａ’群を有する。ここで、トポロジー構造Ａ’は、Ａを逆さにしたトポロジー構造である。また、トポロジー構造Ｂは、線対称トポロジー構造である。例えば、トポロジー構造Ｂは、図１３で示したように、ラテン方陣Ｆａｔ−Ｔｒｅｅである。ラテン方陣Ｆａｔ−Ｔｒｅｅは、図１７で示すように、Ｓｐｉｎｅスイッチ同士を繋げた点線１７０１を軸として線対称となる。
【０１５６】
新たなトポロジー構造Ｃの接続情報Ｃが得られた後、構築されたトポロジー構造Ｃから、ジョブを投入したい台数ｍ以上の台数ｍ’のサーバを切り出す。実施例３におけるサーバの切り出し例については、図１８で説明する。
【０１５７】
図１８は、実施例３における切り出し例を示す説明図である。実施例３における切り出しも、実施例２における切り出しとほぼ同様である。実施例２における切り出しと異なる点として、実施例３における切り出しでは、トポロジー構造Ａの切り出し可能な台数と、トポロジー構造Ａ’の切り出し可能な台数とが同一であり、かつ、ＩＤも同一であることが求められる。
【０１５８】
切り出し可能な台数が同一で、かつ、ＩＤが同一となることにより、経路１８０１、１８０２とにおいて、切り出したサーバ以外のサーバに通信しないようにすることができる。ここで、経路１８０１は、図１７の点線１７０１上のＳｐｉｎｅスイッチで折り返さない経路であり、切り出した入力サーバｓから出力サーバｔまでの経路である。これに対し、経路１８０２は、図１７の点線１７０１上のＳｐｉｎｅスイッチで折り返す経路であり、切り出した入力サーバｓのそれぞれからの通信と、切り出した出力サーバｓのそれぞれからの通信とが折り返される経路である。
【０１５９】
例えば、図１８に示すトポロジー構造Ｃにおいて、切り出したサーバが、図１８で網掛けを付与した、入力サーバｓ（１，１，１）、ｓ（３，１，１）、…、出力サーバｔ（１，１，１）、ｓ（１，１，３）であるとする。そして、ある転送パターンで、Ｓｐｉｎｅスイッチで折り返さない場合に、入力サーバｓ（１，１，１）は、出力サーバｔ（１，１，３）と通信し、入力サーバｓ（３，１，１）は、出力サーバｔ（１，１，１）と通信するものとする。そして、同一の転送パターンで、Ｓｐｉｎｅスイッチで折り返す場合には、入力サーバｓ（１，１，１）は、入力サーバｓ（３，１，１）と通信し、出力サーバｔ（１，１，１）は、出力サーバｔ（１，１，３）と通信することになる。
【０１６０】
このように、切り出し可能な台数が同一で、かつ、ＩＤが同一となることにより、Ｓｐｉｎｅスイッチで折り返しても、切り出したサーバ以外のサーバに通信することがない。
【０１６１】
実施例３において経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うために、情報処理装置１０１は、転送パターン表と、出力ポート表とを作成する。この２つの表の作成方法は、実施例１とほぼ同様の処理であるから、説明を省略する。異なる処理として、ステップＳ１６０５の処理で、情報処理装置１０１は、経路１８０１を特定するとともに、経路１８０２を特定する。また、ステップＳ１６０６、Ｓ１６０８では、転送パターン表５１２、出力ポート表５１３に登録することになるが、情報処理装置１０１は、通信を折り返さない場合と、通信を折り返す場合とのそれぞれの転送パターン表、出力ポート表を用意すればよい。
【０１６２】
以上説明したように、情報処理装置１０１は、トポロジー構造Ｃ内の各トポロジー構造の一部でＡｌｌ−ｔｏ−Ａｌｌ通信できる各ポート数からジョブを実行したいｍ台以上でＡｌｌ−ｔｏ−Ａｌｌ通信できるｍ’を求める。そして、情報処理装置１０１は、ｍ’に対応するポートＩＤから切り出すサーバを決める。これにより、情報処理装置１０１は、トポロジー構造Ｃから、部分を切り出して運用することが可能になる。
【０１６３】
また、情報処理装置１０１は、トポロジー構造Ｃ内の各トポロジー構造の転送パターンの組み合わせごとに特定した切り出し対象送信元のそれぞれから宛先までの経路から、トポロジー構造Ｃの転送パターンと各トポロジー構造の出力ポートを決定する。これにより、切り出し対象送信元のそれぞれは、トポロジー構造Ｃにおいて、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことができる。
【０１６４】
また、情報処理装置１０１は、ｎ段のトポロジー構造において、Ａｌｌ−ｔｏ−Ａｌｌ通信できるｍ’を求めてもよい。これにより、情報処理装置１０１は、ｎ段のトポロジー構造に対しても、部分を切り出して運用することができる。
【０１６５】
また、双方向の経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信が行えるトポロジー構造があるとする。この場合、情報処理装置１０１は、前述のトポロジー構造において、１から（（ｎ−１）／２）までの各自然数となる第ｘの切り出し数が第（ｎ−ｘ＋１）の切り出し数と同一の値となるように、切り出し数を決定してもよい。これにより、情報処理装置１０１は、前述のトポロジー構造において、部分を切り出して、双方向の経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことができる。
【０１６６】
また、情報処理装置１０１は、切り出し対象サーバ以外のサーバと、切り出し対象送信元のそれぞれから切り出し対象宛先までの経路上にないトポロジー構造との少なくとも１つの電源の供給を抑制してもよい。これにより、情報処理装置１０１は、消費電力を削減し、資源の有効活用を行うことができる。
【０１６７】
また、情報処理装置１０１は、転送パターン表５１２Ａを切り出し対象送信元となった入力サーバｓに送信するとともに、出力ポート表５１３を、切り出し対象送信元のそれぞれから切り出し対象宛先までの経路上にあるトポロジー構造のスイッチに送信してもよい。これにより、転送パターン表５１２や出力ポート表５１３を手動で設定しなくとも、切り出し対象送信元のそれぞれは、トポロジー構造Ｃにおいて、経路競合なくＡｌｌ−ｔｏ−Ａｌｌ通信を行うことができる。また、トポロジー構造Ｃの管理者は、転送パターン表５１２や出力ポート表５１３を閲覧して、切り出し対象送信先のそれぞれと、前述した経路上のトポロジー構造のスイッチとの設定を手動で割り当ててもよい。
【０１６８】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７０】
（付記１）出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部と、
前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する制御部と、
を有することを特徴とする情報処理装置。
【０１７１】
（付記２）前記記憶部は、さらに、
前記ネットワーク内の各トポロジー構造の接続関係を示す接続情報と、前記各第１の切り出し数に対応して、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行う入力ポートと出力ポートとの組み合わせを示す前記各第１の切り出し数分の転送パターンと、前記各第２の切り出し数に対応して、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行う入力ポートと出力ポートとの組み合わせを示す前記各第２の切り出し数分の転送パターンとを記憶し、
前記制御部は、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の転送パターンと、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の転送パターンとの組み合わせに対応して、前記接続情報が示す前記ネットワークにおいて前記組み合わせの転送パターンが指定される際に、決定した前記切り出し対象送信元のそれぞれから前記切り出し対象宛先までの経路を特定し、
当該組み合わせに対応して特定した前記経路に基づいて、前記ネットワークにおいて前記切り出し対象送信元のそれぞれから前記切り出し対象宛先のそれぞれまで経路競合なく全対全通信を行う転送パターンと、前記ネットワーク内の各トポロジー構造における前記切り出し対象送信元と前記切り出し対象宛先との組み合わせに対応する出力ポートとを決定する、
ことを特徴とする付記１に記載の情報処理装置。
【０１７２】
（付記３）前記記憶部は、
ｎを２以上のいずれかの自然数とし、入力ポートおよび出力ポートを第１の数分有する第１の種別のトポロジー構造から入力ポートおよび出力ポートを第ｎの数分有する第ｎの種別のトポロジー構造までのｎ種類のトポロジー構造を有し、前記第１の種別のトポロジー構造の入力ポートに複数の送信元のそれぞれが接続し、前記第ｎの種別のトポロジー構造の出力ポートに複数の宛先のそれぞれが接続するネットワークにおいて、ｉを１からｎまでの各自然数とし、第ｉの種別のトポロジー構造において経路競合なく全対全通信を行える前記第ｉの数以下の切り出し可能な入力ポートの第ｉの切り出し数群と、前記第ｉの切り出し数群の各第ｉの切り出し数に対応する前記各第ｉの切り出し数分の前記入力ポートの識別情報とを、記憶し、
前記制御部は、
前記第１の数から前記第ｎの数までの積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数から第ｎの切り出し数までの積が前記いずれかの数以上となる、前記第ｉの切り出し数群のうちの前記第ｉの切り出し数を前記ｉに対応して決定し、
決定した前記第ｉの切り出し数に対応する前記第ｉの切り出し数分の前記入力ポートの識別情報に基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
ことを特徴とする付記１または２に記載の情報処理装置。
【０１７３】
（付記４）前記ネットワークに含まれるトポロジー構造が、前記ｎを３以上のいずれかの奇数とし、ｊを１から（（ｎ−１）／２）までの各自然数とし、前記ネットワークに含まれる第ｊの種別のトポロジー構造が、第（ｎ−ｊ＋１）種別のトポロジー構造を逆さにしたトポロジー構造であり、第（（ｎ＋１）／２）種別のトポロジー構造が、スイッチ同士を接続する複数のスイッチを有し、かつ、前記複数のスイッチのそれぞれを結ぶ線を軸として線対称となる構造を有し、
第ｊの種別のトポロジー構造における第ｊの切り出し数群の各第ｊの切り出し数分の前記入力ポートの識別情報が、第（ｎ−ｊ＋１）の切り出し数群のうちの前記各第ｊの切り出し数と同一の値となるいずれかの第（ｎ−ｊ＋１）の切り出し数分の前記入力ポートの識別情報と同一であり、
前記制御部は、
前記第１の数から前記第ｎの数までの積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記記憶部を参照して、第１の切り出し数から第ｎの切り出し数までの積が前記いずれかの数以上となり、かつ、１から（（ｎ−１）／２）までの各自然数となる第ｘの切り出し数が、第（ｎ−ｘ＋１）の切り出し数と同一の値となる前記第ｉの切り出し数群のうちの前記第ｉの切り出し数を、前記ｉに対応して決定する、
ことを特徴とする付記３に記載の情報処理装置。
【０１７４】
（付記５）前記制御部は、
前記複数の送信元のうちの前記切り出し対象送信元以外の送信元と、前記複数の宛先のうちの前記切り出し対象宛先以外の宛先と、前記ネットワークに含まれるトポロジー構造のうちの前記切り出し対象送信元のそれぞれから前記切り出し対象宛先までの経路上にないトポロジー構造に含まれるスイッチ群との少なくとも１つの電源の供給を抑制する、
ことを特徴とする付記１〜４のいずれか一つに記載の情報処理装置。
【０１７５】
（付記６）前記制御部は、
前記ネットワークにおいて前記切り出し対象送信元のそれぞれから前記切り出し対象宛先のそれぞれまで経路競合なく全対全通信を行う転送パターンを、前記切り出し対象送信元のそれぞれに送信し、
前記切り出し対象送信元のそれぞれから前記切り出し対象宛先までの経路上にあるトポロジー構造における送信元と宛先との組み合わせに対応する出力ポートを示す情報を、当該トポロジー構造に含まれるスイッチ群に送信する、
ことを特徴とする付記１〜５のいずれか一つに記載の情報処理装置。
【０１７６】
（付記７）出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークと、前記ネットワークに接続する情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
ことを特徴とする情報処理システム。
【０１７７】
（付記８）コンピュータが、
出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
処理を実行することを特徴とする情報処理方法。
【０１７８】
（付記９）コンピュータに、
出力ポートおよび複数の送信元のそれぞれが接続された入力ポートを第１の数分有する第２の数分の第１の種別の各トポロジー構造と複数の宛先のそれぞれが接続された出力ポートおよび入力ポートを前記第２の数分有する前記第１の数分の第２の種別の各トポロジー構造とがそれぞれ接続されたネットワークにおいて、前記第１の数と前記第２の数との積未満のいずれかの数の送信元と宛先との間で前記ネットワークを経由して経路競合なく全対全通信を行う際に、前記第１の種別のトポロジー構造において経路競合なく全対全通信を行える前記第１の数以下の切り出し可能な入力ポートの第１の切り出し数群と、前記第１の切り出し数群の各第１の切り出し数に対応する前記各第１の切り出し数分の前記入力ポートの識別情報と、前記第２の種別のトポロジー構造において経路競合なく全対全通信を行える前記第２の数以下の切り出し可能な第２の切り出し数群と、前記第２の切り出し数群の各第２の切り出し数に対応する前記各第２の切り出し数分の前記出力ポートの識別情報とを記憶する記憶部を参照して、第１の切り出し数と第２の切り出し数との積が前記いずれかの数以上となる前記第１の切り出し数群のうちの前記第１の切り出し数と、前記第２の切り出し数群のうちの前記第２の切り出し数とを決定し、
決定した前記第１の切り出し数に対応する前記第１の切り出し数分の前記入力ポートの識別情報と、決定した前記第２の切り出し数に対応する前記第２の切り出し数分の前記出力ポートの識別情報とに基づいて、前記複数の送信元および前記複数の宛先から経路競合なく全対全通信を行う切り出し対象送信元および切り出し対象宛先を決定する、
処理を実行させることを特徴とするプログラム。
【符号の説明】
【０１７９】
Ａ、Ｂ、Ｃ  トポロジー構造
１００  情報処理システム
１０１  情報処理装置
１０２  ネットワーク
１１０  記憶部
１１１  切り出し情報
５００  制御部
５０１  複製部
５０２  設定部
５０３  作成部
５０４  切り出し数決定部
５０５  切り出しサーバ決定部
５０６  特定部
５０７  転送パターン決定部
５０８  送信部
５０９  電源供給抑制部
５１０  接続情報
５１１  構造データ
５１１  各構造データ
５１１  数分の構造データ
５１２  転送パターン表
５１３  出力ポート表
【図１】
2018074258.tif 000003
【図２】
2018074258.tif 000004
【図３】
2018074258.tif 000005
【図４】
2018074258.tif 000006
【図５】
2018074258.tif 000007
【図６】
2018074258.tif 000008
【図７】
2018074258.tif 000009
【図８】
2018074258.tif 000010
【図９】
2018074258.tif 000011
【図１０】
2018074258.tif 000012
【図１１】
2018074258.tif 000013
【図１２】
2018074258.tif 000014
【図１３】
2018074258.tif 000015
【図１４】
2018074258.tif 000016
【図１５】
2018074258.tif 000017
【図１６】
2018074258.tif 000018
【図１７】
2018074258.tif 000019
【図１８】
2018074258.tif 000020