(57)【要約】      （修正有）【課題】ノード間のメッセージパケットまたはデータの伝送時間を短縮しネットワークスイッチの負担を減らすデータ交換のための複数のノードを有するネットワークトポロジーシステムが提供する。【解決手段】ノードの数は偶数の整数であるＮであるノードは、リング通信構成を形成するため順次接続される。ノードのｉ番目のノードは接続ルールにしたがって［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続される。ノードのｊ番目のノードは接続ルールにしたがって［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続される。ｉとｊは負でない整数であり、Ｎより小さい。ｍとｐは整数であり、Ｎより大きくない。ここで、ｉとｍは奇数であり、ｊとｐは偶数である。【選択図】図２
2019036936.tif 000002
【特許請求の範囲】
【請求項１】
リング通信構成を形成するため順次接続される、データ交換のためのＮ個のノードを含み、
接続ルールにしたがって、前記Ｎ個のノードのうちｉ番目のノードがさらに、前記Ｎ個のノードのうち［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続され、
前記接続ルールにしたがって、前記Ｎ個のノードのうちｊ番目のノードがさらに、前記Ｎ個のノードのうち［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続され、
Ｎは正の偶数の整数であり、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数であるネットワークトポロジーシステム。
【請求項２】
前記Ｎ個のノードにおいて、前記接続ルールにしたがって前記ｉ番目のノードはさらに［（ｉ＋ｎ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｊ番目のノードはさらに［（ｊ−ｎ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｉ番目のノードはさらに［（ｉ＋ｑ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｊ番目のノードはさらに［（ｊ＋ｑ）ｍｏｄ  Ｎ］番目のノードと接続され、ｎは正の奇数であり、ｑは正の偶数である請求項１に記載のネットワークトポロジーシステム。
【請求項３】
前記Ｎ個のノードのそれぞれがネットワークスイッチである請求項１に記載のネットワークトポロジーシステム。
【請求項４】
リング通信構成を形成するために順次接続されるデータ交換のための複数のノードを含むネットワークトポロジーシステムのためのトポロジー構築方法であって、
前記ネットワークトポロジーシステムの前記複数のノードの総数を設定し、
前記複数のノードのそれぞれのノードに接続する他のノードの数量である、前記複数のノードの各ノードの外部接続の数を設定し、
前記外部接続の数及び接続ルールにしたがって、前記複数のノードのどのノードが前記複数のノードのそれぞれのノードに接続されるかを決めることを含み、
前記接続ルールにおいては、前記複数のノードのｉ番目のノードが前記複数のノードの［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続されるとき、前記複数のノードのｊ番目のノードが前記複数のノードの［（ｊ―ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続され、
Ｎは正の偶数の整数であり、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数であるトポロジー構築方法。
【請求項５】
前記外部接続の数及び前記接続ルールにしたがって、前記複数のノードのどのノードが前記複数のノードのそれぞれのノードに接続されるかを決めることが、
前記外部接続の数と、前記接続ルールと、遺伝的アルゴリズムとにしたがって前記複数のノードのどのノードが前記複数のノードのそれぞれのノードに接続されるかを決めることを含む請求項４に記載のトポロジー構築方法。
【請求項６】
前記複数のノードの各ノードの外部接続の数を設定することが、前記複数のノードのそれぞれのノードに接続された、前記複数のノードの奇数ノードの数と前記複数のノードの偶数ノードの数をそれぞれ設定することである請求項５に記載のトポロジー構築方法。
【請求項７】
前記接続ルールにおいては、前記ｉ番目のノードがさらに前記複数のノードの［（ｉ＋ｎ）ｍｏｄ  Ｎ］番目のノードに接続されるとき、前記ｊ番目のノードはさらに前記複数のノードの［（ｊ−ｎ）ｍｏｄ  Ｎ］番目のノードに接続され、
前記接続ルールにしたがって、前記ｉ番目のノードはさらに前記複数のノードの［（ｉ＋ｑ）ｍｏｄ  Ｎ］番目のノードに接続され、前記接続ルールにしたがって、前記ｊ番目のノードはさらに前記複数のノードの［（ｊ＋ｑ）ｍｏｄ  Ｎ］番目のノードに接続され、ｎは正の奇数であり、ｑは正の偶数である請求項５に記載のトポロジー構築方法。
【請求項８】
データ交換のためのＮ個のノードを含むネットワークトポロジーシステムのためのルーティングテーブル構築方法であって、前記Ｎ個のノードはリング通信構成を形成するため順次接続され、接続ルールにしたがって前記Ｎ個のノードのｉ番目のノードはさらに［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続され、接続ルールにしたがって前記Ｎ個のノードのｊ番目のノードはさらに前記Ｎ個のノードの［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続され、Ｎは正の偶数の整数であり、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数であって、
前記Ｎ個のノードのｘ番目のノードから前記Ｎ個のノードのｙ番目のノードへの少なくとも１つの最短ルートを取得し、
前記ｘ番目のノードから前記ｙ番目のノードへの２番目に短いルートを少なくとも１つ取得し、
前記最短ルートと前記２番目に短いルートにしたがって前記Ｎ個のノードのｕ番目のノードに関する第１ルーティングテーブルを生成し、
前記最短ルートと前記２番目に短いルートにしたがって前記Ｎ個のノードのｖ番目のノードに関する第２ルーティングテーブルを生成することを含み、
前記第１ルーティングテーブルは前記第２ルーティングテーブルと本質的に同等であり、ｘとｙは負でない整数であり、ｘとｙはＮより小さく、ｘはｙと等しくなく、ｕは正の奇数であり、ｕはＮより小さく、ｖは負でない偶数であり、ｖはＮより小さいルーティングテーブル構築方法。
【請求項９】
前記ｕ番目のノードの前記第１ルーティングテーブルにおいて定義される第１ルートがあり、前記ｖ番目のノードの前記第２ルーティングテーブルにおいて定義される第２ルートがあり、前記第１ルートの始点が前記ｕ番目のノードであり、前記第１ルートの終点が前記Ｎ個のノードのｕ１番目のノードであり、前記第２ルートの始点が前記ｖ番目のノードであり、前記第２ルートの終点が前記Ｎ個のノードのｖ１番目のノードであり、
ｕ１は［（ｕ＋ｄｕ１）ｍｏｄ  Ｎ］であり、ｖ１は［（ｖ＋Ｎ―ｄｕ１）ｍｏｄ  Ｎ］であり、ｕ１とｖ１は負でない整数であり、ｕ１とｖ１はＮより小さい請求項８に記載のルーティングテーブル構築方法。
【請求項１０】
前記ｕ番目のノードの前記第１ルーティングテーブルにおいて定義される第１ルートがあり、前記ｖ番目のノードの前記第２ルーティングテーブルにおいて定義される第２ルートがあり、前記第１ルートの始点が前記ｕ番目のノードであり、前記第１ルートの終点が前記Ｎ個のノードのｕ３番目のノードであり、前記第１ルートは前記Ｎ個のノードのｕ２番目のノードを通り、前記第２ルートの始点は前記ｖ番目のノードであり、前記第２ルートの終点は前記Ｎ個のノードのｖ３番目のノードであり、前記第２ルートは前記Ｎ個のノードのｖ２番目のノードを通り、
ｕ２は［（ｕ＋ｄｕ２）ｍｏｄ  Ｎ］であり、ｕ３は［（ｕ＋ｄｕ３）ｍｏｄ  Ｎ］であり、ｖ２は［（ｖ＋Ｎ−ｄｕ２）ｍｏｄ  Ｎ］であり、ｖ３は［（ｖ＋Ｎ−ｄｕ３）ｍｏｄ  Ｎ］であり、ｕ２、ｕ３、ｖ２及びｖ３は負でない整数であり、ｕ２、ｕ３、ｖ２及びｖ３はＮより小さい請求項８に記載のルーティングテーブル構築方法。
【請求項１１】
前記ｘ番目のノードからｙ番目のノードへの２番目に短いルートは第１サブルートと第２サブルートを含み、前記第１サブルートは前記ｘ番目のノードから前記Ｎ個のノードのｚ番目のノードへのルートであり、前記第２サブルートは前記ｚ番目のノードから前記ｙ番目のノードへのルートであり、
前記ｚ番目のノードは直接前記ｙ番目のノードへ接続されている請求項８に記載のルーティングテーブル構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークトポロジーシステム（ｎｅｔｗｏｒｋ  ｔｏｐｏｌｏｇｙ  ｓｙｓｔｅｍ）並びにトポロジー及びそのルーティングテーブル（ｒｏｕｔｉｎｇ  ｔａｂｌｅｓ）の構築方法に関し、より詳細には、ホモジニアスネットワーク構造（ｈｏｍｏｇｅｎｅｏｕｓ  ｎｅｔｗｏｒｋ  ｓｔｒｕｃｔｕｒｅｓ）を生成するネットワークトポロジーシステム並びにトポロジー及びそのルーティングテーブルの構築方法に関する。
【背景技術】
【０００２】
時にはグラフ（ｇｒａｇｈ）または回路（ｃｉｒｃｕｉｔ）と呼ばれるネットワークは、多数のノード（ｎｏｄｅ）とそれぞれ１つのノードをもう１つのノードに接続する多数の線（ｌｉｎｅ）により構成されている。ネットワーク専門用語では、ノードは通常、頂点（ｖｅｒｔｅｘ）と呼ばれ、このノードをもう１つのノードに接続する線はルート（ｒｏｕｔｅ）またはエッジ（ｅｄｇｅ）と呼ばれ、ノードに接続するルートの数は、このノードの次数（ｄｅｇｒｅｅ）と呼ばれ、これらの次数の分布は次数分布（ｄｅｇｒｅｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ）と呼ばれる。
【０００３】
ネットワークトポロジーという用語はポイント（ｐｏｉｎｔｓ）と、ネットワークを形成するポイントの間の接続の編成（ｏｒｇａｎｉｚａｔｉｏｎ）を定義し、それは時には結果として生じる（ｒｅｓｕｌｔｉｎｇ）ネットワーク自体や結果として生じるネットワークのサブセット（ｓｕｂｓｅｔ）と呼ばれることがある。例えば、「リングネットワーク（ｒｉｎｇ  ｎｅｔｗｏｒｋ）」という用語は「リングトポロジー」として相互に理解可能である。コンピューターネットワークでは、それぞれのノードは、ネットワークオンチップでのネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、プロセッサーのコア、マザーボードのプロセッサー、コンピューター、クラスタコンピューターのネットワークスイッチ、任意のインフラストラクチャー（ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）のサーバー、または情報センターであってもよい。
【０００４】
スーパーコンピューターの場合、ポイント間のメッセージパケット（ｍｅｓｓａｇｅ  ｐａｃｋｅｔ）の伝送の効率は、ネットワークインフラストラクチャーの影響を受ける。実際には、メッセージパケットの伝送の遅れは、通常、ネットワークスイッチがメッセージパケットをバッファリング（ｂｕｆｆｅｒｉｎｇ）する時間、チャネル（ｃｈａｎｎｅｌ）を取得しようとする間の遅れの時間、またはリダイレクト（ｒｅｄｉｒｅｃｔｉｏｎ）の時間により引き起こされる。ネットワークトポロジーシステムでは、平均してメッセージパケットが多くのネットワークスイッチを訪れる（ｖｉｓｉｔ）必要がある場合、このメッセージパケットに要求される伝送時間または待ち時間はとても長くなり、各ノードへの大きな負担につながる。
【０００５】
上述したように、ネットワークトポロジーが最適化プロセスの対象にならないと、メッセージパケットが劣った（ｉｎｆｅｒｉｏｒ）ルートを通って伝送され、各ネットワークスイッチへの負荷の増加に加えて、伝送時間も長くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、ネットワークトポロジーシステム並びにトポロジー及びそのルーティングテーブルの構築方法を提供し、ノード間のメッセージパケットまたはデータの伝送時間を短縮しネットワークスイッチの負担を減らすことを目的とする。
【課題を解決するための手段】
【０００７】
１つ以上の実施形態によると、本開示はデータ交換のためのＮ個のノードを含むネットワークトポロジーシステムを提供する。前記Ｎ個のノードはリング通信構成を形成するため順次接続され、Ｎは正の偶数の整数である。接続ルールにしたがって、前記Ｎ個のノードのｉ番目のノードがさらに、前記Ｎ個のノードのうち［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続される。前記接続ルールにしたがって、前記Ｎ個のノードのうちｊ番目のノードがさらに、前記Ｎ個のノードのうち［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続される。ここで、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数である。
【０００８】
１つ以上の実施形態によれば、本開示は、ネットワークトポロジーシステムのためのトポロジー構築方法を提供し、トポロジー構築方法は、データ交換のためのＮ個のノードに適用される。前記Ｎ個のノードは、リング通信構成を形成するため順次接続される。前記トポロジー構築方法では、前記Ｎ個のノードのうちの第１ノード（ｆｉｒｓｔ  ｎｏｄｅｓ）は、初期ノード（ｉｎｉｔｉａｌ  ｎｏｄｅｓ）のグループであると定義される。第１ノードは、その後、Ｎ個のノードの第２ノード（ｓｅｃｏｎｄ  ｎｏｄｅｓ）に対応する。そして、前記Ｎ個のノードの前記第１ノードのそれぞれが前記Ｎ個のノードの第２ノードのいずれかと接続する方法が接続ルールによって決定される。接続ルールでは、前記Ｎ個のノードのｉ番目のノードがＮ個のノードの［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノードと［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続されているとき、前記Ｎ個のノードのｊ番目のノードはさらに前記Ｎ個のノードの［（ｊ−ｍ）ｍｏｄ  Ｎ］番目と［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続される。ここで、ｉとｊはＮより小さく、ｍとｐはＮより大きくなく、ｉとｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数である。
【０００９】
本開示は、ネットワークトポロジーシステムのルーティングテーブル構築方法を提供する。前記ネットワークトポロジーシステムは、データ交換のためのＮ個のノードを含む。前記Ｎ個のノードは、リング通信構成を形成するため順次接続され、Ｎは正の偶数の整数である。接続ルールにしたがって、前記Ｎ個のノードの前記ｉ番目のノードは、前記Ｎ個のノードの［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノードと［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードにさらに接続され、接続ルールにしたがって、前記Ｎ個のノードのｊ番目のノードはさらに前記Ｎ個のノードの［（ｊ―ｍ）ｍｏｄ  Ｎ］番目及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続され、ｉ及びｊはＮより小さく、ｍおよびｐはＮより大きくはなく、ｉおよびｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数である。ルーティングテーブル構築方法は、前記Ｎ個のノードのｘ番目のノードから前記Ｎ個のノードのｙ番目のノードへの少なくとも１つの最短ルートを取得することと（ｘとｙは負でない整数であり、ｘとｙはＮより小さく、ｘはｙと等しくない）、前記ｘ番目のノードから前記ｙ番目のノードまでの少なくとも１つの２番目に短いルートを取得することと、前記最短ルートと前記２番目に短いルートにしたがって前記Ｎ個のノードのうちのｕ番目のノードに関する第１ルーティングテーブルを生成することと（ｕは正の奇数であり、ｕはＮより小さい）、前記最短ルートと前記２番目に短いルートにしたがって前記Ｎ個のノードのｖ番目のノードに関する第２のルーティングテーブルを生成することと（ｖは負でない偶数でありＮより小さく、前記第１ルーティングテーブルは本質的に前記第２ルーティングテーブルと同等である）、を含む。
【００１０】
要約すると、本開示におけるネットワークトポロジーシステムおよびトポロジーとルーティングテーブルの構築方法では、ネットワークトポロジーシステムは、基本的に、コードリング構成（ｃｈｏｒｄａｌ  ｒｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）を含む。ネットワークトポロジーシステムの一実施形態では、奇数ＩＤを有するノードの接続方式は、偶数ＩＤを有するノードの接続方式と反対である。別の観点からすると、奇数ノードが順方向にそれぞれの偶数ノードに接続するように定義されている場合、偶数ノードは逆方向にそれぞれの奇数ノードに接続するように定義される。さらに、奇数ノードはさらにそれぞれの奇数ノードに接続され、偶数ノードはそれぞれの偶数ノードにさらに接続される。本開示のネットワークトポロジーシステムまたは本開示のトポロジー構築方法に基づいて構築されたネットワークトポロジーシステムは、さらに、ホモジニアスな構成に加えて、十分に小さい径および平均距離を有する。したがって、本開示のネットワークトポロジーシステムをメッセージ送信に用いると、比較的短い経路でメッセージパケットを送信できるので、遅延時間が短くなり、ネットワークスイッチの負荷が軽減される。
【図面の簡単な説明】
【００１１】
本開示は、説明のためにのみ与えられ、したがって本開示を限定するものではない。以下に与えられる詳細な説明及び添付の図面によってより理解されるであろう。
【００１２】
【図１】図１は、本開示の一実施形態によるネットワークトポロジーシステムのトポロジーを示す概略図である。
【図２】図２は、本開示の一実施形態によるネットワークトポロジーシステムのトポロジー構築方法のフローチャートである。
【図３】図３は、本開示の別の実施形態によるネットワークトポロジーシステムのルート構築方法のフローチャートである。
【発明を実施するための形態】
【００１３】
以下の詳細な説明では、説明を目的として、開示された実施形態の完全な理解を提供するため、多くの具体的な詳細が説明される。しかしながら、これらの特定の詳細無しに１つ以上の実施形態が実施されうることは明らかであろう。
【００１４】
本開示の一実施形態によるネットワークトポロジーシステムのトポロジーを示す模式的な図である図１を参照せよ。図１に示されるように、ネットワークＳはデータ交換のＮ個のノード（Ｎ  ｎｏｄｅｓ  ｏｆ  ｄａｔａ  ｅｘｃｈａｎｇｅ）を含み、Ｎは正の偶数の整数である。便宜上、データ交換のノードを以下ノードと呼ぶ。Ｎ個のノードは、リング通信構成（ｒｉｎｇ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）を形成するため順次接続される。別の観点からは、Ｎ個のノードは少なくともリングトポロジーを形成する。一実施形態では、上記または下記の通信接続は１つ以上の物理回路により実行される。本実施形態はノード０から１３を使用する場合を例として説明する。すなわち、本実施形態ではＮは１４である。しかし、ネットワークＳのノードの数はこの例に限定されない。ここで、各ノードは、例えば、単一のコアオンチップ（ｓｉｎｇｌｅ  ｃｏｒｅ  ｏｎ  ｃｈｉｐ）、プロセッサー、プロセッサーのコア、コンピューター、内部最適化されたコンピューターのグループ（ｇｒｏｕｐ  ｏｆ  ｉｎｔｅｒｎａｌｌｙ  ｏｐｔｉｍｉｚｅｄ  ｃｏｍｐｕｔｅｒｓ）、ネットワークスイッチ、クラスタコンピューター構造またはコンピューターセンターのネットワークスイッチにより実行される。
【００１５】
ノード０から１３のそれぞれは１つ以上の演算機（ｃｏｍｐｕｔｉｎｇ  ｕｎｉｔｓ）に繋がることができる（ｃａｎ  ｂｅ  ｌｉｎｋｅｄ）。一実施形態では、ノード０から１３は上記のようにネットワークスイッチであり、ノード０から１３のそれぞれは１つ以上のコンピューターにさらに繋がることができる。別の実施形態では、ノード０から１３はそれぞれマザーボードのネットワークスイッチであり、ノード０から１３は１つ以上の中央処理装置（ＣＰＵｓ）に繋がることができる。
【００１６】
ノード０から１３のそれぞれは、接続ルール（ｃｏｎｎｅｃｔｉｏｎ  ｒｕｌｅ）にしたがって、ノード０から１３の少なくとも１つと接続されている。具体的には、接続ルールは以下のとおりである。ｉ番目のノードは［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続され、ｊ番目のノードは［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続される。ここで、ｉとｊはＮより小さく、ｍとｐはＮより大きくなく、ｉとｍは正の奇数であり、ｊは負でない偶数（ｎｏｎ−ｎｅｇａｔｉｖｅ  ｅｖｅｎ  ｎｕｍｂｅｒ）であり、ｐは正の偶数である。特にこの実施形態では、Ｎは１４であり、ｉは１、３、５、７、９、１１、１３であり、ｊは０、２、４、６、８、１０、１２であり、ｍとｐは０から１３の整数である。当業者であれば本明細書の詳細な説明から、ＩＤは、ノードの実際の位置を限定するためではなく、論理構造（ｌｏｇｉｃ  ｓｔｒｕｃｔｕｒｅ）またはトポロジー構造におけるそれぞれのノードの相対的な位置を示すために使われることを理解することに留意せよ。さらに、「ｍｏｄ」という用語は、合同演算（ｃｏｎｇｒｕｅｎｃｅ  ｏｐｅｒａｔｉｏｎ）（ときにはモジュロ演算と呼ばれる）を表わす。［（ｊ−ｍ）ｍｏｄ  Ｎ］の場合、［（ｊ−ｍ）ｍｏｄ  Ｎ］は（ｊ−ｍ）のＮによる剰余を示す。この実施形態及び以下の実施形態の剰余は正の剰余である。
【００１７】
したがって、接続ルールにしたがって、ノード０から１３のうち奇数ノードは少なくとも１つの偶数ノードと接続し、ノード０から１３のうち偶数ノードは少なくとも１つの奇数ノードと接続する。便宜上、「他のノードに接続され／繋がれたノード」とは、以下、無線または有線の通信において、「他のノードにホップ（ｈｏｐ）するノード」と定義される。２つのノードのＩＤの差に基づいて、ホップは奇数ホップまたは偶数ホップと定義されることができる。具体的には、２つのノード間のＩＤの差が奇数であるとき、ホップは奇数ホップとして定義される。例えば、ノード０をノード５に接続することは奇数ホップと定義される。逆に、２つのノード間のＩＤの差が偶数であるとき、ホップは偶数ホップと定義される。例えば、ノード３をノード７に接続することは偶数ホップと定義される。
【００１８】
上記の説明を続けると、ｍは奇数であるため、上記ｉ番目のノードを［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノードに繋げることは奇数ホップであり、上記ｊ番目のノードを［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノードに繋げることは奇数ホップである。そして、ｐは偶数であるため、上記ｉ番目のノードを［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに繋げることは偶数ホップであり、上記ｊ番目のノードを［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに繋げることは偶数ホップである。図１では、２つの太い実線はノード０から始まる２つの奇数ホップを示し、太い破線はノード０から始まる偶数ホップを示し、それらを対比する。
【００１９】
別の態様では、偶数ノードから図における時計回り方向に奇数ホップを行うように設定されている場合、奇数ノードから図における反時計回り方向に同じ奇数ホップが行われる。したがって、ｉ番目のノードが［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノードに接続されている場合、ｊ番目のノードは［（ｊ―ｍ）ｍｏｄ  Ｎ］番目のノードに接続される。反対に、偶数ノードから図における時計回り方向に偶数ホップが行われるように設定されている場合、奇数ノードから図における時計回り方向に同じ数の偶数ホップ数が実行される。 したがって、上述したように、ｉ番目のノードが［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続されている場合、ｊ番目のノードは［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続されている。このような接続方法により、各ノードの接続の数が予測されるため、ネットワーキング中に予期しない接続が発生しない。したがって、それは、設計者が結果として生じるトポロジーの構成を推定するのに都合がよい。
【００２０】
なお、本実施形態では、偶数ノードから時計回り方向に奇数ホップが行われ、奇数ホップから反時計回りに奇数ホップが行われる場合に基づくが、実際には、偶数ノードから反時計回り方向に奇数ホップが行われ、奇数ノードから時計回り方向に奇数ホップが行われるように設定されてもよく、本開示はこれに限定されるものではない。 任意のノードから時計回り方向または反時計回り方向に１つ以上の偶数ホップが実行されても、結果として生じるトポロジー構造は同じである。ここで、本開示は、偶数ホップの方向を制限することを意図するものではない。
【００２１】
さらに、全てのノードがリング通信構成をとっているので、ＩＤとホップの正の数の合計が全てのＩＤ中の最大値よりも大きい場合には、この状況は、最小のＩＤを持つノードから 最大のＩＤを持つノードへのカウントを再開するサイクルカウントとに相当する。一方、ＩＤとホップの負の数の合計が全てのＩＤの最小値よりも小さい場合には、この状況は、最大のＩＤを持つノードから最小のＩＤを持つノードへのカウントダウンを再開することに相当する。上記のｍｏｄ演算は、このようなサイクルカウンティング（ｃｙｃｌｅ  ｃｏｕｎｔｉｎｇ）を表現するために使用される。
【００２２】
以上の説明を続けると、図１に示すネットワークSの場合、ノード０は偶数ノードであり、ノード３およびノード９に接続される。したがって、ノード１は、ノード０に対応して、ノード１２およびノード６に接続する奇数ノードである。別の観点からは、ノード０からノード３へのホップは＋３と定義され、ノード０からノード９へのホップは＋９と定義され、ノード１からノード１２へのホップは−３と定義され、ノード１からノード６へのホップは−９と定義される。ここで、ホップの正と負の符号は、ホップの方向を示す。残りのノードは類推によって推論されることができるので、その詳細な説明は省略する。
【００２３】
図１に対応する実施形態では、２つの奇数ホップと１つの偶数ホップがそれぞれのノードから行われる。しかし、この実施形態は単なる例であり、実際には、それぞれのノードからの１つ以上の奇数ホップと、それぞれのノードからの１つ以上の偶数ホップとを行うことが可能である。本開示は上記の例に限定されない。
【００２４】
上記の説明に続いて、もし同じネットワーク径（ｎｅｔｗｏｒｋ  ｄｉａｍｅｔｅｒ）および平均距離が制約条件である場合、偶数および奇数ノード上で反対の接続方向を適用する戦略は、ノード間の接続の数を効果的に減らす。したがって、ネットワークＳは、ホモジニアスなトポロジー構造も有し、ネットワークＳ内の各ノードは（ここでは方向に関係なく）同じホップと同じ数の外部接続を有する。
【００２５】
一方、奇数ホップの接続を通じて、メッセージパケットは、偶数ノードから伝達されるときに１つ以上の奇数ノードを訪問することができ、メッセージパケットは、奇数ノードから伝達されるときに１つ以上の偶数ノードを訪問することができる。言い換えれば、本開示で提供されるネットワークトポロジーシステム内のノードは、メッセージパケットが適切な経路を介して所望のノードに到着できるように、適切なルーティング手段を介して任意のノードと通信することができる。ルーティングの方法については後述する。
【００２６】
偶数ホップにより形成された通信により、偶数ノードと別の偶数ノードとの間には直接のルートがあるので、メッセージパケットはこの偶数ノードから別の偶数ノードへ、別の奇数ノードを経由することなく伝達されることができ、メッセージパケットの転送が少なくとも１回、省略されることができる。同様に、偶数ホップによって形成される通信により、奇数ノードと別の奇数ノードとの間には直接のルートがあるので、メッセージパケットはこの奇数ノードから別の奇数ノードへ、別の偶数ノードを経由することなく伝達されることができ、メッセージパケットの転送が少なくとも１回、省略されることができる。
【００２７】
別の観点からは、ネットワークSにおいて、各ノードから少なくとも1つの奇数ホップと少なくとも1つの偶数ホップを実行することが可能である。すなわち、各ノードが少なくとも1つの奇数ノードと少なくとも1つの偶数ノードに接続することが可能である。この動作は、異なるノード間の通信の可能性を増大させ、偶数ノードが奇数ノードにのみまたは偶数ノードにのみ接続することを防ぎ、奇数ノードが奇数ノードにのみ接続することを防ぐ。したがって、ネットワークＳに提供される平均距離が減少することができる。
【００２８】
さらに、本開示で提供されるネットワークＳ内のノードの総数は、任意の偶数であってもよい。本開示で提供されるネットワークトポロジーシステムとは異なり、ファットツリー（ｆａｔ−ｔｒｅｅ）、トーラス（ｔｏｒｕｓ）、平坦化したバタフライ（ｆｌａｔｔｅｎｅｄ  ｂｕｔｔｅｒｆｌｙ）、ドラゴンフライ（ｄｒａｇｏｎｆｌｙ）、またはスリムフライ（Ｓｌｉｍ  Ｆｌｙ）のような他のトポロジーの大部分によって提供されるネットワークシステム内のノードの総数は、任意の偶数になることはできない。これらのアルゴリズムから構築されたネットワークの構造は、ノードの総数の因数分解形式（ｆａｃｔｏｒｉｚａｔｉｏｎ  ｆｏｒｍ）または素因数分解形式（ｐｒｉｍｅ  ｆａｃｔｏｒｉｚａｔｉｏｎ  ｆｏｒｍ）によって制限され、ネットワークのパフォーマンスおよび設計の自由度に制限が生じる。別の観点から、ユーザーによって利用されるネットワークトポロジー内のノードの総数がこれらのアルゴリズムの要件に適合しない特性を有する場合、ユーザーはこれらのアルゴリズムを使用して任意の所望のネットワークを得ることができない。対照的に、本開示で提供されるネットワークトポロジーシステムにおけるノードの総数は、任意の偶数であることができ、ユーザーに大きな柔軟性を提供する。以下、本開示におけるトポロジーシステムによるネットワークの生成方法について説明する。
【００２９】
上記の説明に従って、本開示は、ネットワークトポロジーシステムのネットワーク用のトポロジー構築方法のセットを提供する。図２は、本開示の一実施形態によるネットワークトポロジーシステムのトポロジー構築方法のセットのフローチャートである。 ステップＳ１０１において、ネットワークトポロジーシステムにおけるターゲットネットワークのノードの数をＮとする。なお、Ｎは正の偶数である。ステップＳ１０３では、各ノードの外部接続の数が設定され、外部接続の数は各ノードが接続されている他のノードの数である。
【００３０】
実際には、ステップＳ１０３の後、トポロジー構造が比較的単純である場合（例えばノードの数が多くない、または各ノードから外部に実行されるホップの数が少ないなど）、上述した接続ルールと、各ノードが接続されている奇数ノードの数と偶数ノードの数とに基づいて、考えられるすべてのトポロジーを決定し、次に、対応する指標（ｉｎｄｉｃｅｓ）にしたがって考えられるトポロジーのそれぞれを評価することで、考えられるトポロジーの中から、最適なものを選択することが可能である。ここで、指標とは、例えば、平均距離やネットワーク径であるが、本開示はこれに限定されるものではない。また、トポロジー構造が単純か否かは、トポロジーの解析に用いられる機械の性能に依存するため、本開示は、以下、どのようなトポロジー構造が単純な構造であるかを限定することを意図するものではない。
【００３１】
一方、トポロジー構造が複雑であると考えられる場合（例えば、より多くのノード数および／または各ノードのより多くのホップ数）、プロセスはより良い解決策を得るために図２のステップＳ１０５に進むことができる。ステップＳ１０５では、外部接続の数にしたがって、ノードのうちどのノードがノードのうちのそれぞれのノードに接続されるかを決定するための接続ルールと自己学習アルゴリズムのセットが行われる。ここで、自己学習アルゴリズムは、例えば、遺伝的アルゴリズムであり、以下の説明では、遺伝的アルゴリズムが用いられる場合について説明する。
【００３２】
ステップＳ１０３において、一実施形態では、各ノードが接続されている奇数ノードの数と偶数ノードの数が設定される。言い換えれば、それぞれのノードからの奇数ホップの数および偶数ホップの数の設定が行われる。そこで、本実施形態のステップＳ１０５では、接続ルールと遺伝的アルゴリズムにしたがって、それぞれのノードに接続する奇数ノードの数と偶数ノードの数とに応じて接続を決定する。
【００３３】
一実施形態では、ある例では遺伝的アルゴリズムのいくつかの条件下でランダムに連続して生成される多数の解（ｓｏｌｕｔｉｏｎ）が存在し、生成された解から比較的良好な解が選択される。ここで、解は、例えば、ノードから行われる１つ以上の奇数ホップおよび偶数ホップを示す。実際には、ステップＳ１０５から導かれる解の数は、ノードの数および各ノードの外部接続の数にしたがって対応する大きさ（ｍａｇｎｉｔｕｄｅ）を有する。ステップＳ１０５の計算は、解集合（ｓｏｌｕｔｉｏｎ  ｓｅｔ）の大きさおよび解の１つを解くのに必要な時間にしたがって対応する計算の複雑さ（ｃａｌｃｕｌａｔｉｏｎ  ｃｏｍｐｌｅｘｉｔｙ）を有する。様々な計算の複雑さに応じて、ステップＳ１０５は、より多くの実装（ｉｍｐｌｅｍｅｎｔ）を有することができる。
【００３４】
ステップＳ１０５では、一実施形態において、まず、ノードの数および各ノードの外部接続の数に従って、すべての解によって構成される解集合の指標（ｏｒｄｅｒ  ｏｆ  ｍａｇｎｉｔｕｄｅ）を判断する。解集合の指標が予め設定された指標よりも小さいと判断された場合、ステップＳ１０５において、最良の解を選択するために、すべての解について分析および比較が行われる。解集合の指標が予め設定された指標以上であると判断された場合、ステップＳ１０５において、比較的良好な解を選択するために、遺伝的アルゴリズムによって生成された解の一部に対して解析および比較を行う。一実施形態では、解の１つが所定の閾値に適合する場合、この解は遺伝的アルゴリズムの最終結果として機能（ｓｅｒｖｅ）しうる。別の実施形態では、遺伝的アルゴリズムで生成された解の数が閾値に達したとき、すべての解の中で最良のパフォーマンスを示す１つの解を遺伝的アルゴリズムの最終結果として選択することができる。さらに別の実施形態では、進化（ｅｖｏｌｕｔｉｏｎ）を多数回進めた後に遺伝的アルゴリズムが最良解をもたらさない場合、進化は停止し、以前の最良解が最終解として使用される。ここで、例における閾値およびパフォーマンスとは、ネットワーク径が関連する閾値よりも大きくないこと、および/または平均距離が結果として生じるネットワークに関連する閾値より大きくないことを意味するが、本開示はこれに限定されるものではない。一方、本開示は、遺伝的アルゴリズムの進化プロセスの詳細を限定することを意図するものではなく、当業者であれば、本明細書を読んだ後に、実際の要件に従ってそれを定義することができる。図１の実施形態の場合、図１に示すネットワークＳは、１．５３８の平均距離と、２のネットワーク径とを有する。
【００３５】
図１に示すネットワークＳの場合、ノードの総数（例えば、Ｎ）は、例として、最初は１４に設定され（すなわち、ステップＳ１０１）、また、０番のノードを、０番のノードの隣の１番のノードと１３番のノードに接続することに加えて、０番のノードから２つの奇数ホップと1つの偶数ホップを実行するように設定される（すなわち、ステップＳ１０３）。図１に示す構成は、すべての考えられる解が容易に得られるように比較的簡単な複雑さを有するが、自己学習アルゴリズムが解を得るために使用されてもよく、したがって、図１に示す構成は例示的な説明のためのものに過ぎない。この場合、遺伝的アルゴリズムに従って第１解が生成され、この解は、例えば、０番のノードに接続された他のノードのＩＤである。上述したように、本開示で提供されるネットワークトポロジー構造はホモジニアス構成、すなわち奇数ノードのセットと偶数ノードのセットがそれぞれ回転対称性（ｒｏｔａｔｉｏｎａｌ  ｓｙｍｍｅｔｒｙ）を有するため、各ノードと他のすべてのノードとの接続関係は等価として得られ、単一ノード（ｓｉｎｇｌｅ  ｎｏｄｅ）と他のすべてのノードとの接続関係が得られ、こうして、対応するトポロジーが生成される。したがって、解は、対応するトポロジー構造のパフォーマンスを推定することによって評価されることができる。ここで、トポロジー構造のパフォーマンスとは、例えば、ネットワーク径の大きさまたはトポロジー構造の平均距離の大きさを意味する。そして、所定の閾値に適合する解が存在するか、遺伝的アルゴリズムで生成された解の数が閾値に達するまで、既存の解、接続ルール、遺伝的アルゴリズムにしたがって、次の解が連続的に生成される。
【００３６】
別の観点から、本開示におけるトポロジー構築方法によって、各ノードの外部接続の数が設定されるときにネットワークのセットが構築されることができる。 現在、技術の発展において、大規模ネットワーク（例えば、数百万以上のノードを有するネットワーク）に関して研究者によって提供されるすべての解決策は、問題、すなわち、ネットワークにおける過度に大きなネットワーク径または平均距離という問題に直面する。 しかし、各ノードの外部接続の数が制限されている場合、本開示で提供されるトポロジー構築方法を効率的に使用して、優秀なネットワーク径、顕著な平均距離、低いルーティングエネルギー、時間コスト、より良いトラフィックモードへの適応性を有する大規模ネットワークを構築することができ、現在の開示内容は実用的である。
【００３７】
本開示の別の実施形態によるネットワークトポロジーシステムのルート構築方法のフローチャートである図３を参照せよ。図３に示す実施形態では、ネットワークトポロジーシステムのルート構築方法は、以下のステップを含む。ステップＳ２０１は、ｘ番目のノードからｙ番目のノードへの少なくとも１つの最短ルートを得ることであり、ｘとｙは負でない整数であり、ｘおよびｙがＮより小さく、ｘがｙに等しくない整数である。ステップＳ２０３は、ｘ番目のノードからｙ番目のノードまでの少なくとも１つの２番目に短いルートを得ることである。ステップＳ２０５は、最短ルートと２番目に短いルートにしたがって、ｕ番目のノードに関する第１ルーティングテーブルを生成することであり、ｕは正の奇数でＮより小さい。ステップＳ２０７は、最短ルート及び２番目に短いルートにしたがってｖ番目のノードに関する第２ルーティングテーブルを生成することであり、ｖは負でない偶数であり、Ｎより小さい。ここで、第１ルーティングテーブルは本質的に第２ルーティングテーブルと同等（ｅｑｕｉｖａｌｅｎｔ）である。また、最短ルートは、例えば、最小の数のノードを通過するルートであると定義され、同様に、２番目に短いルートは、例えば、２番目に少ない数のノードを通過するルートであると定義される。
【００３８】
別の観点から見ると、ステップＳ２０１において、ｘ番目のノードから別のノードへの少なくとも１つの最短ルートが得られ、ステップＳ２０３において、ｘ番目のノードから別のノードへの少なくとも１つの２番目に短いルートが得られる。例示的な実施形態では、ダイクストラアルゴリズム（Ｄｉｊｋｓｔｒａ  ａｌｇｏｒｉｔｈｍ）が、上記ステップにおけるノード間の最短ルートを決定するために使用され、また、最短ルートの決定において生成させた候補のルート（ｃａｎｄｉｄａｔｅ  ｒｏｕｔｅ）の情報から少なくとも１つの２番目に短いルートを得るために使用される。この実施形態では、ｘ番目のノードからｙ番目のノードまでの２番目に短いルートは、第１サブルートおよび第２サブルートを含む。第１サブルートは、ｘ番目のノードからｚ番目のノードまでのルートであり、第２サブルートは、ｚ番目のノードからｙ番目のノードまでのルートである。ｚ番目のノードは、ｙ番目のノードに接続されているか、ｙ番目のノードと通信する。言い換えれば、ｘ番目のノードは、第１サブルートを通じて、ｙ番目のノードの隣接ノードに相対情報（ｒｅｌａｔｉｖｅ  ｉｎｆｏｒｍａｔｉｏｎ）を送信する。
【００３９】
実際には、本開示で提供されるネットワークトポロジーシステムはホモジニアスな構成を有し、奇数ノードはネットワークトポロジーシステムにおいて偶数ノードと対称性を有するので、本開示で提供されるネットワークトポロジーシステムの奇数ノードは、類似のルーティングテーブルまたはルーティング方法を使用し、偶数のノードは、別の類似のルーティングテーブルまたはルーティング方法を使用することができる。この特徴により、本開示のルーティングルールは、不規則なトポロジーに関して、Ｏ（Ｎ2）の複雑さではなく、Ｏ（Ｎ）の複雑さを有することが可能になる。したがって、ステップＳ２０５において、ｘ番目のノードから他のノードまでの最短経路及び２番目に短い経路に従って、ｕ番目のノードに関する第１ルーティングテーブルを生成する。ステップＳ２０７では、ｘ番目のノードから他のノードへの最短ルートと２番目に短いルートとに基づいて、ｖ番目のノードに関する第２ルーティングテーブルを生成する。ｕ番目のノードは全ノードのうち奇数ノードを示し、ｖ番目のノードは全ノードのうち偶数ノードを示す。すなわち、本発明のネットワークトポロジー構築方法では、他のノードに対するノードの接続関係に応じて、ネットワークトポロジーシステムにおける全てのノードのルーティングテーブルを取得することができる。
【００４０】
以上の説明を続けると、本開示のネットワークトポロジーシステムでは、ＩＤに関係なく、ノードの繋がりのみを考慮すると、任意の奇数ノードから見ると、構成は同じであり（すなわち、任意の２つの奇数ノードについて、ネットワークトポロジーシステムの構成は同じであり）、任意の偶数ノードから見ると、構成は同じである（すなわち、任意の２つの偶数ノードの場合、ネットワークトポロジーシステムの構成は同じである）。しかしながら、奇数ノードから見た構成は、偶数ノードから見た構成とは逆のものである（すなわち、任意の奇数ノードに関するネットワークトポロジーシステムの構成は、任意の偶数ノードに関するネットワークトポロジーシステムの構成と逆のものである）。したがって、奇数ノードのルーティングテーブルの内容が定義されている場合、この奇数ノードのルーティングテーブルは、２つの奇数ノードの相対位置（例えば、ＩＤ）に応じて、別の奇数ノードのルーティングテーブルに調整することができる。同様に、偶数ノードのルーティングテーブルの内容が定義されている場合、このルーティングテーブルは、２つの偶数ノードの相対位置（例えば、ＩＤの差）に応じて、別の偶数ノードのルーティングテーブルに調整することができる。しかし、実際には、奇数ノードの接続方向が偶数ノードの接続方向と反対であるため、奇数ノードのルーティングテーブルを偶数ノードのルーティングテーブルに調整したり、偶数ノードのルーティングテーブルを奇数ノードのルーティングテーブルに調整したりすることができる。
【００４１】
一実施形態では、ｕ番目のノードの第１ルーティングテーブルにおいて定義される第１ルートがあり、ｖ番目のノードの第２ルーティングテーブルにおいて定義される第２ルートがある。第１ルートの始点はｕ番目のノードであり、第１ルートの終点はｕ１番目のノードである。第２ルートの始点はｖ番目のノードであり、第２ルートの終点はｖ１番目のノードである。ｕ１は［（ｕ＋ｄｕ１）ｍｏｄ  Ｎ］であり、ｖ１は［（ｖ＋Ｎ−ｄｕ１）ｍｏｄ  Ｎ］であり、ｕ１およびｖ１は負ではない整数であり、Ｎより小さい。図１に示すネットワークトポロジーシステムの場合、ｕが１であり、ｕ１が６であり、ｖが２であれば、ｖ１は１１である。
【００４２】
別の実施形態では、ｕ番目のノードの第１ルーティングテーブルにおいて定義される第１ルートがあり、ｖ番目のノードの第２ルーティングテーブルにおいて定義される第２ルートがある。第１ルートの始点はｕ番目のノードであり、第１ルートの終点はｕ３番目のノードであり、第１のルートはｕ２番目のノードを通る。第２ルートの始点はｖ番目のノードであり、第２ルートの終点はｖ３番目のノードであり、第２ルートはｖ２番目のノードを通る。ｕ２は［（ｕ＋ｄｕ２）ｍｏｄ  Ｎ］であり、ｕ３は［（ｕ＋ｄｕ３）ｍｏｄ  Ｎ］であり、ｖ２は［（ｖ＋Ｎ−ｄｕ２）ｍｏｄ  Ｎ］であり、ｖ３は［（ｖ＋Ｎ−ｄｕ３）ｍｏｄ  Ｎ］であり、ｕ２、ｕ３、ｖ２、ｖ３は負ではない整数で、ｕ２、ｕ３、ｖ２、ｖ３はＮより小さい。図１に示すネットワークトポロジーシステムの場合には、ｕが１であり、ｕ２が５であり、ｕ３が１０であり、ｖが２であれば、ｖ２は１２となり、ｖ３は７となる。
【００４３】
上述した第１ルートおよび第２ルートは、奇数ノードのルートと偶数ノードのルートとの差異を例示的に説明するだけのためのものであり、上記の視点と終点の間の最短ルートまたは２番目に短いルートを示すものではない。
【００４４】
一実施形態では、完全なルートをメッセージパケットに記録する必要はないので、メッセージパケットのヘッダを短縮することができる。すなわち、ネットワークＳがソースルーティングの方法を利用することを防止して、システム内のメッセージトラフィックの増加を回避することができる。別の実施形態では、メッセージパケットは、ネットワークトポロジーシステムにおける開始ノードと終了ノードの相対位置を記録すればよく、他のノードがこのメッセージパケットを受信すると、このノードは、メッセージパケットに記録された始点と終点にしたがって、他のノードのどれにメッセージパケットを送るべきかを決定することができる。最短ルートのノードに渋滞が発生した場合でも、メッセージパケットを受信したノードは、メッセージパケットを別の最短ルートまたは２番目に短いルートに再ルーティングできるように、タイムリーにルーティング方式（ｒｏｕｔｉｎｇ  ｓｃｈｅｍｅ）を変更することができる。
【００４５】
以上説明したように、本発明によれば、基本的に改善されたコードリング構成を有するネットワークトポロジーシステム及びトポロジー構築方法並びにそのルーティングテーブル構築方法が提供される。ネットワークトポロジーシステムの一実施形態では、奇数ＩＤを有するノードの接続方向は、偶数ＩＤを有するノードの接続方向と反対である。別の観点から見ると、奇数ホップは順方向に奇数ノードから実行されると定義される場合、偶数ノードは逆方向に偶数ホップを有すると定義される。このようにして、ノード間の接続の数を減らすことができる。また、設計者は、ノードの外部接続に従ってノードの総接続数を計算することができるので、設計プロセス中に有用な指針である。さらに、奇数ノードおよび偶数ノードはすべて、同じ方向に同様の偶数ホップをさらに有する。したがって、奇数ノードから始まるルート上のメッセージパッケージが別の奇数ノード（ルートの終点）に到着するために何回も転送されるのを防ぐことができ、偶数ノードから始まる経路のメッセージパッケージが別の偶数ノード（ルートの終点）に到着するために、何度も転送されるのを防ぐことができる。
【００４６】
したがって、本開示で提供されるトポロジー構築方法によって構築されるネットワークトポロジーは、ホモジニアスな構成を有することに加えて、十分に小さいネットワーク径および平均距離をさらに有する。さらに、本開示から得られるネットワークトポロジーのそれぞれには、回転対称性を有する奇数ノードの組と、回転対称性を有する偶数ノードの組がある。この場合、すべてのノードは本質的に同等のルーティングテーブルを使用することができるので、ルーティングプロトコルはさらに単純化されることができ、ルーティングスキームはより柔軟であり、単一のノードに対する渋滞の発生による大部分のノードでのグリッドロックを回避することができる。したがって、本発明のネットワークトポロジーシステムを用いてメッセージパケットを送信する場合、このメッセージパケットは比較的短い経路で送信されるため、遅延時間が短縮され、各ネットワークスイッチの負荷も軽減される。別の態様では、トポロジー構築方法に起因するルーティングテーブル構築方法の複雑さは、不規則なトポロジーのＯ（Ｎ2）の複雑さではなくＯ（Ｎ）であり、ルーティングテーブルを格納するためにネットワークスイッチが必要とする大きなメモリーリソースを節約することができる。一方、過去には誰も通常のコードリングトポロジーに基づくルーティング方法の考え方を出さなかったし、誰も対称的なコーダルリング構成の利点を使用してルーティングメモリ要件を大幅に削減する戦略の考え方を出さなかった。本発明のネットワークトポロジーシステム及びそのトポロジー構築方法及びルーティングテーブル構築方法は、単純化されたルーティングプロトコルを実行可能な接続ルールを採用している。ネットワーク径が小さいコードリング構造、開示された接続ルール、およびルーティング規則に基づいて、高性能並列演算が可能となる。
【図１】
2019036936.tif 000003
【図２】
2019036936.tif 000004
【図３】
2019036936.tif 000005
【手続補正書】
【提出日】平成30年12月4日(2018.12.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リング通信構成を形成するため順次接続される、データ交換のためのＮ個のノードを含み、
接続ルールにしたがって、前記Ｎ個のノードのうちｉ番目のノードがさらに、前記Ｎ個のノードのうち［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続され、
前記接続ルールにしたがって、前記Ｎ個のノードのうちｊ番目のノードがさらに、前記Ｎ個のノードのうち［（ｊ−ｍ）ｍｏｄ  Ｎ］番目のノード及び前記Ｎ個のノードのうち［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードと接続され、
Ｎは正の偶数の整数であり、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数であるネットワークトポロジーシステムであって、
前記Ｎ個のノードの各ノードについて、前記複数のノードのそれぞれのノードに接続する他のノードの数量である外部接続の数が定義され、
前記複数のノードのどのノードが前記複数のノードの前記それぞれのノードに接続されるかが、
複数の解を含み、前記解のそれぞれが前記複数のノードのどのノードが前記それぞれのノードに接続されるかを示す解集合を遺伝的アルゴリズムにより生成し、
前記解集合の指標が予め設定された指標よりも小さいかを判定し、
前記解集合の指標が予め設定された指標よりも小さいとき、すべての前記解に対し分析及び比較を行い、前記それぞれのノードに接続される前記ノードを決定するため前記解の１つを選択し、
前記解集合の指標が予め設定された指標以上であるとき、前記解の一部に対し分析及び比較を行い、前記それぞれのノードに接続される前記ノードを決定するため前記解の１つを選択することによって決定されるネットワークトポロジーシステム。
【請求項２】
前記Ｎ個のノードにおいて、前記接続ルールにしたがって前記ｉ番目のノードはさらに［（ｉ＋ｎ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｊ番目のノードはさらに［（ｊ−ｎ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｉ番目のノードはさらに［（ｉ＋ｑ）ｍｏｄ  Ｎ］番目のノードと接続され、前記接続ルールにしたがって前記ｊ番目のノードはさらに［（ｊ＋ｑ）ｍｏｄ  Ｎ］番目のノードと接続され、ｎは正の奇数であり、ｑは正の偶数である請求項１に記載のネットワークトポロジーシステム。
【請求項３】
前記Ｎ個のノードのそれぞれがネットワークスイッチである請求項１に記載のネットワークトポロジーシステム。
【請求項４】
リング通信構成を形成するために順次接続されるデータ交換のための複数のノードを含むネットワークトポロジーシステムのためのトポロジー構築方法であって、
前記ネットワークトポロジーシステムの前記複数のノードの総数を設定し、
前記複数のノードのそれぞれのノードに接続する他のノードの数量である、前記複数のノードの各ノードの外部接続の数を設定し、
前記外部接続の数、接続ルール及び遺伝的アルゴリズムにしたがって、前記複数のノードのどのノードが前記複数のノードのそれぞれのノードに接続されるかを決めることを含み、
前記接続ルールにおいては、前記複数のノードのｉ番目のノードが前記複数のノードの［（ｉ＋ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｉ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続されるとき、前記複数のノードのｊ番目のノードが前記複数のノードの［（ｊ―ｍ）ｍｏｄ  Ｎ］番目のノード及び［（ｊ＋ｐ）ｍｏｄ  Ｎ］番目のノードに接続され、
Ｎは正の偶数の整数であり、ｉ及びｊはＮより小さく、ｍ及びｐはＮより大きくなく、ｉ及びｍは正の奇数であり、ｊは負でない偶数であり、ｐは正の偶数であり、
前記複数のノードのどのノードが前記複数のノードのそれぞれのノードに接続されるかを決めることが、
複数の解を含み、前記解のそれぞれが前記複数のノードのどのノードが前記それぞれのノードに接続されるかを示す解集合を遺伝的アルゴリズムにより生成し、
前記解集合の指標が予め設定された指標よりも小さいかを判定し、
前記解集合の指標が予め設定された指標よりも小さいとき、すべての前記解に対し分析及び比較を行い、前記それぞれのノードに接続される前記ノードを決定するため前記解の１つを選択し、
前記解集合の指標が予め設定された指標以上であるとき、前記解の一部に対し分析及び比較を行い、前記それぞれのノードに接続される前記ノードを決定するため前記解の１つを選択することを含むトポロジー構築方法。
【請求項５】
前記複数のノードの各ノードの外部接続の数を設定することが、前記複数のノードのそれぞれのノードに接続された、前記複数のノードの奇数ノードの数と前記複数のノードの偶数ノードの数をそれぞれ設定することである請求項４に記載のトポロジー構築方法。
【請求項６】
前記接続ルールにおいては、前記ｉ番目のノードがさらに前記複数のノードの［（ｉ＋ｎ）ｍｏｄ  Ｎ］番目のノードに接続されるとき、前記ｊ番目のノードはさらに前記複数のノードの［（ｊ−ｎ）ｍｏｄ  Ｎ］番目のノードに接続され、
前記接続ルールにしたがって、前記ｉ番目のノードはさらに前記複数のノードの［（ｉ＋ｑ）ｍｏｄ  Ｎ］番目のノードに接続され、前記接続ルールにしたがって、前記ｊ番目のノードはさらに前記複数のノードの［（ｊ＋ｑ）ｍｏｄ  Ｎ］番目のノードに接続され、ｎは正の奇数であり、ｑは正の偶数である請求項４に記載のトポロジー構築方法。
【外国語明細書】
2019036936000001.pdf