JP6160406B2 - 設計支援装置、設計支援プログラムおよび設計支援方法 - Google Patents

設計支援装置、設計支援プログラムおよび設計支援方法 Download PDF

Info

Publication number
JP6160406B2
JP6160406B2 JP2013202651A JP2013202651A JP6160406B2 JP 6160406 B2 JP6160406 B2 JP 6160406B2 JP 2013202651 A JP2013202651 A JP 2013202651A JP 2013202651 A JP2013202651 A JP 2013202651A JP 6160406 B2 JP6160406 B2 JP 6160406B2
Authority
JP
Japan
Prior art keywords
nodes
node
design support
network
support apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013202651A
Other languages
English (en)
Other versions
JP2015070439A (ja
Inventor
耕太 中島
耕太 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013202651A priority Critical patent/JP6160406B2/ja
Priority to US14/462,707 priority patent/US9621430B2/en
Publication of JP2015070439A publication Critical patent/JP2015070439A/ja
Application granted granted Critical
Publication of JP6160406B2 publication Critical patent/JP6160406B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、設計支援装置、設計支援プログラムおよび設計支援方法に関する。
従来、複数のサーバや複数の演算処理装置等、相互に通信を行う複数の電子装置をネットワークで接続する技術が知られている。このような技術の一例として、各電子装置が通信に用いる帯域を増加させるため、若しくは、通信の信頼性を向上させるための冗長性を確保するために、各電子装置を複数のネットワークで接続する技術が知られている。
以下、図23を用いて、複数の電子装置を複数のネットワークで接続する技術の一例について説明する。図23は、複数のネットワークに接続されたサーバの一例を説明する図である。なお、図23に示す例では、サーバa〜サーバdを単にa〜dと記載した。
例えば、図23中(y)に示す例では、スイッチ20、20a〜20cを有するネットワークにサーバa〜サーバdが接続される。詳細には、サーバaとサーバbがスイッチ20bに接続され、サーバcとサーバdがスイッチ20cに接続される。また、スイッチ20bとスイッチ20cとがスイッチ20およびスイッチ20aにそれぞれ接続される。
一方、図23中(z)に示す例では、スイッチ20、20a〜20cを有するネットワーク、および、スイッチ20d〜20gを有するネットワークにサーバa〜サーバdが接続される。詳細には、図23中(y)と同様に、スイッチ20、20a〜20cを有するネットワークにサーバa〜サーバdが接続される。また、スイッチ20d〜20gにより形成されたネットワークであって、スイッチ20、20a〜20cを有するネットワークと同じトポロジを有するネットワークに、サーバa〜サーバdが接続される。
この結果、図23中(z)に示す例では、スイッチ20、20a〜20cを有するネットワーク、または、スイッチ20d〜20gを有するネットワークを介して、サーバa〜サーバdが通信する。この結果、図23中(z)に示すネットワークでは、サーバa〜サーバd間の帯域が、図23中(y)に示すネットワークの倍に増加する。
特開2000−253060号公報
しかしながら、同じトポロジを有する複数のネットワークに複数の電子装置を接続した場合は、電子装置同士が通信を行う際のレイテンシを削減することができないという問題がある。
例えば、図23中(y)に示す例では、サーバaとサーバcとは、3つのスイッチ20b、スイッチ20、スイッチ20c、または、スイッチ20b、スイッチ20a、スイッチ20cを介した通信経路、すなわちホップ数「3」の通信経路を介して、通信を行う。ここで、図23中(z)に示すように、スイッチ20d〜20gを有するネットワークは、スイッチ20、20a〜20cを有するネットワークと同じトポロジを有する。このため、サーバaとサーバcとは、スイッチ20d〜20gを有するネットワークを介して通信を行う場合は、スイッチ20、20a〜20cを有するネットワークを介して通信を行う場合と同様に、ホップ数「3」の通信経路で通信を行う。
このように、各サーバa〜サーバdを同じトポロジを有する複数のネットワークに接続した場合は、各サーバa〜サーバdに複数のネットワークが接続されているにも係らず、各サーバa〜サーバdが通信を行う際のレイテンシを削減できない。
1つの側面では、本発明は、各電子装置が通信を行う際のレイテンシを軽減するネットワークを設計可能な設計支援装置、設計支援プログラムおよび設計支援方法を提供することを目的とする。
一態様の設計支援装置は、受付部と、算出部と、特定部と、出力部とを有する。受付部は、ネットワークに接続するノードの数と、各ノードに接続されるネットワークの数と、ノード間の通信を中継する中継装置のうちノードと接続される中継装置である終端装置に接続されるノードの数との入力を受け付ける。算出部は、受付部が受け付けたノードの数と、ネットワークの数と、終端装置に接続されるノードの数とに基づいて、各ネットワークが有する終端装置の数を算出する。特定部は、ネットワークごとに、算出部が算出した数の終端装置のいずれかに各ノードが接続され、かつ、全てのネットワークに含まれる各終端装置にそれぞれ異なる組合せのノードが接続されるように、各終端装置に接続されるノードを特定する。出力部は、特定部が特定したノードを終端装置に接続する旨の接続情報を出力する。ここで、算出部は、受付部が受け付けたネットワークの数が2であり、受付部が受け付けたノードの数を受付部が受け付けた終端装置に接続されるノードの数で除算した数が2である場合、その除算した数を終端装置の数として算出する。また、算出部は、受付部が受け付けたネットワークの数が2であり、受付部が受け付けたノードの数を受付部が受け付けた終端装置に接続されるノードの数で除算した数が2よりも大きい整数である場合、その除算した数よりも大きい整数のうち、値が最小の整数を終端装置の数として算出する。特定部は、受付部が受け付けた終端装置に接続されるノードの数を各行の要素数とし、算出部が算出した終端装置の数を各列の要素数とする行列形式の番号を受付部が受け付けた数のノードに付与する。また、特定部は、第1のネットワークに含まれる各終端装置に接続されるノードの組として、同一の行番号が付与されたノードの組を特定する。また、特定部は、第2のネットワークに含まれる各終端装置に接続されるノードの組として、行番号と列番号とが1ずつ異なる番号が付与されたノードの組を特定する。
一実施形態によれば、各電子装置が通信を行う際のレイテンシを軽減するネットワークを設計することができる。
図1は、実施例1に係る設計支援装置の機能構成を説明する図である。 図2は、実施例1に係る設計支援装置が実行する処理の概要を説明する図である。 図3は、ネットワークが2つ存在する際に、実施例1に係る設計支援装置が出力するネットワークの一例を説明する図である。 図4は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が実行する処理を説明する第1の図である。 図5は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が実行する処理を説明する第2の図である。 図6は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が特定するノードの組の一例を説明する図である。 図7は、実施例1に係る設計支援装置が特定するノードの組を説明する図である。 図8は、パラメータを一般化した場合に、実施例1に係る設計支援装置が出力する接続表の一例を説明する第1の図である。 図9は、パラメータを一般化した場合に、実施例1に係る設計支援装置が出力する接続表の一例を説明する第2の図である。 図10は、実施例1に係る設計支援装置が実行する処理の流れを説明するフローチャートである。 図11は、実施例1に係る設計支援装置がスイッチ数を算出する処理の流れを説明するフローチャートである。 図12は、実施例1に係る設計支援装置がノードの組を特定する処理の流れを説明するフローチャートである。 図13は、実施例2に係る設計支援装置の機能構成を説明する図である。 図14は、実施例2に係る設計支援装置が記憶する相互直行ラテン方格データの一例を説明する図である。 図15は、実施例2に係る設計支援装置が相互直行ラテン方格を利用して設計するネットワークの一例を説明する図である。 図16は、実施例2に係る設計支援装置が設計するネットワークの一例を説明するための図である。 図17は、実施例2に係る設計支援装置が出力する接続表の一例を説明する第1の図である。 図18は、実施例2に係る設計支援装置が出力する接続表の一例を説明する第2の図である。 図19は、実施例2に係る設計支援装置がスイッチ数を算出する処理の流れを説明するフローチャートである。 図20は、実施例2に係る設計支援装置がノードの組を特定する処理の流れを説明するフローチャートである。 図21は、実施例2に係る設計支援装置がyの値を特定する処理の流れを説明するフローチャートである。 図22は、設計支援プログラムを実行するコンピュータの一例を説明する図である。 図23は、複数のネットワークに接続されたサーバの一例を説明する図である。
以下に添付図面を参照して本願に係る設計支援装置を有する設計支援装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により開示技術が限定されるものではない。また、各実施例は、矛盾しない範囲で適宜組みあわせてもよい。
以下の実施例1では、図1を用いて、本願に係る設計支援装置の一例を説明する。図1は、実施例1に係る設計支援装置の機能構成を説明する図である。図1に示す例では、設計支援装置10には、入力装置1、出力装置2が接続されている。また、設計支援装置10は、受付部11、算出部12、特定部13、出力部14を有する。
設計支援装置10は、相互に通信する複数のノードを複数のネットワークに接続する際、各ノードをどのスイッチに接続するかを設計する。具体的には、設計支援装置10は、利用者からパラメータの入力を受け付けると、受け付けたパラメータに応じて、各ネットワークに含まれるスイッチに、どのノードを接続するかを特定する。そして、設計支援装置10は、各スイッチに特定したノードを接続する旨を示す接続情報を出力する。なお、ノードとは、例えば、サーバ等の情報処理装置やCPU(Central Processing Unit)等の演算処理装置を含む電子装置である。
ここで、図2を用いて、設計支援装置10が実行する処理の概要について説明する。図2は、実施例1に係る設計支援装置が実行する処理の概要を説明する図である。なお、図2には、複数のノードa〜dを二つのネットワークに接続する例について記載した。また、図2では、各ノードa〜dを単にa〜dと記載した。
例えば、図2中(A)に示す例では、図23中(z)と同様に、ノードa〜dが、スイッチ20、20a〜20cを有するネットワークと、スイッチ20d〜20gを有するネットワークとに接続されている。ここで、図2中(A)に示す例では、スイッチ20、20a〜20cを有するネットワークと、スイッチ20d〜20gを有するネットワークとは、同一のトポロジを有する。
このため、図2中(A)の直線および点線で示すように、ノードaとノードbとの通信経路、および、ノードcとノードdとの通信経路は、ホップ数が「1」となる。しかしながら、ノードaとノードcとの通信経路、ノードaとノードdとの通信経路、ノードbとノードcとの通信経路、ノードbとノードdとの通信経路は、どちらのネットワークを経由する場合にも、ホップ数が「3」となる。
そこで、設計支援装置10は、図2中(B)に示すように、スイッチ20、20a〜20cを有するネットワークのトポロジと、スイッチ20d〜20gを有するネットワークのトポロジとが異なるトポロジとなるように、各ネットワークを設計する。詳細には、設計支援装置10は、スイッチ20、20a〜20cのうち、ノードa〜dと接続されたスイッチ20b、20cのいずれかにノードa〜dが接続されるようネットワークを設計する。また、設計支援装置10は、スイッチ20d〜20gのうち、スイッチ20d、20eのいずれかにノードa〜dが接続されるようネットワークを設計する。
さらに、設計支援装置10は、ノードa〜dが接続されるスイッチ20b〜20eにそれぞれ異なるノードの組が接続されるよう、各ネットワークを設計する。すなわち、設計支援装置10は、共通する2つのノードを含んだノードの組が存在しないように、各スイッチ20b〜20eに対して接続されるノードの組を特定する。
例えば、図2中(B)に示す例では、設計支援装置10は、スイッチ20bにノードa、ノードbを接続し、スイッチ20cにノードc、ノードdを接続する旨の接続情報を生成する。また、設計支援装置10は、スイッチ20dにノードa、ノードcを接続し、スイッチ20eにノードb、ノードdを接続する旨の接続情報を生成する。
この結果、設計支援装置10は、ノードaとノードbとの通信経路およびノードcとノードdとの通信経路のホップ数を増加させることなく、ノードaとノードcとの通信経路およびノードbとノードdとの通信経路のホップ数を「1」にできる。このため、設計支援装置10は、各ノードa〜dが通信する際の遅延を削減することができる。なお、以下の説明では、ノードが接続されるスイッチを終端スイッチと記載する。
図1に戻り、説明を続ける。入力装置1は、設計するネットワークの各種パラメータの入力を行うための入力装置であり、例えば、マウス、キーボード、タッチパッド等の入力装置である。例えば、入力装置1は、利用者から各種パラメータとして、ネットワークに接続するノードの数「m」、各ノードに接続されるネットワークの数「n」を受け付ける。また、入力装置1は、ネットワークを形成するスイッチのうち、ノードと接続される終端スイッチに接続されるノード数「d」の入力を受け付ける。かかる場合は、入力装置1は、受け付けた各種パラメータの値「m」「n」「d」を設計支援装置10へ出力する。
出力装置2は、接続情報を出力するための出力装置であり、例えば、モニタ等接続情報を表示するための表示装置、もしくは、プリンタ等接続情報を印刷するための出力装置である。例えば、出力装置2は、設計支援装置10から接続情報を受信すると、受信した接続情報を表示する。
次に、設計支援装置10が有する機能構成について説明する。受付部11は、入力装置1を介して、利用者が入力した各種パラメータの値「m」「n」「d」を受け付ける。かかる場合、受付部11は、受け付けた各種パラメータの値「m」「n」「d」を算出部12に出力する。
算出部12は、利用者が入力した各種パラメータを用いて、各ネットワークの終端スイッチの数を算出する。詳細には、算出部12は、受付部11から各種パラメータの値「m」「n」「d」を受け付けると、ネットワークの数「n」が「2」であるか否かを判定する。そして、算出部12は、ネットワークの数「n」が「2」である場合は、「m」個のノードと接続可能な終端スイッチの数「s」を算出する。
具体的には、算出部12は、ノード数「m」を1つのスイッチが有するノード数「d」で除算し、除算した値よりも大きい最小の整数を算出する。例えば、算出部12は、「m=12」、「d=3」の場合は、「s=4」を算出する。そして、算出部12は、受信した各種パラメータの値「m=12」「n=2」「d=3」と、算出した値「s=4」とを特定部13に出力する。
一方、算出部12は、ネットワークの数「n」が「2」ではない場合、すなわち、ネットワークの数「m」が「3」以上である場合は、「m」を「d」で除算した値以上の整数であって、1を除く「n」以下の整数で割り切れない最小の数を「s」として算出する。例えば、算出部12は、「m=17」、「d=4」、「n=4」である場合は、「5」以上の整数であって、1を除く「4」以下の整数で割り切れない最小の数、すなわち「5」を「s」の値とする。そして、受信した各種パラメータの値「m=17」、「d=4」、「n=4」と、算出した値「s=5」とを特定部13に出力する。
特定部13は、入力された数のノードに対し、入力された数のネットワークを接続する際、各ネットワークの終端スイッチに接続するノードを特定する。具体的には、特定部13は、全てのネットワークに各ノードが接続されるように、各終端スイッチに接続されるノードを特定する。また、特定部13は、全ての終端スイッチに接続されるノードの組み合わせが、それぞれ異なるように、各終端スイッチに接続されるノードを特定する。
以下、特定部13が実行する処理の一例について、ネットワークの数「n」が「2」の場合と、「3」以上の場合とに分けて説明する。例えば、特定部13は、算出部12から各種パラメータ「m=12」「n=2」「d=3」「s=4」を受信する。かかる場合は、特定部13は、終端スイッチに接続されるノードの数「3」を各行の要素数とし、終端スイッチの数「4」を各列の要素数とする行列形式の番号を、「12」個のノードに対して付与する。詳細には、特定部13は、番号(1,1)〜(1,3)、(2,1)〜(2,3)、(3,1)〜(3,3)、(4,1)〜(4,3)を各ノードに付与する。
次に、特定部13は、1つ目のネットワークに含まれる各終端スイッチに接続されるノードの組として、同一の行番号が付与されたノードを特定する。例えば、特定部13は、1つめのネットワークに含まれるスイッチ20、20a〜20cに接続されるノードを特定する場合は、スイッチ20に接続されるノードの組として、番号(1,1)〜(1,3)が付与されたノードの組を特定する。また、特定部13は、スイッチ20aに接続されるノードの組として、番号(2,1)〜(2,3)が付与されたノードの組を特定し、スイッチ20bに接続されるノードの組として、番号(3,1)〜(3,3)が付与されたノードの組を特定する。また、特定部13は、スイッチ20cに接続されるノードの組として、番号(4,1)〜(4,3)が付与されたノードの組を特定する。
ここで、特定部13は、2つ目のネットワークに含まれる各終端スイッチに接続されるノードの組として、単純に列番号が同一となるノードの組を特定した場合は、番号(4,1)〜(4,3)が付与されたノードを2つ目のネットワークに接続できない。そこで、特定部13は、2つ目のネットワークに含まれる各終端スイッチに接続されるノードの組として、行番号と列番号とが1つずつ異なる番号が付与されたノードの組を特定する。
例えば、特定部13は、2つ目のネットワークに含まれるスイッチ20d〜20gに接続されるノードを特定する場合は、以下の処理を実行する。まず、特定部13は、番号(1,1)が付与されたノードを起点として選択する。また、特定部13は、番号(1,1)を起点として行番号と列番号とが1つずつ異なる番号であって、「d」の値から1を減算した数の番号を算出する。具体的には、特定部13は、番号(1,1)から行番号と列番号とに1を順次加算した2つの番号(2,2)、(3,3)を算出する。そして、特定部13は、起点として選択された番号(1,1)、および算出した番号(2,2)、(3,3)が付与されたノードをスイッチ20dに接続するノードの組とする。
次に、特定部13は、番号(1,1)と行番号が1つ異なる番号(2,1)が付与されたノードを起点として選択する。また、特定部13は、番号(2,1)から行番号と列番号とに1を順次加算した2つの番号(3,2)、(4,3)を算出する。そして、特定部13は、起点として選択された番号(2,1)、および算出した番号(3,2)、(4,3)が付与されたノードをスイッチ20eに接続するノードの組とする。
また、特定部13は、番号(2,1)と行番号が1つ異なる番号(3,1)が付与されたノードを起点として選択する。また、特定部13は、番号(3,1)から行番号と列番号とに1を加算した番号(4,2)を算出する。ここで、番号(4,2)の行番号と列番号とに1を加算した番号は(5,3)となるが、番号(5,3)が割当てられたノードは、存在しない。このため、特定部13は、行番号および列番号のうち、要素数を超えた番号については、値を「1」に戻して、番号を算出する。詳細には、特定部13は、番号(4,2)の行番号と列番号とに1を加算した場合は、番号(1,3)を算出する。そして、特定部13は、起点として選択された番号(3,1)、および算出した番号(4,2)、(1,3)が付与されたノードをスイッチ20fに接続するノードの組とする。
同様に、特定部13は、番号(4,1)が付与されたノードを起点とし、行番号と列番号とが1つずつ異なる番号、すなわち番号(1,2)、(2,3)を算出する。そして、特定部13は、番号(4,1)、(1,2)、(2,3)が付与されたノードをスイッチ20gに接続するノードの組とする。
かかる処理を実行することで、特定部13は、図3に示すように、各終端スイッチに接続するノードの組を特定する。図3は、ネットワークが2つ存在する際に、実施例1に係る設計支援装置が出力するネットワークの一例を説明する図である。なお、図3に示す例では、各ノードa〜lとスイッチ20、20a〜20gとの接続関係を記載した。なお、図3に示す例では、各ノードa〜lを付与された行列形式の番号順に表示した。
例えば、図3中点線に示すように、番号(1,1)〜(1,3)が付与されるノードa〜cは、スイッチ20に接続され、番号(2,1)〜(2,3)が付与されるノードd〜fは、スイッチ20aに接続される。また、番号(3,1)〜(3,3)が付与されるノードg〜iは、スイッチ20bに接続され、番号(4,1)〜(4,3)が付与されるノードj〜lは、スイッチ20cに接続される。
また、図3中(C)に示すように、番号(1,1)、(2,2)、(3,3)が付与されたノードa、ノードe、ノードiは、図3中(D)中の直線に示すように、スイッチ20dに接続される。また、図3中(E)に示すように、番号(2,1)、(3,2)、(4,3)が付与されたノードd、ノードh、ノードlは、図3中(D)中の長点線に示すように、スイッチ20eに接続される。また、図3中(F)に示すように、番号(3,1)、(4,2)、(1,3)が付与されたノードg、ノードk、ノードcは、図3中(D)中の2点破線に示すように、スイッチ20fに接続される。また、図3中(G)に示すように、番号(4,1)、(1,2)、(2,3)が付与されたノードj、ノードb、ノードfは、図3中(D)中の1点破線に示すように、スイッチ20gに接続される。
この結果、ノードa〜cの組、ノードd〜fの組、ノードg〜iの組、ノードj〜lの組は、スイッチ20、20a〜20cを介して、それぞれ1ホップでノード間通信を実行できる。さらに、ノードa、ノードe、ノードiの組、ノードd、ノードh、ノードlの組は、スイッチ20d、20eを介して、それぞれ1ホップでノード間通信を実行できる。また、ノードg、ノードk、ノードcの組、ノードj、ノードb、ノードfの組は、スイッチ20f、20gを介して、それぞれ1ホップでノード間通信を実行できる。このため、設計支援装置10は、ノード間通信の遅延を軽減できる。
なお、特定部13は、各ネットワークに含まれる終端スイッチ同士の接続関係についても特定する。例えば、特定部13は、1つ目のネットワークについて、スイッチ20、20a、20bを接続するスイッチ、およびスイッチ20a〜20cを接続するスイッチを特定する。また、特定部13は、2つ目のネットワークについて、スイッチ20d〜20fを接続するスイッチ、およびスイッチ20e〜20gを接続するスイッチを特定する。
次に、ネットワークの数「n」が「3」以上の場合に特定部13が実行する処理の流れについて説明する。例えば、特定部13は、ネットワークの数「n」が「2」の場合に実行する処理をそのまま拡張した場合には、複数の終端スイッチに共通する2つのノードを接続してしまう場合がある。
例えば、図4は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が実行する処理を説明する第1の図である。なお、図4には、各種パラメータの値が「m=12」「n=3」「d=3」「s=4」である際に、各終端スイッチに接続されるノードの組を記載した。例えば、特定部13は、上述した処理を実行することで、図4中(H)に示すように、1つ目のネットワークおよび2つ目のネットワークに含まれる終端スイッチに接続するノードの組として、図3と同様なノードの組を特定する。
ここで、3つ目のネットワークに含まれる終端スイッチに対して接続するノードの組を特定する処理として、例えば、起点となるノードの番号から順次列番号に1を加算し、行番号に2を加算した番号を算出し、算出した番号のノードを特定する処理が考えられる。しかしながら、特定部13が、かかる処理を実行した場合は、図4中(I)に示すように、スイッチの数が2の倍数となる際に、同一のノードの組を、複数の終端スイッチに接続してしまう場合がある。
詳細には、特定部13は、図4中(J)に示すように、ノードa〜cを1つ目のネットワークに含まれる終端スイッチに接続するノードの組として特定する。しかしながら、特定部13は、上述した処理を実行した場合は、ノードa、ノードh、ノードcを3つ目のネットワークに含まれる終端スイッチに接続するノードの組として特定してしまう。この結果、特定部13は、ノードaとノードcとの組を2つの終端スイッチに接続してしまうので、ノードaとノードcとを1ホップで接続する通信経路が2つ存在する結果、1ホップで通信可能なノードの組み合わせの数が減ってしまう。
そこで、設計支援装置10は、以下の処理を実行する。まず、算出部12は、上述したように、ネットワークの数「m」が「3」以上である場合は、「m」を「d」で除算した値以上の整数であって、1を除く「n」以下の整数で割り切れない最小の数を「s」として算出する。一方、特定部13は、「m」個のノードと、「d×s−m」個の仮想的なノードとに行列形式の番号を付与する。
そして、特定部13は、各ネットワークに含まれる終端スイッチに接続するノードの組を特定する。具体的には、特定部13は、p番目のネットワークに含まれるk番目の終端スイッチに接続するd個のノードとして、番号(k,1)(k+p,2)(k+3p,4)…(k+(d−1)p,d)が付与されたノードを特定する。ここで、pとは、0以上n−1以下となる整数であり、kとは、0以上s−1以下となる整数である。すなわち、特定部13は、列番号が1つ異なる度に、前記ネットワークに付与された整数番号と同じ値ずつ行番号が異なる番号が付与されたノードの組を特定する。
以下、図5を用いて、ネットワークが3つ存在する際に、特定部13が特定するノードの組の一例について説明する。図5は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が実行する処理を説明する第2の図である。なお、図5には、各種パラメータの値が「m=12」「n=3」「d=3」である際に、各終端スイッチに接続されるノードの組を記載した。また、図5に示す例では、各ノードを、各ノードに付与される番号に応じて行列形式で記載し、仮想的なノードを点線の丸印で囲んだ。
例えば、各種パラメータの値が「m=12」「n=3」「d=3」である場合は、算出部12は、終端スイッチの数「s=5」を算出する。ここで、終端スイッチが「5」つ存在する場合は、全部で15個のノードを接続可能である。そこで、特定部13は、12個のノードa〜lと、3つの仮想的なノードm〜oに対し、各行の要素数が「3」、各列の要素数が「5」となる行列形式の番号を付与する。
そして、特定部13は、図5中(K)に示すように、0番目のネットワークに含まれる各終端スイッチに接続するノードの組として、行番号が同一となるノードの組を特定する。詳細には、特定部13は、1番目の終端スイッチに接続するノードa〜cを特定し、2番目の終端スイッチに接続するノードd〜fを特定し、3番目の終端スイッチに接続するノードg〜iを特定する。また、特定部13は、4番目の終端スイッチに接続するノードj〜lを特定し、5番目の終端スイッチに接続するノードm〜oを特定する。なお、ノードm〜oは、仮想的なノードであるため、0番目のネットワークに含まれる5番目の終端スイッチには、ノードが接続されない。
また、特定部13は、図5中(L)に示すように、1番目のネットワークに含まれる各終端スイッチに接続するノードの組として、行番号と列番号とが1つずつ異なるノードの組を特定する。詳細には、特定部13は、1番目の終端スイッチに接続するノードa、ノードe、ノードiを特定し、2番目の終端スイッチに接続するノードd、ノードh、ノードlを特定し、3番目の終端スイッチに接続するノードg、ノードk、ノードoを特定する。また、特定部13は、4番目の終端スイッチに接続するノードj、ノードn、ノードcを特定し、5番目の終端スイッチに接続するノードm、ノードb、ノードfを特定する。なお、ノードm〜oは、仮想的なノードである。このため、1番目のネットワークに含まれる3番目の終端スイッチには、ノードg、ノードkのみが接続され、4番目の終端スイッチには、ノードj、ノードcのみが接続され、5番目の終端スイッチには、ノードb、ノードfが接続される。
また、特定部13は、図5中(M)に示すように、2番目のネットワークに含まれる各終端スイッチに接続するノードの組として、列番号が1つ異なる度に行番号が2つ異なるノードの組を特定する。詳細には、特定部13は、図5中(N)に示すように、1番目の終端スイッチに接続するノードとして、直線六角形で囲むノードa、ノードh、ノードoを特定する。また、特定部13は、2番目の終端スイッチに接続するノードとして、点線六角形で囲むノードd、ノードk、ノードcを特定し、3番目の終端スイッチに接続するノードとして、1点破線の六角形で囲むノードg、ノードn、ノードfを特定する。
また、特定部13は、4番目の終端スイッチに接続するノードとして、2点破線の六角形で囲むノードj、ノードb、ノードiを特定し、5番目の終端スイッチに接続するノードとして長点線の六角形で囲むノードm、ノードe、ノードlを特定する。なお、ノードm〜ノードoは、仮想的なノードであるため、1番目のスイッチには、ノードa、ノードhのみが接続され、3番目のスイッチには、ノードg、ノードfのみが接続され、5番目のスイッチには、ノードe、ノーlのみが接続される。
また、特定部13は、図5に示す0番目から2番目の各ネットワークに含まれる終端スイッチ同士の接続関係についても特定する。なお、終端スイッチ同士の接続関係を設計する処理については、任意の従来技術を適用することができるが、例えば、特定部13は、終端スイッチに接続するノードの数に1を加算した値、すなわち、各スイッチが有するポートの数を算出する。そして、特定部13は、ネットワークごとに、算出したポートの数と、終端スイッチの数と、ノードの数とに基づいて、終端スイッチ同士の接続関係を設計してもよい。
また、特定部13は、ツリー型のネットワークを設計する場合は、利用者から、各ネットワークにおけるスイッチの段数の指定を受け付け、受け付けた段数を有するツリー型のネットワークを設計しても良い。また、特定部13は、終端スイッチ同士をファブリックで接続するネットワークを設計してもよい。
その後、特定部13は、各終端スイッチに接続されるノードの組、各終端スイッチの接続関係、および各パラメータの値「m」「n」「d」「s」を出力部14に出力する。また、特定部13は、仮想的なノードが存在する場合は、仮想的なノードに付与された番号を出力部14に通知する。例えば、特定部13は、p番目のネットワークに含まれるk番目の終端スイッチに接続するノードに付与された番号を出力部14に通知する。
なお、上述した例では、算出部12と特定部13とは、「n=2」と「n≧3」の場合とで異なる処理を実行した。しかしながら、実施例はこれに限定されるものではない。すなわち、算出部12と特定部13とは、nの値が2であっても、「n≧3」の場合と同様の処理を実行することで、各ネットワークの各終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を特定することができる。
図1に戻り、出力部14は、特定部13が特定したノードの組を終端スイッチに接続する旨の接続情報を出力する。例えば、出力部14は、パラメータ「m」「n」「d」「s」の値、p番目のネットワークに含まれるk番目の終端スイッチに接続する各ノードに付与された番号、および、終端スイッチ同士の接続関係とを特定部13から受信する。かかる場合は、出力部14は、受信した情報を用いて、各ノードと各終端スイッチとの接続を示す接続表を作成し、作成した接続表を出力装置2へ出力する。
ここで、図6を用いて、出力部14が出力する接続表の一例について説明する。図6は、ネットワークが3つ存在する際に、実施例1に係る設計支援装置が特定するノードの組の一例を説明する図である。なお、図6には、特定部13が、各ネットワークの終端スイッチに接続されるノードの組として、図5に示すノードの組を特定した際に、出力部14が出力する接続表の一例について記載した。
例えば、出力部14は、直線の丸印で示すノードa〜lを横一列に配置し、つづけて点線の丸印で示す仮想的なノードm〜oを配置する。そして、出力部14は、ノードa〜c、ノードd〜f、ノードg〜i、ノードj〜l、ノードm〜oをそれぞれ四角で囲むことで、各ノードの組を0番目のネットワークに含まれる各終端スイッチに接続されるノードの組として表示する。
また、出力部14は、1番目のネットワークに含まれる終端スイッチとしてスイッチ20a〜20eを描画する。そして、出力部14は、各スイッチ20a〜20eと、図5中(L)に記載したノードの組とを直線でつなぐことで、1番目のネットワークに含まれる各スイッチ20a〜20eに接続されるノードの組を描画する。また、出力部14は、2番目のネットワークに含まれる終端スイッチとして、スイッチ20f〜20jを描画する。そして、出力部14は、各スイッチ20f〜20jと、図5中(M)に記載した各ノードの組とを直線でつなぐことで、2番目のネットワークに含まれる各スイッチ20f〜20jに接続されるノードの組を描画する。
また、出力部14は、スイッチ20a〜20eを接続するスイッチ20、およびスイッチ20f〜20jを接続するスイッチ20kを描画する。そして、出力部14は、描画した接続表のデータを出力装置2へ出力し、画面に接続表を表示、若しくは接続表の印刷を実行させる。この結果、設計支援装置10は、利用者に対し、各ノード間の通信遅延が少ないネットワークを構築する接続情報を出力することができる。
次に、図7〜9を用いて、設計支援装置10が実行する処理の他の例について説明する。なお、以下の説明では、各種パラメータ「m=17」「n=4」「d=4」の際に、設計支援装置10が実行する処理の流れについて説明する。まず、図7を用いて、設計支援装置10が終端スイッチに接続されるノードの組を特定する処理の例について説明する。
図7は、実施例1に係る設計支援装置が特定するノードの組を説明する図である。なお、図7に示す例では、ノードを直線の円で示し、仮想的なノードを点線の円で示した。また、図7に示す例では、各ノードおよび仮想的なノードに付与される番号を円の中に記載した。例えば、設計支援装置10は、各種パラメータ「m=17」「n=4」「d=4」の入力を受け付ける。かかる場合、設計支援装置10は、1つのネットワークに含まれる終端スイッチの数「s」として、「m/d=4.25」よりも大きい整数であって、「4.25」よりも少ない「1」以外の整数「4」、「3」、「2」により割り切れない整数「5」を算出する。
ここで、「d=4」の際、「s=5」個の終端スイッチには、合計で20個のノードを接続できる。このため、設計支援装置10は、17個のノードと、3個の仮想的なノードに、行列形式の番号を付与する。そして、設計支援装置10は、図7中(O)に示すように、0番目のネットワークが含む終端スイッチに接続されるノードの組として、行番号が同一の番号が付与されたノードを特定する。
例えば、設計支援装置10は、0番目の終端スイッチに接続されるノードの組として、番号(1,1)〜(1,4)が付与されたノードを特定し、1番目の終端スイッチに接続されるノードの組として、番号(2,1)〜(2,4)が付与されたノードを特定する。また、設計支援装置10は、2番目の終端スイッチに接続されるノードの組として、番号(3,1)〜(3,4)が付与されたノードを特定し、3番目の終端スイッチに接続されるノードの組として、番号(4,1)〜(4,4)が付与されたノードを特定する。また、設計支援装置10は、4番目の終端スイッチに接続されるノードとして、番号(5,1)〜(5,4)が付与されたノードを特定する。
また、設計支援装置10は、図7中(P)に示すように、1番目のネットワークが含む終端スイッチに接続されるノードの組として、行番号と列番号とが1つずつ異なる番号が付与されたノードを特定する。例えば、設計支援装置10は、図7中(Q)に示すように、0番目の終端スイッチに接続されるノードの組として、番号(1,1)(2,2)(3,3)(4,4)が付与されたノードを特定する。
また、設計支援装置10は、1番目の終端スイッチに接続されるノードの組として、番号(2,1)(3,2)(4,3)(5,4)が付与されたノードを特定する。また、設計支援装置10は、2番目の終端スイッチに接続されるノードの組として、番号(3,1)(4,2)(1,4)(5,3)が付与されたノードを特定する。また、設計支援装置10は3番目の終端スイッチに接続されるノードの組として、番号(4,1)(5,2)(1,3)(2,4)が付与されたノードを特定する。また、設計支援装置10は、4番目の終端スイッチに接続されるノードの組として、番号(5,1)(1,2)(2,3)(3,4)が付与されたノードを特定する。
また、設計支援装置10は、図7中(R)に示すように、2番目のネットワークが含む終端スイッチに接続されるノードの組として、列番号が1つ異なる度に、行番号が2つ異なる番号が付与されたノードを特定する。例えば、設計支援装置10は、図7中(S)に示すように、0番目の終端スイッチに接続されるノードの組として、太線の六角形で示す番号(1,1)(3,2)(5,3)(2,4)が付与されたノードを特定する。
また、設計支援装置10は、1番目の終端スイッチに接続されるノードの組として、細点線の六角形で示す番号(2,1)(4,2)(1,3)(3,4)が付与されたノードを特定する。また、設計支援装置10は、2番目の終端スイッチに接続されるノードの組として、太点線の六角形で示す番号(3,1)(5,2)(2,3)(4,4)が付与されたノードを特定する。また、設計支援装置10は、3番目の終端スイッチに接続されるノードの組として、2点破線の六角形で示す番号(4,1)(1,2)(3,3)(5,4)が付与されたノードを特定する。また、設計支援装置10は、4番目の終端スイッチに接続されるノードの組として、1点破線の六角形で示す番号(5,1)(2,2)(4,3)(1,4)が付与されたノードを特定する。
また、設計支援装置10は、図7中(T)に示すように、3番目のネットワークが含む終端スイッチに接続されるノードの組として、列番号が1つ異なる度に、行番号が3つ異なる番号が付与されたノードを特定する。例えば、設計支援装置10は、図7中(U)に示すように、0番目の終端スイッチに接続されるノードの組として、太線の六角形で示す番号(1,1)(4,2)(2,3)(5,4)が付与されたノードを特定する。
また、設計支援装置10は、1番目の終端スイッチに接続されるノードの組として、細点線の六角形で示す番号(2,1)(5,2)(3,3)(1,4)が付与されたノードを特定する。また、設計支援装置10は、2番目の終端スイッチに接続されるノードの組として、太点線の六角形で示す番号(3,1)(1,2)(4,3)(2,4)が付与されたノードを特定する。また、設計支援装置10は、3番目の終端スイッチに接続されるノードの組として、2点破線の六角形で示す番号(4,1)(2,2)(5,3)(3,4)が付与されたノードを特定する。また、設計支援装置10は、4番目の終端スイッチに接続されるノードの組として、1点破線の六角形で示す番号(5,1)(3,2)(1,3)(4,4)が付与されたノードを特定する。
その後、設計支援装置10は、図8および図9に示す接続表を生成し、生成した接続表を出力する。図8は、パラメータを一般化した場合に、実施例1に係る設計支援装置が出力する接続表の一例を説明する第1の図である。また、図9は、パラメータを一般化した場合に、実施例1に係る設計支援装置が出力する接続表の一例を説明する第2の図である。
なお、図8には、設計支援装置10が特定したノードの組のうち、0番目のネットワークと1番目のネットワークとに含まれる終端スイッチに接続されるノードの組を示す接続表を記載した。また、図9には、設計支援装置10が特定したノードの組のうち、2番目のネットワークと3番目のネットワークとに含まれる終端スイッチに接続されるノードの組を示す接続表を記載した。また、図8、図9に示す例では、各終端スイッチ同士を接続するスイッチについては、記載を省略した。
例えば、設計支援装置10は、図8中(V)に示すように、図7中(O)に示すノードの組と、0番目のネットワークに含まれる終端スイッチであるスイッチ20、20a〜20dとの接続を記載する。なお、スイッチ20、20a〜20dは、それぞれ0番目〜4番目の終端スイッチに対応する。
例えば、設計支援装置10は、スイッチ20にノード(1,1)〜(1,4)が接続され、スイッチ20aにノード(2,1)〜(2,4)が接続され、スイッチ20bにノード(3,1)〜(3,4)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20cにノード(4,1)〜(4,4)が接続され、スイッチ20dにノード(5,1)が接続される旨を示す接続表を作成する。なお、設計支援装置10は、番号(5,2)〜(5,4)が付与された仮想的なノードについては、接続表に記載しない。
また、設計支援装置10は、図8中(W)に示すように、図7中(P)に示すノードの組と、1番目のネットワークに含まれる終端スイッチであるスイッチ20e〜20iとの接続を記載する。なお、スイッチ20e〜20iは、順に、0番目、4番目、3番目、2番目、1番目の終端スイッチに対応する。
例えば、設計支援装置10は、スイッチ20eにノード(1,1)(2,2)(3,3)(4,4)が接続され、スイッチ20fにノード(1,2)(2,3)(3,4)(5,1)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20gにノード(1,3)(2,4)(4,1)が接続され、スイッチ20hにノード(1,4)(3,1)(4,2)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20iにノード(2,1)(3,2)(4,3)が接続される旨を示す接続表を作成する。
また、設計支援装置10は、図9中(X)に示すように、図7中(R)に示すノードの組と、2番目のネットワークに含まれる終端スイッチであるスイッチ20j〜20nとの接続を記載する。なお、スイッチ20j〜20nは、順に、0番目、3番目、1番目、4番目、2番目の終端スイッチに対応する。
例えば、設計支援装置10は、スイッチ20jにノード(1,1)(2,4)(3,2)が接続され、スイッチ20kにノード(1,2)(3,3)(4,1)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20lにノード(1,3)(2,1)(3,4)(4,2)が接続され、スイッチ20mにノード(1,4)(2,2)(4,3)(5,1)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20nにノード(2,3)(3,1)(4,4)が接続される旨を示す接続表を作成する。
また、設計支援装置10は、図9中(Y)に示すように、図7中(T)に示すノードの組と、3番目のネットワークに含まれる終端スイッチであるスイッチ20o〜20sとの接続を記載する。なお、スイッチ20o〜20sは、順に、0番目、3番目、1番目、4番目、2番目の終端スイッチに対応する。
例えば、設計支援装置10は、スイッチ20oにノード(1,1)(2,3)(4,2)が接続され、スイッチ20pにノード(2,2)(3,4)(4,1)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20qにノード(1,4)(2,1)(3,3)が接続され、スイッチ20rにノード(1,3)(3,2)(4,4)(5,1)が接続される旨を示す接続表を作成する。また、設計支援装置10は、スイッチ20sにノード(1,2)(3,1)(2,4)(4,3)が接続される旨を示す接続表を作成する。
この結果、設計支援装置10は、17個のノードを4つのネットワークに接続する際に、各ネットワークごとに、終端スイッチのいずれかに17個のノードを接続し、かつ、各終端スイッチに接続するノードの組として、それぞれ異なるノードの組を特定できる。この結果、設計支援装置10は、1ホップで通信可能なノードの組を最大化できるので、ノード間通信の遅延を軽減できる。
次に、図10を用いて、設計支援装置10が実行する処理の流れについて説明する。図10は、実施例1に係る設計支援装置が実行する処理の流れを説明するフローチャートである。まず、設計支援装置10は、入力装置1を介して、ネットワーク数「n」、終端スイッチに接続するノード数「d」、全てのノード数「m」の入力を受け付ける(ステップS101)。
次に、設計支援装置10は、「d」および「m」の値を用いて、スイッチ数「s」を算出する算出処理を実行し(ステップS102)、ネットワークを識別する変数pの値を「0」に初期化する(ステップS103)。また、設計支援装置10は、pの値が「n」よりも小さいか否かを判定し(ステップS104)、pの値が「n」よりも小さいと判定した場合は(ステップS104:Yes)、終端スイッチを識別する変数kの値を「1」に設定する(ステップS105)。そして、設計支援装置10は、変数kの値が「s」以下となるか否かを判定する(ステップS106)。
また、設計支援装置10は、変数kの値が「s」以下となる場合は(ステップS106:Yes)、p番目のネットワークにおけるk番目のスイッチに接続されるノードの組を特定する特定処理を実行する(ステップS107)。次に、設計支援装置10は、変数kの値に「1」を加算し(ステップS108)、ステップS106を実行する。
また、設計支援装置10は、変数kの値が「s」よりも大きい場合は(ステップS106:No)、変数pの値に「1」を加算し(ステップS109)、ステップS104を実行する。また、設計支援装置10は、変数pの値がn以上となる場合は(ステップS104:No)、ステップS107に示す特定処理によって特定されたノードの組を示す接続表を作成する(ステップS110)。そして、設計支援装置10は、作成した接続表を出力して(ステップS111)、処理を終了する。
次に、図11を用いて、設計支援装置10が実行する算出処理の流れについて説明する。図11は、実施例1に係る設計支援装置がスイッチ数を算出する処理の流れを説明するフローチャートである。なお、図11に示す処理は、図10中ステップS102に記載した算出処理である。
まず、設計支援装置10は、「m」の値に「1」を加算した値を「d」の値で除算した値を「s」とし(ステップS201)、変数iの値を「2」に初期化する(ステップS202)。また、設計支援装置10は、変数iの値が「n」の値よりも小さいか否かを判定する(ステップS203)。そして、設計支援装置10は、変数iの値が「n」よりも小さい場合は(ステップS203:Yes)、「s」の値を変数iの値で除算した剰余が「0」であるか否かを判定する(ステップS204)。
また、設計支援装置10は、「s」の値を「i」の値で除算した剰余が「0」である場合は(ステップS204:Yes)、「s」の値に「1」を加算し(ステップS205)、変数iの値に「1」を加算して(ステップS206)、ステップS203を実行する。ここで、設計支援装置10は、「s」の値を変数iの値で除算した剰余が「0」ではない場合は(ステップS204:No)、ステップS205の実行をスキップし、ステップS206を実行する。また、設計支援装置10は、変数iの値が「n」の値以上となる場合は(ステップS203:No)、「s」の値を出力して算出処理を終了する。
次に、図12を用いて、設計支援装置10が実行する特定処理の流れについて説明する。図12は、実施例1に係る設計支援装置がノードの組を特定する処理の流れを説明するフローチャートである。なお、図12に示す処理は、図10中ステップS107に記載した特定処理である。
まず、設計支援装置10は、ノードに付与された番号の行番号を示す変数xの値を「1」に初期化し(ステップS301)、変数xの値が「s」の値よりも小さいか否かを判定する(ステップS302)。また、設計支援装置10は、変数xの値が「s」の値よりも小さい場合は(ステップS302:Yes)、変数iの値を「1」に初期化し(ステップS303)、変数iの値が「d」の値よりも小さいか否かを判定する(ステップS304)。
そして、設計支援装置10は、変数iの値が「d」の値よりも小さい場合は(ステップS304:Yes)、変数iの値と「p」の値との積を「s」の値で除算した剰余に1を加算した値を、ノードに付与された番号の列番号を示す変数「y」とする(ステップS305)。また、設計支援装置10は、番号(x、y)が付与されたノードをノードの組に追加し(ステップS306)、変数iの値に「1」を加算して(ステップS307)、ステップS304を実行する。
また、設計支援装置10は、変数iの値が「d」の値以上となる場合は(ステップS304:No)、変数xの値に「1」を加算して(ステップS308)、ステップS302を実行する。また、設計支援装置10は、変数xの値が「s」の値以上となる場合は(ステップS302:No)、特定処理を終了する。
[設計支援装置10の効果]
上述したように、設計支援装置10は、ネットワークに接続するノードの数「m」、各ノードに接続されるネットワークの数「n」、および、終端スイッチに接続されるノードの数「d」の入力を受け付ける。また、設計支援装置10は、ノードの数「m」、ネットワークの数「n」、終端スイッチに接続されるノードの数「d」の値から、各ネットワーク内でノードと接続される終端スイッチの数「s」を算出する。
そして、設計支援装置10は、各ネットワークが有する「s」個の終端スイッチのいずれかに各ノードが接続され、かつ、全てのネットワークが有する終端スイッチに接続されるノードの組がそれぞれ異なるように、各終端スイッチに接続されるノードを特定する。その後、設計支援装置10は、特定されたノードを終端スイッチに接続する旨の接続情報を出力する。
このため、設計支援装置10は、1ホップで通信可能なノードの組の数を増やすことができるので、各ノードが複数のネットワークに接続されている際に、ノード間通信の遅延を削減することができる。
また、設計支援装置10は、受け付けたネットワークの数が「2」である場合は、ノードの数「m」を、1つの終端スイッチに接続されるノードの数「d」で除算した値よりも大きい整数のうち、値が最小の整数をスイッチの数「s」として算出する。また、設計支援装置10は、1つの終端スイッチに接続されるノードの数「d」を各行の要素数とし、終端スイッチの数「s」を各列の要素数とする行列形式の番号を「m」個のノードに付与する。
そして、設計支援装置10は、第1のネットワークに含まれる各終端スイッチに接続されるノードの組として、同一の行番号が付与されたノードの組を特定する。また、設計支援装置10は、第2のネットワークに含まれる各終端スイッチに接続されるノードの組として、行番号と列番号とが1ずつ異なる番号が付与されたノードの組を特定する。すなわち、設計支援装置10は、行番号が1つ異なる度に列番号が1つ異なる番号が付与されたノードの組を特定する。このため、設計支援装置10は、各ノードに2つのネットワークを接続する際、1ホップで通信可能なノードの組の数を増やすことができる。この結果、設計支援装置10は、ノード間通信の遅延を削減することができる。
また、設計支援装置10は、ノードの数「m」を、1つの終端スイッチに接続されるノードの数「d」で除算した値よりも大きい整数のうち、受け付けたネットワークの数以下の整数で割り切れない最小の整数をスイッチの数「s」として算出する。また、設計支援装置10は、受け付けた数のネットワークに0から始まる整数番号を付与する。そして、設計支援装置10は、ネットワークごとに、以下の処理を実行する。すなわち、設計支援装置10は、ネットワークに含まれる各終端スイッチに接続されるノードの組として、列番号が1つ異なる度に、行番号がネットワークに付与された整数番号と同じ値だけ異なる番号が付与されたノードの組を特定する。
このため、設計支援装置10は、複数のノードに任意の数のネットワークが接続される際に、各ネットワークが有する終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を特定することができる。この結果、設計支援装置10は、任意の数のネットワークが各ノードに接続される際に、1ホップで通信可能なノードの組の数を増やすせるので、ノード間通信の遅延を削減することができる。
上述した設計支援装置10は、入力された各種パラメータの値から、各終端スイッチに接続されるノードに付与された番号を算出することで、各ノードを全てのネットワークに接続し、かつ、各終端スイッチに異なるノードの組を接続した。しかしながら、実施例はこれに限定されるものではない。以下では、実施例2として、相互直行ラテン方格を利用して、各終端スイッチに接続されるノードの組を特定する設計支援装置10aについて説明する。なお、以下の説明では、実施例1と同様の機能を発揮する装置や機能構成については、同一の符号を付し、説明を省略する。
図13は、実施例2に係る設計支援装置の機能構成を説明する図である。図13に示すように、設計支援装置10aは、受付部11、算出部12a、特定部13a、出力部14、記憶部15を有する。また、記憶部15は、相互直行ラテン方格データ16を記憶する。
相互直行ラテン方格データ16は、複数の相互直行ラテン方格を含むデータである。以下、相互直行ラテン方格データ16に含まれる相互直行ラテン方格について説明する。例えば、ラテン方格とは、任意の整数qについて、q行q列の正方行列であり、1〜qまでの整数値を要素に含む行列である。また、ラテン方格は、任意の行および任意の列に同じ整数値を含まない行列である。このため、ラテン方格の任意の行および任意の列には、1〜qまでの整数値が1つずつ存在する。
また、相互直行ラテン方格とは、ラテン方格のうち、各列に含まれる要素の順序がすべて異なるラテン方格である。例えば、ある列の要素が(1,2,3,4)となるラテン方格は、要素が(2,3,4,1)、(3,4,1,2)、または(4,1,2,3)となる列を含む場合は、相互直行ラテン方格ではない。また、q行q列の相互直行ラテン方格は、qの値が素数もしくは素数のべき乗である場合、q−1個存在し、例えば統計処理ソフトウェアRのcrossdesパッケージを用いて、算出が可能である。
設計支援装置10aは、ネットワークごとに異なる相互直行ラテン方格を選択する。そして、設計支援装置10aは、選択した相互直行ラテン方格に含まれる各要素とノードとを対応付けし、値が同一となる要素と対応付けられたノードの組を1つの終端スイッチに接続されるノードの組として特定する。この結果、上述した相互直行ラテン方格の性質により、設計支援装置10aは、各終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を特定する。この結果、設計支援装置10aは、相互直行ラテン方格に含まれる各要素を参照するだけで、各終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を特定できる。
以下、図14を用いて、相互直行ラテン方格データ16に含まれる相互直行ラテン方格の一例について説明する。図14は、実施例2に係る設計支援装置が記憶する相互直行ラテン方格データの一例を説明する図である。なお、図14には、4行4列の正方行列である相互直行ラテン方格の一例について記載した。
例えば、図14中(a)に示すように、第1の相互直行ラテン方格は、1行目に要素(1,2,3,4)を有し、2行目に要素(2,1,4,3)を有し、3行目に要素(3,4,1,2)を有し、4行目に要素(4,3,2,1)を有する。また、図14中(b)に示すように、第2の相互直行ラテン方格は、1行目に要素(1,2,3,4)を有し、2行目に要素(3,4,1,2)を有し、3行目に要素(4,3,2,1)を有し、4行目に要素(2,1,4,3)を有する。また、図13中(c)に示すように、第3の相互直行ラテン方格は、1行目に要素(1,2,3,4)を有し、2行目に要素(4,3,2,1)を有し、3行目に要素(2,1,4,3)を有し、4行目に要素(3,4,1,2)を有する。
なお、図14に示す相互直行ラテン方格は、あくまで一例であり、相互直行ラテン方格データ16には、他にも、3行3列、5行5列、7行7列、8行8列、9行9列、11行11列の相互直行ラテン方格が含まれるものとする。
図13に戻り、説明を続ける。算出部12aは、受付部11から各種パラメータの値「m」「n」「d」を用いて、各ネットワークの終端スイッチの数を算出する。詳細には、算出部12aは、「m」を「d」の値で除算した値よりも大きい整数であって、1を除く「n」以下の整数で割り切れない値、および、素数のべき乗となる値のうち最小の整数を算出する。例えば、算出部12aは、「m=12」、「d=3」、「n=4」である場合は、「m/d=4」を算出する。
ここで、算出部12aが算出した「4」以上の整数のうち、「2」、「3」、「4」で割り切れない最小の整数は「5」である。一方、算出部12aが算出した「4」以上の整数のうち、素数のべき乗となる最小の整数は「4」である。このため、算出部12aは、「4」以上の整数のうち、「2」、「3」、「4」で割り切れない最小の整数「5」、および、素数のべき乗となる最小の整数「4」のうち、値がより小さい整数「4」をスイッチの数「s」として算出する。
その後、算出部12aは、各パラメータの値「m」「n」「d」と、算出したスイッチの数「s」とを特定部13aに出力する。また、算出部12aは、算出したスイッチの数「s」が素数のべき乗である場合は、スイッチの数が素数のべき乗である旨を特定部13aに通知し、「s」が素数のべき乗ではない場合は、スイッチの数が素数のべき乗である旨を特定部13aに通知する。
特定部13aは、各終端スイッチに接続されるノードの組を特定する。具体的には、特定部13aは、各パラメータの値「m」「n」「d」と、算出したスイッチの数「s」とを算出部12aから受信する。また、特定部13aは、スイッチの数「s」が素数のべき乗であるか否かの通知を算出部12aから受信する。
そして、特定部13aは、スイッチの数「s」が素数のべき乗ではない旨の通知を受信した場合は、図1に示す特定部13と同様の処理を実行することで、各終端スイッチに接続されるノードの組を特定し、特定したノードの組を出力部14に出力する。
一方、特定部13aは、スイッチの数「s」が素数のべき乗である旨の通知を受信した場合は、以下の処理を実行する。まず、特定部13aは、終端スイッチに接続されるノードの数「d」を各行の要素数とし、終端スイッチの数「s」を各列の要素数とする行列形式の番号を、「m」個のノードに対して付与する。また、特定部13aは、各ネットワークが有する「s」個の終端スイッチに、1からSまでの整数番号を付与する。また、特定部13aは、s行s列の相互直行ラテン方格を、相互直行ラテン方格データ16から「n」個抽出し、取得した各相互直行ラテン方格と「n」個のネットワークとを対応付ける。
そして、特定部13aは、ネットワークごとに、以下の処理を実行する。例えば、特定部13aは、k番目の終端スイッチに対して接続されるノードの組を特定する場合は、対応付けられた相互直行ラテン方格に含まれる各要素のうち、値が「k」となる要素を抽出する。そして、特定部13aは、抽出した要素と同一の行番号および列番号が付与されたノードを、終端スイッチに接続されるノードの組として特定する。
以下、特定部13aが実行する処理の一例について説明する。なお、以下の説明では、「m=12」、「n=4」、「d=3」の際に特定部13aが実行する処理の一例について説明する。例えば、図15は、実施例2に係る設計支援装置が相互直行ラテン方格を利用して設計するネットワークの一例を説明する図である。例えば、特定部13aは、ノードa〜lに対して、行列形式の番号を付与することで、図15中(d)に示す相互直行ラテン方格の各要素とノードa〜lとを対応付ける。
そして、特定部13aは、1番目の終端スイッチに接続するノードの組として、図15中(d)に示す相互直行ラテン方格の各要素のうち、値が「1」の要素と対応付けられたノードa、ノードe、ノードiを特定する。また、特定部13aは、2番目の終端スイッチに接続するノードの組として、値が「2」の要素と対応付けられたノードb、ノードd、ノードlを特定する。
また、特定部13aは、3番目の終端スイッチに接続するノードの組として、値が「3」の要素と対応付けられたノードc、ノードg、ノードkを特定する。また、特定部13aは、4番目の終端スイッチに接続するノードの組として、値が「4」の要素と対応付けられたノードf、ノードh、ノードjを特定する。この結果、特定部13aは、図15中(e)に示すように、1番目から4番目までの終端スイッチに接続するノードの組を特定する。
また、特定部13aは、ネットワークごとに異なる相互直行ラテン方格を用いて、上述した処理を実行し、各終端スイッチに接続されるノードの組を特定する。詳細には、特定部13aは、0番目のネットワークに含まれる各終端スイッチに接続されるノードの組として、特定部13と同様に、行番号が同一となるノードの組を特定する。続いて、特定部13aは、図14中(a)に示した相互直行ラテン方格を用いて、1番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。
また、特定部13aは、図14中(b)に示した相互直行ラテン方格を用いて、2番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。また、特定部13aは、図14中(c)に示した相互直行ラテン方格を用いて、3番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。この結果、例えば、特定部13aは、各終端スイッチに接続されるノードの組として、図16に示すノードの組を特定する。
図16は、実施例2に係る設計支援装置が設計するネットワークの一例を説明するための図である。なお、図16には、0番目のネットワークについて特定したノードの組を図16中(f)に示し、1番目のネットワークについて図14中(a)に示す相互直行ラテン方格を用いて特定したノードの組を図16中(g)に示した。また、図16には、2番目のネットワークについて図14中(b)に示す相互直行ラテン方格を用いて特定したノードの組を図16中(h)に示した。また、図16には、3番目のネットワークについて図14中(c)に示す相互直行ラテン方格を用いて特定したノードの組を図16中(i)に示した。
例えば、特定部13aは、図16中(f)に示すように、0番目のネットワークに含まれる各終端スイッチに接続されるノードの組として、ノードa〜c、ノードd〜f、ノードg〜i、ノードj〜lの組を特定する。また、特定部13aは、図16中(g)に示すように、1番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。詳細には、特定部13aは、直線の六角形で示すように、ノードa、ノードe、ノードiの組を特定し、点線の六角形で示すように、ノードd、ノードb、ノードlの組を特定する。また、特定部13aは、1点破線の六角形で示すように、ノードg、ノードk、ノードcの組を特定し、2点破線で示すように、ノードj、ノードh、ノードfの組を特定する。
また、特定部13aは、図16中(h)に示すように、2番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。詳細には、特定部13aは、直線の六角形で示すように、ノードa、ノードk、ノードfの組を特定し、点線の六角形で示すように、ノードj、ノードb、ノードiの組を特定する。また、特定部13aは、1点破線の六角形で示すように、ノードd、ノードh、ノードcの組を特定し、2点破線で示すように、ノードg、ノードe、ノードlの組を特定する。
また、特定部13aは、図16中(i)に示すように、3番目のネットワークに含まれる各終端スイッチに接続されるノードの組を特定する。詳細には、特定部13aは、直線の六角形で示すように、ノードa、ノードh、ノードlの組を特定し、点線の六角形で示すように、ノードg、ノードb、ノードfの組を特定する。また、特定部13aは、1点破線の六角形で示すように、ノードj、ノードe、ノードcの組を特定し、2点破線で示すように、ノードd、ノードk、ノードiの組を特定する。
この結果、設計支援装置10aは、図17、および、図18に示す接続表を出力する。図17は、実施例2に係る設計支援装置が出力する接続表の一例を説明する第1の図である。また、図18は、実施例2に係る設計支援装置が出力する接続表の一例を説明する第2の図である。例えば、設計支援装置10aは、図17中(j)に示すように、0番目のネットワークに含まれる終端スイッチであるスイッチ20、20a〜20cに、ノードa〜c、ノードd〜f、ノードg〜i、ノードj〜lの組を接続する旨を示す接続表を出力する。
また、設計支援装置10aは、図17中(k)に示すように、1番目のネットワークに含まれる終端スイッチであるスイッチ20d〜20gに、特定したノードの組を接続する旨を示す接続表を出力する。詳細には、設計支援装置10aは、スイッチ20dにノードa、ノードe、ノードiを接続し、スイッチ20eに、ノードb、ノードd、ノードlの組を接続し、スイッチ20fに、ノードc、ノードg、ノードkを接続する旨を示す接続表を出力する。また、設計支援装置10aは、スイッチ20gに、ノードf、ノードj、ノードhを接続する旨を示す接続表を出力する。
また、設計支援装置10aは、図18中(l)に示すように、2番目のネットワークに含まれる終端スイッチであるスイッチ20h〜20kに、特定したノードの組を接続する旨を示す接続表を出力する。詳細には、設計支援装置10aは、スイッチ20hにノードa、ノードf、ノードkを接続し、スイッチ20iに、ノードb、ノードi、ノードjの組を接続し、スイッチ20jに、ノードc、ノードd、ノードhを接続する旨を示す接続表を出力する。また、設計支援装置10aは、スイッチ20kに、ノードe、ノードg、ノードlを接続する旨を示す接続表を出力する。
また、設計支援装置10aは、図18中(m)に示すように、3番目のネットワークに含まれる終端スイッチであるスイッチ20l〜20oに、特定したノードの組を接続する旨を示す接続表を出力する。詳細には、設計支援装置10aは、スイッチ20lにノードa、ノードh、ノードlを接続し、スイッチ20mに、ノードb、ノードf、ノードgの組を接続し、スイッチ20nに、ノードc、ノードe、ノードjを接続する旨を示す接続表を出力する。また、設計支援装置10aは、スイッチ20oに、ノードd、ノードi、ノードkを接続する旨を示す接続表を出力する。
このように、設計支援装置10aは、記憶部15が記憶する相互直行ラテン方格を用いて、各終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を特定することができる。この結果、設計支援装置10aは、各終端スイッチに接続されるノードの組を容易に特定することができる。
なお、設計支援装置10aは、ノードの組を特定する度に、相互直行ラテン方格を算出してもよい。例えば、設計支援装置10aは、スイッチの数「s」を算出し、算出したスイッチの数「s」が素数のべき乗となる場合は、行方向および列方向の要素数が「s」となる相互直行ラテン方格を算出し、算出した相互直行ラテン方格を用いて、各終端スイッチに接続されるノードの組を特定してもよい。
次に、図19〜図21を用いて、設計支援装置10aが実行する処理の流れについて説明する。なお、設計支援装置10aは、図10に示した処理と同様の処理を実行することで、終端スイッチに接続されるノードの組を特定するものとする。また、以下の説明では、設計支援装置10aが実行する処理のうち、図10中ステップS102に示す算出処理と、ステップS107に示す特定処理の流れについて説明する。
まず、図19を用いて、設計支援装置10aが実行する算出処理の流れについて説明する。図19は、実施例2に係る設計支援装置がスイッチ数を算出する処理の流れを説明するフローチャートである。なお、図19に示す各処理のうち、図11に示す各処理と同様の処理については、同一の符号を付し、説明を省略する。
例えば、設計支援装置10aは、図19に示すように、図11に示すステップS204の処理とステップS205の処理との間に、ステップS401に示す処理を実行する。詳細には、設計支援装置10aは、「s」の値を「i」の値で除算した剰余が「0」である場合は(ステップS204:Yes)、「s」の値が素数のべき乗であるか否かを判定する(ステップS401)。そして、設計支援装置10aは、「s」の値が素数のべき乗ではない場合は(ステップS401:No)、ステップS205を実行する。一方、設計支援装置10aは、「s」の値が素数のべき乗である場合は(ステップS401:Yes)、ステップS205の実行をスキップし、ステップS206を実行する。
次に、図20を用いて、設計支援装置10aが実行する特定処理の流れについて説明する。図20は、実施例2に係る設計支援装置がノードの組を特定する処理の流れを説明するフローチャートである。なお、図20に示す各処理のうち、図12に示す各処理と同様の処理については、同一の符号を付し、説明を省略する。また、図21には、p番目のネットワークに含まれる終端スイッチのうち、k番目の終端スイッチに接続されるノードを特定する処理について記載した。
例えば、設計支援装置10aは、図12に示すステップS301の処理の前にステップS501に示す処理を実行し、ステップS305の処理に変えて、ステップS502に示す処理を実行する。詳細には、設計支援装置10aは、p番目のネットワークに含まれる終端スイッチに接続されるノードの組を特定する場合は、相互直行ラテン方格データ16に格納された相互直行ラテン方格のうち、p番目の相互直行ラテン方格を読出す(ステップS501)。なお、pの値は0以外の値であるものとする。
そして、設計支援装置10aは、ステップS304を実行し、変数「i」の値が「d」の値よりも小さい場合は(ステップS304:Yes)、ステップS501にて読出した相互直行ラテン方格を用いて変数「y」の値を特定する(ステップS502)。そして、設計支援装置10aは、番号(x、y)が付与されたノードをノードの組に追加する(ステップS306)。
次に、図21を用いて、設計支援装置10aが、相互直行ラテン方格を用いて変数「y」の値を特定する処理の流れについて説明する。図21は、実施例2に係る設計支援装置がyの値を特定する処理の流れを説明するフローチャートである。なお、図21には、図20中ステップS502に記載した「y」の値を特定する処理を詳細に記載した。
例えば、設計支援装置10aは、変数「i」の値を「1」に初期化する(ステップS601)。そして、設計支援装置10aは、図20中ステップS501にて読み出した相互直行ラテン方格のうち、「x」行「i」列の要素が終端スイッチの番号「k」の値と一致するか否かを判定する(ステップS602)。その後、設計支援装置10aは、「x」行「i」列の要素が終端スイッチの番号「k」の値と一致しない場合は(ステップS602:No)、「i」の値に「1」を加算し(ステップS603)、ステップS602を実行する。また、設計支援装置10aは、「x」行「i」列の要素が終端スイッチの番号「k」の値と一致する場合は(ステップS602:Yes)、「y」の値を「i」とし(ステップS604)、処理を終了する。
[設計支援装置10aの効果]
上述したように、設計支援装置10aは、「m/d」以上となる整数であって、1を除く「n」以下の整数および素数のべき乗となる整数のうち、最小の整数を各ネットワークに含まれる終端スイッチの数「s」として算出する。また、設計支援装置10aは、終端スイッチの数「s」の値が素数のべき乗である場合は、各ネットワークにそれぞれ異なる相互直行ラテン方格を対応付ける。
そして、設計支援装置10aは、ネットワークごとに、以下の処理を実行する。すなわち、設計支援装置10aは、対応付けられた相互直行ラテン方格の各要素のうち、値が同一となる要素を抽出し、抽出した要素と同一の行番号および列番号が付与されたノードの組を、同一の終端スイッチに接続されるノードの組として特定する。
このように、設計支援装置10aは、相互直行ラテン方格を用いて、各終端スイッチに接続されるノードの組を特定する。このため、設計支援装置10aは、全てのネットワークにおいて、各終端スイッチに接続されるノードの組として、それぞれ異なるノードの組を容易に特定することができる。
また、設計支援装置10aは、行数が素数のべき乗となる相互直行ラテン方格を記憶する。そして、設計支援装置10aは、終端スイッチの数「s」の値が素数のべき乗である場合は、記憶された相互直行ラテン方格のうち、行数が終端スイッチの数「s」と同じ相互直行ラテン方格を用いて、各終端スイッチに接続されるノードの組を特定する。このため、設計支援装置10aは、それぞれ異なるノードの組を容易に特定することができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。
(1)設計支援装置10、10aについて
上述した設計支援装置10、10aが発揮する機能は、任意に組み合わせて実行することができる。例えば、設計支援装置10aは、利用者の指示に応じて、相互直行ラテン方格を用いたノードの特定、または、設計支援装置10と同様の処理を用いたノードの特定を行っても良い。また、設計支援装置10は、ネットワークの数が「2」である場合にも、ネットワークの数が「3」である場合と同様の処理を実行することで、終端スイッチごとに異なるノードの組を特定することができる。
(2)ネットワークの設計について
上述した設計支援装置10、10aは、終端スイッチと各ノードとの接続関係を示す接続表を作成し、作成した接続表を出力した。しかしながら、実施例はこれに限定されるものではない。例えば、設計支援装置10、10aは、各終端スイッチ同士を接続するネットワークの設計を合わせて実行し、設計したネットワークを示す接続表を合わせて出力してもよい。また、設計支援装置10、10aは、各終端スイッチ同士を接続するネットワークの設計を行わず、任意の接続を行うよう、利用者に指示してもよい。
(3)パラメータについて
上述した設計支援装置10、10aは、終端スイッチに接続するノードの数「d」をパラメータとして受け付けた。しかしながら、実施例は、これに限定されるものではない。例えば、設計支援装置10、10aは、終端スイッチが有するポートの数「e」を受け付ける。かかる場合、設計支援装置10、10aは、受け付けた「e」の値から所定の数、すなわち、終端スイッチと終端スイッチ同士を接続するスイッチとを接続するためのポートの数を減算した値を「d」として算出してもよい。
(4)相互直行ラテン方格について
上述した設計支援装置10aは、記憶部15が記憶する相互直行ラテン方格データ16を用いて、各終端スイッチに接続するノードの組を特定した。しかしながら、実施例はこれに限定されるものではない。例えば、設計支援装置10aは、ノードの組の特定を実行する度に、終端スイッチの数「s」を行方向または列方向の要素数とする相互直行ラテン方格を算出し、算出した相互直行ラテン方格を用いて、ノードの組を特定してもよい。
また、設計支援装置10aは、以下の処理を実行しても良い。例えば、設計支援装置10aは、終端スイッチの数「s」を算出した際に、s行s列の相互直行ラテン方格が相互直行ラテン方格データ16に含まれているか否かを判定する。そして、設計支援装置10aは、s行s列の相互直行ラテン方格が相互直行ラテン方格データ16に含まれている場合は、相互直行ラテン方格データ16に含まれているs行s列の相互直行ラテン方格を用いて、ノードの組を特定する。
一方、設計支援装置10aは、s行s列の相互直行ラテン方格が相互直行ラテン方格データ16に含まれていない場合は、s行s列の相互直行ラテン方格を算出し、算出した相互直行ラテン方格を用いて、ノードの組を特定する。また、設計支援装置10aは、算出した相互直行ラテン方格を、相互直行ラテン方格データ16に追加する。かかる処理を実行することで、設計支援装置10aは、相互直行ラテン方格データ16に、算出した終端スイッチの数「s」を行方向または列方向の要素数とする相互直行ラテン方格が含まれない場合にも、ノードの組の特定を行うことができる。
(5)プログラム
上記の実施例で説明した設計支援装置10、10aが発揮する機能は、予め用意された設計支援プログラムをコンピュータが実行することで実現してもよい。そこで、以下では、図22を用いて、上記の設計支援装置10と同様の機能を有する設計支援プログラムを実行するコンピュータの一例について説明する。図22は、設計支援プログラムを実行するコンピュータの一例を説明する図である。
図22に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140がバス160で接続される。また、図22に例示されたコンピュータ100は、各種パラメータを受け付けるためのI/O(Input Output)150が、バス160で、CPU140等と接続される。
ここで、HDD120には、設計支援プログラム121があらかじめ保持される。CPU140が設計支援プログラム121をHDD120から読み出して実行することによって、図22に示す例では、設計支援プログラム121は、設計支援プロセス141として機能するようになる。なお、設計支援プロセス141は、図1に示した受付部11、算出部12、特定部13、出力部14と同様の機能を発揮する。なお、設計支援プロセス141は、図13に示す受付部11、算出部12a、特定部13a、出力部14と同様の機能を発揮するようにしてもよい。
なお、本実施例で説明した設計支援プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
なお、コンピュータ100は、CPU140ではなく、例えばMPUやFPGA等の演算装置を用いて設計支援プログラム121を実行してもよい。また、上記の設計支援プログラム121については、例えば、RAM130や、ROM110記憶させてもよいし、他の方法でCPU140に実行させてもよい。例えば、フレキシブルディスク、いわゆるFD(Flexible Disk)、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。
そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介して他のコンピュータまたはサーバ装置などに記憶させた各プログラムを取得して実行するようにしてもよい。
1 入力装置
2 出力装置
10、10a 設計支援装置
11 受付部
12、12a 算出部
13、13a 特定部
14 出力部
15 記憶部
16 相互直行ラテン方格データ
20、20a〜20o スイッチ

Claims (6)

  1. ネットワークに接続するノードの数と、各ノードに接続されるネットワークの数と、ノード間の通信を中継する中継装置のうち前記ノードと接続される中継装置である終端装置に接続されるノードの数との入力を受け付ける受付部と、
    前記受付部が受け付けた前記ノードの数と、前記ネットワークの数と、前記終端装置に接続されるノードの数とに基づいて、各ネットワークが有する終端装置の数を算出する算出部と、
    前記ネットワークごとに、前記算出部が算出した数の終端装置のいずれかに各ノードが接続され、かつ、全てのネットワークに含まれる各終端装置にそれぞれ異なる組合せのノードが接続されるように、各終端装置に接続されるノードを特定する特定部と、
    前記特定部が特定したノードを前記終端装置に接続する旨の接続情報を出力する出力部と
    を有し、
    前記算出部は、
    前記受付部が受け付けたネットワークの数が2であり、前記受付部が受け付けたノードの数を前記受付部が受け付けた前記終端装置に接続されるノードの数で除算した数が2である場合、その除算した数を前記終端装置の数として算出し、
    前記受付部が受け付けたネットワークの数が2であり、前記受付部が受け付けたノードの数を前記受付部が受け付けた前記終端装置に接続されるノードの数で除算した数が2よりも大きい整数である場合、その除算した数よりも大きい整数のうち、値が最小の整数を前記終端装置の数として算出し、
    前記特定部は、前記受付部が受け付けた前記終端装置に接続されるノードの数を各行の要素数とし、前記算出部が算出した前記終端装置の数を各列の要素数とする行列形式の番号を前記受付部が受け付けた数のノードに付与し、第1のネットワークに含まれる各終端装置に接続されるノードの組として、同一の行番号が付与されたノードの組を特定し、第2のネットワークに含まれる各終端装置に接続されるノードの組として、行番号と列番号とが1ずつ異なる番号が付与されたノードの組を特定する
    ことを特徴とする設計支援装置。
  2. 前記算出部は、前記受付部が受け付けたノードの数を前記受付部が受け付けた前記終端装置に接続されるノードの数で除算した数よりも大きい整数のうち、前記受付部が受け付けた1を除くネットワーク数以下の整数で割り切れない最小の整数を前記終端装置の数として算出し、
    前記特定部は、前記受付部が受け付けた前記終端装置に接続されるノードの数を各行の要素数とし、前記算出部が算出した前記終端装置の数を各列の要素数とする行列形式の番号を前記受付部が受け付けた数のノードに付与し、前記受付部が受け付けた数のネットワークに0から始まる整数番号を付与し、各ネットワークに含まれる各終端装置に接続されるノードの組として、列番号が1つ異なる度に、行番号が前記ネットワークに付与された整数番号と同じ値だけ異なる番号が付与されたノードの組を特定する
    ことを特徴とする請求項1に記載の設計支援装置。
  3. 前記算出部は、前記受付部が受け付けたノードの数を前記受付部が受け付けた前記終端装置に接続されるノードの数で除算した値以上の整数であって、前記受付部が受け付けた1を除くネットワーク数以下の整数で割り切れない値、および、素数のべき乗となる値のうち最小の整数を前記終端装置の数として算出し、
    前記特定部は、前記受付部が受け付けた前記終端装置に接続されるノードの数を各行の要素数とし、前記算出部が算出した前記終端装置の数を各列の要素数とする行列形式の番号を前記受付部が受け付けた数のノードに付与し、前記算出部が算出した整数が素数のべき乗となる値である場合は、前記算出部が算出した整数を行数とする個別の相互直行ラテン方格を各ネットワークに対応付け、前記ネットワークごとに、当該ネットワークと対応付けられた相互直行ラテン方格の各要素のうち、値が同一となる要素と同一の行番号および列番号が付与されたノードの組を前記終端装置に接続されるノードの組として特定することを特徴とする請求項に記載の設計支援装置。
  4. 行数が素数のべき乗となる相互直行ラテン方格を記憶する記憶部を有し、
    前記特定部は、前記記憶部が記憶する相互直行ラテン方格のうち、行数が前記算出部が算出した整数と同じ相互直行ラテン方格を用いて、前記終端装置に接続されるノードの組を特定することを特徴とする請求項に記載の設計支援装置。
  5. コンピュータに、
    ネットワークに接続するノードの数と、各ノードに接続されるネットワークの数と、ノード間の通信を中継する中継装置のうち前記ノードと接続される中継装置である終端装置に接続されるノードの数との入力を受け付け、
    前記受け付ける処理が受け付けた前記ノードの数と、前記ネットワークの数と、前記終端装置に接続されるノードの数とに基づいて、各ネットワークが有する終端装置の数を算出し、
    前記ネットワークごとに、前記算出する処理が算出した数の終端装置のうちいずれかの終端装置に各ノードが接続され、かつ、全てのネットワークに含まれる各終端装置にそれぞれ異なる組合せのノードが接続されるように、各終端装置に接続されるノードを特定し、
    前記特定する処理が特定したノードを前記終端装置に接続する旨の接続情報を出力する
    処理を実行させ
    前記算出する処理は、
    前記受け付ける処理が受け付けたネットワークの数が2であり、前記受け付ける処理が受け付けたノードの数を前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数で除算した数が2である場合、その除算した数を前記終端装置の数として算出し、
    前記受け付ける処理が受け付けたネットワークの数が2であり、前記受け付ける処理が受け付けたノードの数を前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数で除算した数が2よりも大きい整数である場合、その除算した数よりも大きい整数のうち、値が最小の整数を前記終端装置の数として算出し、
    前記特定する処理は、前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数を各行の要素数とし、前記算出部が算出した前記終端装置の数を各列の要素数とする行列形式の番号を前記受け付ける処理が受け付けた数のノードに付与し、第1のネットワークに含まれる各終端装置に接続されるノードの組として、同一の行番号が付与されたノードの組を特定し、第2のネットワークに含まれる各終端装置に接続されるノードの組として、行番号と列番号とが1ずつ異なる番号が付与されたノードの組を特定する
    ことを特徴とする設計支援プログラム。
  6. コンピュータが、
    ネットワークに接続するノードの数と、各ノードに接続されるネットワークの数と、ノード間の通信を中継する中継装置のうち前記ノードと接続される中継装置である終端装置に接続されるノードの数との入力を受け付け、
    前記受け付ける処理が受け付けた前記ノードの数と、前記ネットワークの数と、前記終端装置に接続されるノードの数とに基づいて、各ネットワークが有する終端装置の数を算出し、
    前記ネットワークごとに、前記算出する処理が算出した数の終端装置のうちいずれかの終端装置に各ノードが接続され、かつ、全てのネットワークに含まれる各終端装置にそれぞれ異なる組合せのノードが接続されるように、各終端装置に接続されるノードを特定し、
    前記特定する処理が特定したノードを前記終端装置に接続する旨の接続情報を出力する
    処理を実行し、
    前記算出する処理は、
    前記受け付ける処理が受け付けたネットワークの数が2であり、前記受け付ける処理が受け付けたノードの数を前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数で除算した数が2である場合、その除算した数を前記終端装置の数として算出し、
    前記受け付ける処理が受け付けたネットワークの数が2であり、前記受け付ける処理が受け付けたノードの数を前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数で除算した数が2よりも大きい整数である場合、その除算した数よりも大きい整数のうち、値が最小の整数を前記終端装置の数として算出し、
    前記特定する処理は、前記受け付ける処理が受け付けた前記終端装置に接続されるノードの数を各行の要素数とし、前記算出部が算出した前記終端装置の数を各列の要素数とする行列形式の番号を前記受け付ける処理が受け付けた数のノードに付与し、第1のネットワークに含まれる各終端装置に接続されるノードの組として、同一の行番号が付与されたノードの組を特定し、第2のネットワークに含まれる各終端装置に接続されるノードの組として、行番号と列番号とが1ずつ異なる番号が付与されたノードの組を特定する
    ことを特徴とする設計支援方法。
JP2013202651A 2013-09-27 2013-09-27 設計支援装置、設計支援プログラムおよび設計支援方法 Active JP6160406B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013202651A JP6160406B2 (ja) 2013-09-27 2013-09-27 設計支援装置、設計支援プログラムおよび設計支援方法
US14/462,707 US9621430B2 (en) 2013-09-27 2014-08-19 Support apparatus, design support method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013202651A JP6160406B2 (ja) 2013-09-27 2013-09-27 設計支援装置、設計支援プログラムおよび設計支援方法

Publications (2)

Publication Number Publication Date
JP2015070439A JP2015070439A (ja) 2015-04-13
JP6160406B2 true JP6160406B2 (ja) 2017-07-12

Family

ID=52740074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013202651A Active JP6160406B2 (ja) 2013-09-27 2013-09-27 設計支援装置、設計支援プログラムおよび設計支援方法

Country Status (2)

Country Link
US (1) US9621430B2 (ja)
JP (1) JP6160406B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6597105B2 (ja) * 2015-09-17 2019-10-30 富士通株式会社 並列情報処理装置、通信手順決定方法及び通信手順決定プログラム
JP6623939B2 (ja) * 2016-06-06 2019-12-25 富士通株式会社 情報処理装置、通信手順決定方法、および通信プログラム
JP6911619B2 (ja) * 2017-08-02 2021-07-28 富士通株式会社 情報処理システム及び情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3512866B2 (ja) * 1994-09-19 2004-03-31 富士通株式会社 ネットワーク内ノードのグループ化およびデータ転送方法
JP3386111B2 (ja) 1999-03-01 2003-03-17 日本電気株式会社 ファブリックおよびファブリック相互接続システム
US7046633B2 (en) * 2000-09-21 2006-05-16 Avici Systems, Inc. Router implemented with a gamma graph interconnection network
US7468982B2 (en) * 2002-07-02 2008-12-23 Hewlett-Packard Development Company, L.P. Method and apparatus for cluster interconnection using multi-port nodes and multiple routing fabrics
JP2005175591A (ja) * 2003-12-08 2005-06-30 Hitachi Cable Ltd スイッチングハブ
US7610361B2 (en) * 2004-01-05 2009-10-27 At&T Intellectual Property I, L.P. System and method for ethernet network design
US7623785B2 (en) * 2006-12-28 2009-11-24 Verizon Services Corp. DWDM optical network planning method
US8213793B2 (en) * 2007-09-28 2012-07-03 Verizon Patent And Licensing Inc. Wavelength assignment optimization
JP5150567B2 (ja) * 2009-06-26 2013-02-20 アラクサラネットワークス株式会社 パケット中継装置
JP5589808B2 (ja) * 2010-02-24 2014-09-17 富士通株式会社 通信装置および経路割当方法
JP2012156626A (ja) * 2011-01-24 2012-08-16 Nec Corp 管理装置、通信システム、通信方法、および通信プログラム

Also Published As

Publication number Publication date
JP2015070439A (ja) 2015-04-13
US20150092599A1 (en) 2015-04-02
US9621430B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
Vaknin et al. Spreading of localized attacks in spatial multiplex networks
JP6160406B2 (ja) 設計支援装置、設計支援プログラムおよび設計支援方法
JPWO2015040788A1 (ja) 情報処理装置、及び、システム設計支援方法
JPWO2013153567A1 (ja) 可視化装置、可視化システムおよび可視化方法
Moudi et al. x-Folded TM: an efficient topology for interconnection networks
Fujiwara et al. Swap-and-randomize: A method for building low-latency HPC interconnects
TW200828887A (en) System and method for networking computer clusters
Liu et al. Fault-tolerant embedding of complete binary trees in locally twisted cubes
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体
US8838662B2 (en) Connection information generating apparatus and controlling method
JP5949606B2 (ja) テスト設計支援装置及びプログラム
CN105224501B (zh) 改进圆环面网络及其确定数据包传输路径的方法和装置
EP4296891A1 (en) Processing method and apparatus for image data, storage medium, and electronic device
JP2012203606A (ja) 情報提供装置、情報提供方法、情報提供システム及びプログラム
Carić et al. The number of nonequivalent monotone Boolean functions of 8 variables
Li et al. Sperner partition systems
US10051761B2 (en) Systems and methods for two layer three dimensional torus switched connectivity datacenter topology
Avin et al. OBST: A self-adjusting peer-to-peer overlay based on multiple BSTs
Hussain et al. Edge disjoint Hamiltonian cycles in Eisenstein–Jacobi networks
CN106611127A (zh) 云计算中一种信息存取的加密方法
US10320606B2 (en) Server connection method and system of a network
Kao et al. A parallel construction of vertex-disjoint spanning trees with optimal heights in star networks
JP2019003345A (ja) 情報処理システム及び情報処理方法
CN110971475A (zh) 端口转发测试方法、测试系统构建方法及辅测设备
JP6874564B2 (ja) 情報処理システム、管理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6160406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150