(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025102193
(43)【公開日】2025-07-08
(54)【発明の名称】網設計装置、網設計方法および網設計プログラム
(51)【国際特許分類】
G06F 15/173 20060101AFI20250701BHJP
H04M 3/00 20240101ALI20250701BHJP
G06F 30/18 20200101ALI20250701BHJP
G06F 111/04 20200101ALN20250701BHJP
G06F 111/08 20200101ALN20250701BHJP
【FI】
G06F15/173 685M
H04M3/00 D
G06F30/18
G06F111:04
G06F111:08
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023219495
(22)【出願日】2023-12-26
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】井上 武
(72)【発明者】
【氏名】大木 英司
(72)【発明者】
【氏名】高 晴登
【テーマコード(参考)】
5B045
5B146
5K201
【Fターム(参考)】
5B045BB15
5B146AA14
5B146DC05
5K201AA01
5K201EA05
5K201FB10
(57)【要約】
【課題】Clos網において、中間スイッチを3つ以上のグループにわけて、網構成の柔軟性を高め、より大きな網容量を得る。
【解決手段】複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用する。網設計装置1の算出部12は、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、ターミナル数n、入出スイッチ数k、各グループの中間スイッチ数m
1、m
2、…、m
S、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数v
1、v
2、…、v
Sを算出する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計する網設計装置において、
スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得する取得部と、
前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出する算出部と、を備え、
前記算出部は、
前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、
接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、
ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する
網設計装置。
【請求項2】
前記算出部は、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数、および各ステップにおける、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数の上限値の各値の組み合わせについて総当たりで、前記ターミナル数、および入出スイッチ数については二分探索で、網容量を最大とする値を探索する
請求項1に記載の網設計装置。
【請求項3】
複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計する網設計方法において、
コンピュータが、
スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得し、
前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出し、
算出する際、
前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、
接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、
ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する
網設計方法。
【請求項4】
複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計するコンピュータを、
スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得する取得部と、
前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出する算出部と、として機能させ、
前記算出部は、
前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、
接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、
ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する
網設計プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、網設計装置、網設計方法および網設計プログラムに関する。
【背景技術】
【0002】
従来のClos網から構成されるMPP網よりも収容効率が良く、閉塞のない網構造のMPP網がある(特許文献1)。特許文献1は、外側のMPPの両面に、入出力用ポートmおよび中間のMPPとの接続用ポートnを設置した構成とするMPP網を開示する。特許文献1は、要求される接続用ポートの数rとMPPのサイズNが入力されるパラメータ入力部と、入力されたrとNを用い、所定条件を満たしつつ、MPPの数(k+l個)を最少とする外側MPPの数k、中間MPPの数l、m、及びnを全探索する。
【0003】
Clos網において、パスの閉塞率を理論的に保証し、網構成の柔軟性を高め、より大きな網容量を得る技術がある(非特許文献1)。非特許文献1は、中間スイッチを2つのグループにわけて、それぞれのグループの中間スイッチを順次使う技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】H. Taka, T. Inoue, and E. Oki, “Twisted and folded clos-network design model with two-step blocking probability guarantee,” IEEE Networking Letters, pp. 1-1, 2023.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1は、中間スイッチを2つのグループに分ける場合を開示するが、3以上のグループに分けた場合に、さらに、自由度が高まり、より大きな網容量を得られることが期待される。
【0007】
本開示は、上記事情に鑑みてなされたものであり、本開示の目的は、Clos網において、中間スイッチを3つ以上のグループにわけて、網構成の柔軟性を高め、より大きな網容量を得ることが可能な技術を提供することである。
【課題を解決するための手段】
【0008】
本開示の一態様の網設計装置は、複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計する。網設計装置は、スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得する取得部と、前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出する算出部と、を備える。前記算出部は、前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、
ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する。
【0009】
本開示の一態様の網設計方法は、複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計する。網設計装置は、コンピュータが、スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得し、前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出する。算出する際、前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、コンピュータが、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する。
【0010】
本開示の一態様の網設計プログラムは、複数の中間スイッチと、1つの前記中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計するコンピュータを、スイッチのポート数、前記ポート数の入力ポートおよび前記ポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数、前記複数の入出スイッチに接続されるターミナルのターミナル利用率、前記複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率、および中間スイッチのグループ数(≧3)を取得する取得部と、前記ポート数と前記合計数と前記ターミナル利用率とを満たす網において、前記網が非閉塞となるときのターミナル数の最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が前記許容閉塞率を超えず、ターミナル数と入出スイッチ数とを乗算した網容量が最大となるように、ターミナル数、入出スイッチ数、中間スイッチ数、1つの前記入出スイッチと1つの前記中間スイッチとの間のリンク数を算出する算出部と、として機能させる。前記算出部は、前記複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用し、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、ターミナル数、入出スイッチ数、各グループの中間スイッチ数、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数を算出する。
【発明の効果】
【0011】
本開示によれば、Clos網において、中間スイッチを3つ以上のグループにわけて、網構成の柔軟性を高め、より大きな網容量を得ることが可能な技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図3】
図3は、一般的なClos網を示す図である。
【
図4】
図4は、従来のClos網の構築例を示す図である。
【
図5】
図5は、本開示に係るClos網の構築例において、入出スイッチS
1のリンクを示す図である。
【
図6】
図6は、本開示に係るClos網の構築例において、入出スイッチS
2のリンクを示す図である。
【
図7】
図7は、本開示に係る網設計方法の処理の一例を説明する図である。
【
図8】
図8は、本開示に係る網設計方法の処理の一例を説明するフローチャート(前半)である。
【
図9】
図9は、本開示に係る網設計方法の処理の一例を説明するフローチャート(後半)である。
【
図10】
図10は、本開示に係る網設計装置の機能ブロック図である。
【
図11】
図11は、本開示に係る網設計装置の効果を説明する図である。
【
図13】
図13は、網設計装置に用いられるコンピュータのハードウエア構成を説明する図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本開示の実施の形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
【0014】
図1を参照して、パスの設定例を説明する。データセンタでは、データセンタ内に設置された複数のラックが網に収容され、指定されたラックペアを通信可能に接続することで、通信回線(パス)が設定される。ラックは、スイッチやサーバ等を収容する。
【0015】
通信ビルでは、複数の伝送装置が網に収容され、他ビルや他事業者等の伝送装置に接続される。現在の伝送装置は、IPやEthernet等のパケット交換技術が用いられているが、将来的には伝送容量や電力効率を改善するために光通信等の回線交換技術が用いられる。
【0016】
図2を参照して、パスの閉鎖状況を説明する。回線交換では、接続を要求されたペア間に未使用のパスが存在しない場合には、パスを設定できない。この場合を閉塞(ブロック)と呼ぶ。第1のスイッチS1の第2のポートP12と、第3のスイッチS3の第4のポートP34との間で、パスを設定したい。しかし、先に設定された2つのパス(破線)により、空きのパスが存在しないため、所望のパスを設定できない。
【0017】
本開示は、許容閉塞率が与えられたときに、その許容閉塞率を満たしながら網容量(収容可能なスイッチや伝送装置の数)を最大にする網設計技術を説明する。特に、データセンタで多く用いられるClos構造のClos網を対象とする。
【0018】
図3を参照して、一般的なClos網を説明する。Clos網は、入力層と中間層と出力層との3層で構成される。但し、入力層と出力層を1つにまとめて入出層(Input-output layer)とし、中間層(Intermediate layer)で折り返すように構成される。
【0019】
(従来の方法)
図4を参照して、非特許文献1に係るClos網の構築例を説明する。入出層の入出スイッチには、ラックや伝送装置等のターミナル(Terminal)が接続される。ターミナルtは送信ターミナルであり、ターミナルrは受信ターミナルである。
【0020】
図4に示すClos網は、a台のスイッチを備える。各スイッチは、入力と出力のそれぞれの面にN個ずつのポートを備えたN×Nスイッチである。入出層の入出スイッチ数を、kとする。各入出スイッチに、入力と出力としてそれぞれn台のターミナルが接続される。中間スイッチ数を、mとする。入出スイッチから順番に、S
1、…、S
k、S
k+1…S
k+mの各番号を与える。
【0021】
このようなClos網において、なるべく大きな容量の網を設計する解を求める。網容量は、網全体のターミナル数nkとする。ここで、入力と出力を別々に数えられる。ただし、閉塞率は、指定された値ε以下でなければならない。各ターミナルの利用率pは、既知とする。なお、ターミナルの利用率pは、過去のサービス実績などから推定される。
【0022】
中間スイッチは、入出スイッチとのリンク数v1、v2によって2つのグループに分割する。第1のグループ(First-step group)は、m1台の中間スイッチを有する。第1のグループにおいて、各中間スイッチの各入出スイッチとのリンクは、v1本ずつである。第2のグループ(Second-step group)は、m2台の中間スイッチを有する。第2のグループにおいて、各中間スイッチの各入出スイッチとのリンクは、v2本ずつである。非特許文献1は、その2つのグループを以下のように使い分ける。
【0023】
第1のステップは、接続要求の入力側または出力側のいずれかの入出スイッチに接続中のターミナル数nがターミナル数n1
snb個以下のとき、第1のグループに含まれるm1台の中間スイッチのいずれかを利用して接続を行う。ターミナル数n1
snbは、解の一部として得られる。第1のステップで接続できる確率は許容閉塞率ε以下となる。第1のステップで接続できない確率は所定の閉塞率ε1(ε≦ε1≦1)以下となる。SNBは、strictly nonblockingの略で、閉塞が起こらないことを意味する。
【0024】
第2のステップは、接続要求の入力側又は出力側のいずれかの入出スイッチに接続中のターミナル数nがターミナル数n1
snb個を超えて「n1
snb+n2
snb」個以下のとき、第2のグループに含まれるm2台の中間スイッチのいずれかを更に利用して接続を行う。第2のステップでも接続できない確率は許容閉塞率ε以下となる。
【0025】
上記のいずれでもないとき、接続要求を棄却する。棄却する確率は許容閉塞率ε以下となる。
【0026】
非特許文献1のILP(Integer Linear Programming)は、式(1a)~式(1m)となる。
【0027】
【0028】
下記は、問題として与えられる。
・スイッチのポート数N
・入出スイッチおよび中間スイッチの合計数a
・ターミナル利用率p
・許容閉塞率ε
【0029】
下記は、最適化問題の決定変数である。
・ターミナル数n
・入出スイッチ数k
・第1のステップの中間スイッチ数m1
・第2のステップの中間スイッチ数m2
・第1のステップの1つの中間スイッチから1つの入出スイッチへのリンク数v1
・第2のステップの1つの中間スイッチから1つの入出スイッチへのリンク数v2
・第1のステップにおいて接続要求された入出スイッチに接続中のターミナル数の上限値n1
snb
・第2のステップにおいて接続要求された入出スイッチに接続中のターミナル数の上限値n2
snb
【0030】
ε1は、解法のみに必要な媒介変数である。式(1j)-(1m)は、変数の定義域である。
【0031】
式(1a)は、目的関数であって、網容量を最大化する。式(1b)は、入出スイッチのポート数に関する条件である。式(1c)-式(1d)は、中間スイッチのポート数に関する条件である。
【0032】
式(1e)-(1f)は、第1のステップに関する制約である。式(1f)より使用ポート数がn1
snb以下であれば、閉塞は起こらないことが保障される。式(1e)により使用ポートがn1
snbより多い場合の閉塞率の和が、ε1を超えないことが保障される。
【0033】
式(1g)-(1h)は、第2のステップに関する制約である。式(1g)により閉塞率の和がεを超えないことが保障される。なお、m2=0の場合、第2のステップが省略されるので、式(1e)に、m2=0に対応する閉塞率上限としてεも記載される。
【0034】
式(1)を解くアルゴリズムの概要を説明する。整数の決定変数であるn、n1
snb、k、v1、v2、m1、n2
snb、m2、について、全探索を行う。具体的には、これらの整数の決定変数については、すべての取りうる値の組み合わせが、それぞれ調べられる。実数変数ε1の値は運用に不要であるため、実行可能なε1の存在だけ確認される。
【0035】
(本開示の方法)
図5―
図6に示すように、中間スイッチは、S個のグループに分割される。第1のグループの中間スイッチの数はm
1台、第2のグループの中間スイッチの数はm
2台、…、第Sのグループの中間スイッチの数はm
S台である。入出スイッチから第1のグループの中間スイッチへのリンク数はv
1本、第2のグループの中間スイッチへのリンク数はv
2本、…、第Sのグループの中間スイッチへのリンク数はv
S本である。
【0036】
接続要求の処理方法は、従来の方法と比べて、下記のように拡張される。
【0037】
あるステップi∈[1,S]において、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、ni-1
snbを超えてni
snb以下の時、グループiのmi台の中間スイッチのいずれかを利用して接続を行う。なお、便宜上n0=0とする。
【0038】
本開示におけるILPは、式(2a)~式(2m)となる。
【0039】
【0040】
下記は、問題として与えられる。
・スイッチのポート数N
・入出スイッチおよび中間スイッチの合計数a
・ターミナル利用率p
・許容閉塞率ε
【0041】
中間スイッチのグループ数Sは、本開示に係る網設計装置1を利用する者によって、決定される。例えば、S=1、2、3…と大きくして、網を設計すれば良い。但し、Sが大きいほど計算時間は長くなる。
【0042】
下記は、最適化問題の決定変数である。
・ターミナル数n
・入出スイッチ数k
・各ステップの中間スイッチ数m1、m2、…、mS
・各ステップの1つの中間スイッチから1つの入出スイッチへのリンク数v1、v2、…、vS
・各ステップにおいて接続要求された入出スイッチに接続中のターミナル数の上限値n1
snb、n2
snb、…、nS
snb
【0043】
ε1、ε2、…εS-1は、解法のみに必要な媒介変数である。式(2h)-(2m)は、変数の定義域である。
【0044】
式(2a)は、目的関数である。目的関数は、網容量を最大化する。式(2b)は、入出スイッチのポート数に関する条件である。式(2b)は、中間スイッチiへのリンク数を合計する。式(2c)は、中間スイッチのポート数に関する条件である。式(2c)において、グループi毎に条件が定義される。式(2e)は、スイッチ数に関する条件である。式(2e)は、グループi毎の中間スイッチの数を合計する。
【0045】
式(2d)-(2g)は、閉塞を制御するための制約である。これらの制約は、概ね、非特許文献1に記載の方法と同じである。式(2d)は、ステップiにおいて使用ポート数がni
snb以下であれば、閉塞が起こらないことを保障する。第s<Sステップについて、式(2f)により、使用ポートがns
snbより多い場合の閉塞率の和が、εsを超えないことが保障される。ここで、ステップ数を表す添え字がsで表現される点に注意する。第Sステップに関しては、式(2g)により閉塞率がεを超えないことを保障する。
【0046】
次に、本開示における計算方法を説明する。本開示において、決定変数の数が、従来の方法よりも多いので、下記の工夫を行う。
・入出スイッチ数kとターミナル数nは、二分探索で効率的に決定され、他の整数変数(ni
snb, mi,vi)は、従来の方法と同様に全探索される。
・実数変数εiは、制約条件の単調性を仮定して端点のみで実行可能性(制約を満たすかどうか)をチェックする。
【0047】
図7を参照して、本開示に係る算出方法の処理の一例を示す。
【0048】
3行目で、既存方法(特許文献1)を用いて、非閉塞網(閉塞率がゼロの網)を取得する。本開示では、ε以下の閉塞を許容するので、非閉塞網より網容量が小さくなることはない。そこで、本開示は、非閉塞網を探索の起点とする。4行目および5行目で、非閉塞網の容量と構造を代入する。
【0049】
6-14行目において、mi、vi、およびni
snbのそれぞれの値の各組み合わせについて、ループを定義する。
【0050】
15-17行目は、kの範囲、具体的には下限値KDと上限値KUを決める。kの範囲は、この後、範囲を半分ずつに縮小することで、二分探索が行われる。kの下限は、式(2b)から導かれる。kの上限は、式(2c)および(2e)から導かれる。
【0051】
次に19-38行目において、nに対して、二分探索が行われる。二分探索におけるnの範囲の下限(left)は、19行目に示すように、その時点での網容量SWをkで割った値である。nの範囲の上限(right)は、20行目に示すように、nの最大値、すなわちNである。22-23行目において、nの最大値とkの積が前に求めた網容量より小さい場合、容量を改善できないので二分探索を終了する。
【0052】
25行目において、nの中間値で制約条件をチェックする。すべての制約条件が満たされる場合、かつ、網容量が前に求めた網容量より大きい場合、25-28行目において、網容量と網構造を更新する。さらに、nの下限を、nの中間値に更新し、29行目において、二分探索を続ける。30-31行目において、式(2k)以外の制約条件が、nの中間値で満足される場合、nの下限値をnの中間値に更新し、具体的には、nの範囲を上半分に変更して、網容量の最大値を更新することなく、二分探索が継続される。
【0053】
ここで、nの範囲の上半分を最短作する理由は、nの中間値より大きいnに対して、実現可能な解が存在しうるからである。
【0054】
32-33行目において、nの中間値で、式(2k)以外の制約条件が満たされない場合、nの上限をnの中間値より1小さい値に更新して、nの二分探索を終了する。
【0055】
34-38行目において、次の探索のためのkの値を決定する。34-36行目において、nの探索中に最大容量が更新され、kの下限が探索中のkの値より大きくなった場合、kの下限を更新し、更新後のkの値でループを開始する。37-38行目において、そうでない場合、kの値を1増やす。
【0056】
39行目において、最適な網容量と網構造を返して、処理を終了する。
【0057】
図5-
図6の処理において、式(2f)―(2g)の制約条件のチェック、具体的には、式(2f)―(2g)の全てを満たすε
iが存在するかどうかの判定は、容易ではない。そこで本開示は、式(3a)および(3b)の漸化式に基づいて、ε
iの最小値ε
i
minを更新する。最小値ε
i
minを用いて、式(2f)-(2g)が検査される。
【0058】
【0059】
なお、εiの最小値εi
minで、式(2f)-(2g)が満たされる場合、制約条件を満たすεiが存在する。しかしながら、満たされなかったといって、制約条件を満たすεiが存在しないとは限らない。
【0060】
従って、式(3a)-(3b)の判定方法は、最適解を見逃す可能性、より具体的には、より網容量の大きい構造を見つけられない可能性がある。但し、この判定方法で得られた網構造は、必ず制約条件を満たすので、安全な利用が保証される。この判定方法は、最適性を犠牲にするものの、現実的な時間内に探索を完了するための工夫と考えられる。なおこの工夫をしても、所定の環境において、S=4の場合で約1日、S=5で約二週間の計算時間を要する。なお、網計算は、頻繁に行われるものではなく、一般的に数週間を要するので、これらの時間は許容範囲である。
【0061】
(処理方法)
図8を参照して、本開示に係る網設計装置1による網設計方法の一例を説明する。
【0062】
ステップS101において、網設計装置1は、非閉塞網と、非閉塞網の容量と構造を特定する。次に、mi、vi、およびni
snbのそれぞれの値の各組み合わせについて、ステップS102ないしステップS156の処理を行う。
【0063】
ステップS102において網設計装置1は、kの上限値および下限値から二分探索を行う。ステップS103において網設計装置1は、nの上限値および下限値から二分探索を行う。
【0064】
ステップS104において網設計装置1は、nおよびkから特定される網容量が、前回算出した値よりも大きいか否かを判定する。大きくない場合、mi、vi、およびni
snbの他の組み合わせについて、ステップS102ないしステップS156の処理を行う。
【0065】
大きい場合、ステップS105においてnの中間値で制約条件をチェックする。ステップS106において各制約条件が満たされないと判定された場合、ステップS152に進む。ステップS106において各制約条件を満たすと判定された場合、ステップS107において、現時点のkとnで網容量と構造を更新する。ステップS151において網設計装置1は、nの下限値を中間値に変更して二分探索を行う。
【0066】
ステップS152において網設計装置1は、式(2k)以外の制約条件が、nの中間値で満たされるか否かを判定する。満たされる場合、ステップS153において網設計装置1は、nの下限値を中間値に更新して二分探索する。満たされない場合、ステップS154において網設計装置1は、nの上限値を、nの中間値よりも1小さい値に更新して二分探索する。ステップS155において、nの探索が終了したか否か判定する。nの探索が終了しない場合、ステップS152に戻る。
【0067】
nの探索が終了した場合、ステップS156において網設計装置1は、kの値を更新する。具体的には、網設計装置1は、nの探索中に最大容量が更新され、kの下限が探索中のkの値より大きくなった場合、kの下限を更新し、更新後のkの値でループを開始する。そうでない場合、網設計装置1は、kの値を1増やす。
【0068】
mi、vi、およびni
snbのそれぞれの値の各組み合わせについて、ステップS102ないしステップS156の処理が終了すると、ステップS157に進む。ステップS157において網設計装置1は、最適な網容量と網構造を決定し、出力する。
【0069】
(網設計装置)
図10を参照して、本開示に係る網設計装置1を説明する。網設計装置1は、複数の中間スイッチと、1つの中間スイッチを介して接続される複数の入出スイッチとを備え、所定の網容量を満たす網を設計する。ここで所定の網容量は、スイッチのポート数Nなどの仕様、中間スイッチと入出スイッチの合計数a、およびターミナルの利用率pが与えられた際に、複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率εを満たす条件下で、最大となる。
【0070】
網設計装置1は、取得部11、算出部12及び記憶部13を備える。
【0071】
記憶部13は、網設計装置1で処理するデータを記憶する。
【0072】
取得部11は、スイッチのポート数N、ポート数の入力ポートおよびポート数の出力ポートを備える複数の入出スイッチおよび複数の中間スイッチの合計数a、複数の入出スイッチに接続されるターミナルのターミナル利用率p、複数の入出スイッチに接続される2つのターミナル間で通信できないことを許容する許容閉塞率ε、および中間スイッチのグループ数S(≧3)を取得する。中間スイッチを分割するグループ数Sは、設計する網の構成を定義するものではないが、網設計を計算する上で必要になる。
【0073】
算出部12は、取得部11が取得したポート数Nと合計数aとターミナル利用率pとを満たす網において、この網が非閉塞となるときのターミナル数nの最大値からターミナル数を1ずつ増加した場合の各閉塞発生確率の合計確率が許容閉塞率εを超えず、ターミナル数nと入出スイッチ数kとを乗算した網容量が最大となるように、ターミナル数n、入出スイッチ数k、中間スイッチ数m、1つの入出スイッチと1つの中間スイッチとの間のリンク数vを算出する。
【0074】
このとき網において、複数の中間スイッチをS個のグループに分け、S個の各ステップにおいて、そのステップに割り当てられた中間スイッチを利用する。ここで1つの入出スイッチから中間スイッチとの間のリンク数は、そのスイッチが属するグループ毎に異なる。このとき算出部12は、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数が、1つ前のステップの上限値を超えて、当該ステップの上限値以下の場合、当該ステップに対応する中間スイッチのいずれかを利用して接続するように、ターミナル数n、入出スイッチ数k、各グループの中間スイッチ数m1、m2、…、mS、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数v1、v2、…、vSを算出する。
【0075】
より具体的には、算出部12は、式(2a)-(2m)により、ターミナル数n、入出スイッチ数k、各グループの中間スイッチ数m1、m2、…、mS、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数v1、v2、…、vSを算出する。
【0076】
算出部12は、各グループの中間スイッチ数m1、m2、…、mS、1つの入出スイッチと各グループの1つの中間スイッチとの間のリンク数v1、v2、…、vS、および各ステップにおける、接続要求された入出スイッチの入力側あるいは出力側で接続中のターミナル数の上限値ni
snbの各値の組み合わせについて総当たりで、ターミナル数n、および入出スイッチ数kについては二分探索で、網容量を最大とする値を探索する。
【0077】
図11を参照して、本開示に係る網設計装置1の効果を説明する。
図11は、網を構成するスイッチ数aに対する網容量(swiching capacity)を示す。SNBは、非閉塞網における網容量を示す。S=2は、非特許文献1に記載の方法で算出された網容量を示す。S>3は、本開示に係る方法で算出された網容量を示す。本開示に係る方法は、aが大きいときを中心に、非特許文献1よりも大きな網を構成できることを示す。
【0078】
本開示に係る網設計装置1は、閉塞率を理論的に保証する網設計において、スイッチ間リンク数をS通りとする。網設計装置1は、網構成の柔軟性を高め、より大きな網容量を得ることができる。また多くの決定変数を含む定式を解くために、可能な範囲で二分探索を適用したり、式(3)のような簡略化を適用したりすることで、網設計装置1は、現実的な時間に解を得ることができる。
【0079】
【0080】
まず、本実施形態で対象とする網の使い方を補足する。対象の網では、ターミナルと入力ポート又は出力ポートは、最初から最後まで繋がれた状態である。例えば、ターミナルt1
1がスイッチS1に繋がれているが、この配線は最初から最後まで変化しない。他のターミナルについても同じである。全てのターミナルt、rは、いずれかの入出スイッチに最初から最後まで繋がれている。
【0081】
網内で変化するのは、スイッチ内の接続構成とターミナル間信号の有無である。通信は送信ターミナルtと受信ターミナルrとの間で行われる。1つのターミナルが複数のターミナルと同時に通信することはできないが、時間帯ごとに異なるターミナルと通信しても構わない。各ターミナルが通信しようとしている時間の割合を「ターミナル使用率」という。
【0082】
例えば、2つのターミナルt1
1、r1
kが通信しようとしている状況を考える。空きリンク(信号が通ってないリンク)のみを用いて、2つのターミナルt1
1、r1
k間にパスを用意する。
【0083】
図12の例では、入出スイッチS
1と中間スイッチS
k+1との間に空きリンクがあり、中間スイッチS
k+1と入出スイッチS
kとの間にも空きリンクがあったとする。そこで、これらのリンクを繋ぐように中間スイッチS
k+1の内部構成を変更する。2つの入出スイッチS
1、S
kの内部構成も同様に、2つのターミナルt
1
1、r
1
kのそれぞれとリンクを繋ぐように変更する。その結果、ターミナルt
1
1からターミナルr
1
kまで空きリンクのみからなるパスができる。ターミナルt
1
1が信号を送信するとターミナルr
1
kに届くようになる。
【0084】
このように通信が始まると、パス上のリンクは利用中となり、空きリンクではなくなるので、他の通信は使用できない。その後、通信が終われば空きリンクに戻る。入出スイッチとターミナルとの間のリンクは特定のターミナルに括りつけられているが、入出スイッチと中間スイッチとの間のリンクは任意のターミナルによって使用される可能性がある。空いているスイッチ間のリンクが減少すると、通信しようとしても空きリンクからなるパスが存在しないため、通信できないことがある。これを「閉塞」という。本開示において、式(2d)は、決して閉塞が起こらない条件を表している。通信先となるターミナルの選び方やその順序をどのように変えても、決して閉塞が起こらないことが数学的に証明されている。
【0085】
このような本開示に係る網設計装置1は、Clos網において、中間スイッチを3つ以上のグループにわけて、網構成の柔軟性を高め、より大きな網容量を得ることができる。
【0086】
上記説明した本開示に係る網設計装置1は、例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムが用いられる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされたプログラムを実行することにより、網設計装置1の各機能が実現される。
【0087】
なお、網設計装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また網設計装置1は、コンピュータに実装される仮想マシンであっても良い。
【0088】
網設計装置1のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD(Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。コンピュータ読取り可能な記録媒体は、例えば非一時的な(non-transitory)記録媒体である。
【0089】
なお、本開示は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【0090】
1 網設計装置
11 取得部
12 算出部
13 記憶部
901 CPU
902 メモリ
903 ストレージ
904 通信装置
905 入力装置
906 出力装置