JP4469168B2 - ツリートポロジーネットワークのデバイスの高速選択システムおよび方法 - Google Patents
ツリートポロジーネットワークのデバイスの高速選択システムおよび方法 Download PDFInfo
- Publication number
- JP4469168B2 JP4469168B2 JP2003414287A JP2003414287A JP4469168B2 JP 4469168 B2 JP4469168 B2 JP 4469168B2 JP 2003414287 A JP2003414287 A JP 2003414287A JP 2003414287 A JP2003414287 A JP 2003414287A JP 4469168 B2 JP4469168 B2 JP 4469168B2
- Authority
- JP
- Japan
- Prior art keywords
- farm
- solution
- network
- cost
- devices
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 137
- 230000008569 process Effects 0.000 claims description 63
- 238000004891 communication Methods 0.000 claims description 38
- 238000012795 verification Methods 0.000 claims 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 27
- 238000013459 approach Methods 0.000 description 12
- 238000000354 decomposition reaction Methods 0.000 description 7
- ODCKICSDIPVTRM-UHFFFAOYSA-N [4-[2-hydroxy-3-(propan-2-ylazaniumyl)propoxy]naphthalen-1-yl] sulfate Chemical compound C1=CC=C2C(OCC(O)CNC(C)C)=CC=C(OS(O)(=O)=O)C2=C1 ODCKICSDIPVTRM-UHFFFAOYSA-N 0.000 description 5
- 238000006467 substitution reaction Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241001417495 Serranidae Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
通常のコンピュータネットワークでは、異なるタイプのさまざまなデバイスが、例えばルータ、スイッチ、およびハブといったスイッチング素子を介して相互接続され、それによって、デバイスが、予め定められた通信モデルに従って互いに通信することを可能にする。
最も簡単なネットワークは、適切なスイッチング素子および相互接続媒体(例えば、導電性ケーブル、光ファイバケーブル、無線媒体など)を使用して、さまざまなデバイスを共に結線することを伴う傾向がある。
結線アプローチは、比較的小さい静的なネットワーク構成についてはうまく機能するけれども、うまく拡張しないので、その結果、管理およびアップグレードが困難なネットワークになりがちである。
デバイスを共に結線することにより、各ネットワークトポロジーを断片的に構築するのではなく、デバイスは、リソースの共通プールに所属するとみなされる。
このリソースの共通プールは、階層的なツリートポロジーに配置される。
ツリー内のデバイスは、決定論的な通信路に沿ってそれら自身の間で通信を行うので、階層的なツリートポロジーが選択される。
これにより、タスクのプロビジョニングおよびアップグレードが簡単になる。
階層的なツリートポロジー内では、デバイスは、スイッチング素子のプールを使用して相互接続される。
スイッチング素子をどのように構成するかに応じて、さまざまな論理ネットワークを、例えば仮想ローカルエリアネットワーク(VLAN)技術を使用して、デバイスおよびスイッチング素子(例えばスイッチ、ルータ、およびハブ)のこの共通プールから構築することができる。
1つの例示的なVLAN技術の議論は、IEEE 802.1Q作業部会から得ることができる(非特許文献1;http://grouper.ieee.org/groups/802/1/、2002年9月)。
例えば、ある組織が、2つのデータベースサーバと、5つのアプリケーションサーバと、4つのウェブサーバと、インターネットアクセス用の1つのファイアウォールとを有する3段のアプリケーショントポロジーの作成、またはそのトポロジーへのアップグレードを望んでいるとする。
この仕様および通信モデルから、必要なデバイス(例えば、データベースサーバ、アプリケーションサーバ、ウェブサーバ、およびファイアウォール)は、デバイスの共通プールから選択することができ、ツリーのスイッチング素子を使用して相互接続することができる。
なお、通信モデルは、そのアプリケーションに必要とされる各デバイスの通信ポリシー(予想される帯域幅使用量を含む)を統制する。
したがって、論理ネットワークトポロジーの構築は、ツリー階層に存在する利用可能なデバイスのプールから必要なデバイスを選択して、スイッチング素子を適切に構成して、通信モデルおよび論理仕様によって指定されたようにデバイスを相互接続することの実践になる。
このようなネットワーク(所与の通信モデルに従うような種々のデバイスおよびネットワーク素子を含む)は、本明細書では、「ファーム(farm)」と呼ばれる。
さまざまなファームは、この共通プールから構築することができる。
データセンター100は、階層的なツリーのルートレベルにハブ1101(合計4096Mbpsの帯域幅の8つのネットワークポートを収容する)を含む。
ハブ1101は、2つのルータ2000および2001と接続される。
これらのルータの双方は、ツリーのレベル1に配置される8ポート、4096Mbpsのルータである。
ルータ2000は、3つのスイッチ(8002、8001、および8003)ならびに3つの負荷分散装置(20001、20002、および20003)と接続される。
これらのスイッチおよび負荷分散装置のすべては、ツリーのレベル2に配置される。
ルータ2001は、3つのスイッチ(9002、9001、および9003)ならびに2つの負荷分散装置(20004および20005)と接続される。
これらのスイッチおよび負荷分散装置のすべては、ツリーのレベル2に配置される。
これらのNASのそれぞれは、2ポート、80MbpsのNASであり、ツリーのレベル3に配置される。
また、スイッチ8002は、4つのLP2000Rアプリケーションサーバ(符号11001,11002、11003、および11004を付され、図1の例では、それぞれ1ポート、100Mbpsである)にも接続される。
これらのLP2000Rアプリケーションサーバのすべては、ツリーのレベル3に配置される。
スイッチ8001は、9ポート、1024Mbpsのスイッチであり、4つのデータベースサーバA500(符号12001、12002、12003、および12004を付され、図1の例では、それぞれ1ポート、100Mbpsのサーバである)に加えて、2つのファイアウォール18002および19002にも接続される。
これらのファイアウォールのそれぞれは、2ポート、100Mbpsのファイアウォールである。
スイッチ8003は、6ポート、1024Mbpsのスイッチであり、4つのN4000アプリケーションサーバ(符号31001、31002、31003、および31004を付され、それぞれ1ポート、100Mbpsのサーバである)に接続される。
これらのLP2000Rアプリケーションサーバおよびファイアウォールのすべては、ツリーのレベル3に配置される。
スイッチ9002は、8ポート、1024Mbpsのスイッチであり、1つのファイアウォール18004(2ポート、100Mbps)ならびに5つのLP2000R(1ポート、100Mbps)アプリケーションサーバ11010、11011、11012、11013、および11014に接続される。
これらのファイアウォールおよびLP2000Rアプリケーションサーバのすべては、ツリーのレベル3に配置される。
スイッチ9003は、11ポート、1024Mbpsのスイッチであり、2つのファイアウォール18005および18006(2ポート、100Mbps)ならびに2つのLP2000R(1ポート、100Mbps)アプリケーションサーバ11014および11015に接続される。
また、スイッチ9003は、4つのデータベースサーバA500(それぞれ1ポート、100Mbpsであり、図1の例では、符号12005、12006、12007、および12008を付されている)にも接続される。
これらのデータベースサーバのすべては、ツリーのレベル3に配置される。
さらに、LP2000Rアプリケーションサーバ同士は互いに通信せず、また、A500データベースサーバ同士も、それら自身の間で通信しないものとする。
このファームの論理仕様を図2Aに示す。
データセンター100のすべてのデバイスが、使用のために利用可能であると仮定すると、データセンター100には、ファームを構築するのに十分過ぎるほどのリソースが存在する。
しかしながら、このようなランダムなアプローチは、データセンター100の帯域幅使用量を最適化せず、データが、必要以上に多くのホップ数を巡回しなければならないことになり得る。
例えば、ファイアウォールとLP2000Rアプリケーションサーバとの間の通信を考察する。
ファイアウォール18002およびLP2000Rアプリケーションサーバ11001が選択されると、ファイアウォール18002とLP2000Rアプリケーションサーバ11001との間の通信は、4ホップ(スイッチ8001、ルータ2000、およびスイッチ8002を介する)しか必要としない。
他方、ファイアウォール18002およびLP2000Rアプリケーションサーバ11005が選択されると、ファイアウォール18002とLP2000Rアプリケーションサーバ11005との間の通信は、全部で6ホップ(スイッチ8001、ルータ2000、ハブ1101、ルータ2001、およびスイッチ9001を介する)を必要とする。
さらに、トラフィックの輻輳が、スイッチにおいて問題となり得る。
例えば、ルータ2000に接続されたすべてのデバイスが、それらのすべてのトラフィック(4632Mbps)を、当該ルータを通じて送信すると、ルータ2000は、4096Mbpsしか利用可能でないので輻輳を引き起こし、トラフィックはルータで低下することになる。
ランダムなアプローチは、構成デバイスを選択する際に、帯域幅効率性およびネットワークの輻輳を考慮しない。
このアプローチのもとでは、例えば、ルータ2000、その子ノードおよびその孫ノードを巡回し、その後、ルータ2001、その子ノードおよびその孫ノードを巡回する(もし必要なリソースがすべて得られたならば、途中で停止する)際に遭遇したリソースを使用して、上記ファームを構築することができる。
この例では、最初に遭遇するファイアウォールはファイアウォール18002であり、最初に遭遇する2つのデータベースサーバはA500データベースサーバ12001および12002であり、最初に遭遇する5つのLP2000Rアプリケーションサーバは、LP2000Rサーバ11001、11002、11003、11004、および11005である。
したがって、デバイス選択に先着順パラダイムを使用して構築されるファームも、結果として、帯域幅が非効率的になり、性能が劣化する。
別の極端なものとして、徹底したアルゴリズムがあり、これは、最適な集合を選択するために、あらゆる可能なデバイスの置換を探索するものである。
残念なことに、このアルゴリズムは、許容できない時間量を要することがあり、適度なサイズの問題であっても、実行不可能となる。
http://grouper.ieee.org/groups/802/1/ 2002年9月
この方法は、ファームの論理仕様であって、ファームによって必要とされるデバイスタイプの少なくとも1つと、そのデバイスタイプのそれぞれのデバイスの個数とを指定する論理仕様、を受け取ることを含む。
この方法は、ファームの通信モデルであって、ファームのデバイスの予想される帯域幅使用量を指定する通信モデル、を受け取ることをさらに含む。
その上、この方法は、論理仕様および通信モデルに応じて、ファームを構築するために、ツリートポロジーネットワークのデバイスの中でデバイスの解集合を確認することを含む。
この確認することは、ツリートポロジーネットワークのスイッチング素子に対して、分割貪欲型再帰処理を実行することを含む。
分割貪欲型再帰処理は、ツリートポロジーネットワークの最上位レベルから開始して、ツリートポロジーネットワークの最下位のスイッチング素子レベルに向かって再帰処理を行って、ツリートポロジーネットワークの各スイッチング素子レベルにおける最小コストの解を再帰的に確認することを含む。
ファームのリソースの要件を完全に満足し、かつ、ツリートポロジーネットワークが分割貪欲型再帰処理によって巡回された後に見つけ出された最小コストの解が、デバイスの解集合とみなされる。
この方法は、ツリートポロジーネットワークに対してスイッチ単純化を実行することを含む。
このスイッチ単純化は、各ラックスイッチから各デバイスタイプの個数を確認することを含む。
各ラックスイッチは、ツリートポロジーネットワークの最下位のスイッチング素子レベルのスイッチを表す。
また、このコンピュータ実施される方法は、ツリートポロジーネットワークのスイッチング素子に対して分割貪欲型再帰処理を実行することをも含む。
この分割貪欲型再帰処理は、ツリートポロジーネットワークの最上位レベルから開始して、ツリートポロジーネットワークの各スイッチング素子レベルにおける最小コストの解を再帰的に確認することを含む。
このコンピュータ読み取り可能コードは、ネットワークファームの論理仕様およびそのファームの通信モデルに応じて、ファームを構築するために、ツリートポロジーネットワークのデバイスの中でデバイスの解集合を確認するように構成される。
上記のコンピュータ読み取り可能コードは、ツリートポロジーネットワークに対してスイッチ単純化を実行するコンピュータ読み取り可能コードを含む。
このスイッチ単純化は、各ラックスイッチから各デバイスタイプの個数を確認することを含む。
各ラックスイッチは、ツリートポロジーネットワークの最下位のスイッチング素子レベルのスイッチを表す。
ツリートポロジーネットワークのスイッチング素子に対して分割貪欲型再帰処理を実行するコンピュータ読み取り可能コードが含まれる。
この分割貪欲型再帰処理のコンピュータ読み取り可能コードは、ツリートポロジーネットワークの最上位レベルから開始して、ツリートポロジーネットワークの各スイッチング素子レベルにおける最小コストの解を再帰的に確認するコンピュータ読み取り可能コードを含む。
添付図面において、同じ参照符号は、同様の構成要素を参照する。
以下の説明では、本発明の十分な理解を提供するために、多数の具体的な詳細を述べる。
しかしながら、これらの具体的な詳細のいくつかまたはすべてがなくても本発明を実施できることが、当業者には明らかである。
他の例では、本発明を不必要に分かりにくくすることがないように、周知のプロセスのステップおよび/または構造は、詳細に説明されていない。
ファームの論理仕様および通信モデルを用いて、貪欲型デバイス選択技法(GDST(greedy device selection technique))が使用され、必要なデバイスが選択される。
貪欲型デバイス選択技法(GDST)により、得られる解は、必要なデバイスのランダムな選択により得られる解、または、先着順方法論を使用してデバイスを選択することにより得られる解よりも十分に効率的である。
さらに、貪欲型デバイス選択技法(GDST)は、ツリー階層において可能なすべての単一の置換の評価を必要とせずに、満足な解を得ることができることが有利である。
一例として、6個のコンピュータ、3個のストレージデバイス、および1個のファイアウォールの10個のデバイスのみを必要とするファームについて考える。
この例示的なファームの通信モデルは、各コンピュータが、インターネットおよび任意の利用可能なストレージデバイスのみとデータ伝送できるが、それ以外の任意のコンピュータとはデータ伝送できないことを要求する。
このファームは、1つの中央スイッチと、この中央スイッチの下にある10個の他のスイッチとを有し、これら10個の下位のスイッチのそれぞれが10個のデバイスに接続されるツリー階層から構築されなければならないと仮定する。
これら100個のデバイスのそれぞれは、下位のスイッチを介してそのすぐ隣のデバイスと通信することができ、中央スイッチまでホップを追加して上って、再び下ることによりそれ以外の任意のデバイスと通信することができる。
高速なコンピュータを用いても、すべての置換を探索して完全に最良の解を確認するには、容認できない長い時間を要し、容認できない高い計算電力を必要とすることがある。
貪欲型デバイス選択技法(GDST)は、満足な解を得ることができる一方で、要する時間はずっと少ない。
最悪の場合、上述した例示的なファームウェアに必要なすべてのデバイスの選択に、360万ステップを必要とするが、これは、今日の技術を前提にすると、十分に容認可能な時間および計算制約の範囲内である。
以下に示すアルゴリズムは、図3に示すコンピュータにおいて動作するソフトウェアにより実現される。
本発明の一実施の形態では、貪欲型デバイス選択技法(GDST)は、
1)スイッチ単純化、
2)コスト制限(cost bounding)、および
3)分割貪欲型再帰アルゴリズム(PGRA(partitioned greedy recursion algorithm))
の3つの主なステップを含む。
これらのステップは、図4Aのブロック302、304、および306にそれぞれ示されている。
本発明の別の実施の形態では、貪欲型デバイス選択技法(GDST)は、
1)スイッチ単純化、
2)ニーズベースフィルタリング、
3)コスト制限、および
4)分割貪欲型再帰アルゴリズム(PGRA)
の4つの主なステップを含む。
これらのステップは、図4Bのブロック352、354、356、および358にそれぞれ示されている。
この前提により、選択問題は、可能性のある複数のデバイスについて解を求めることを必要とする問題から、より少ない個数のスイッチについて解を求めることを必要とする問題へと軽減される。
ニーズベースフィルタリングは、同一出願人による同時係属中の「Need-based Filtering for Rapid Selection of Devices in a Tree Topology Network」という発明の名称の出願に説明されている。
この出願は、本明細書と同日付で出願され、参照により本明細書に援用される。
初期解は、論理仕様で指定される必要なすべてのデバイスを含み、任意の方法で選択することができる。
例えば、初期解はランダムに選択することができるし、あるいは、先に述べた先着順方法論を使用して選択することができる。
この初期解は初期上限コストを規定する。
GDSTが、ツリー階層を巡回して可能な解を求めると、その後に提案されるあらゆる解は、実行可能な候補の解とみなされるためには、少なくとも初期上限コストと同程度に効率的でなければならない。
さらなる実施の形態では、GDSTが部分解を求め、当該部分解に関連付けられたコストが現在の上限コストを越える場合には、GDSTは、その部分解を完全に求めることなく、考慮の対象から除去することができる。
このように、GDSTは、可能性のあるあらゆる解を完全に求める必要がないので、計算時間およびメモリの十分な節約を実現することができる。
ツリー全体が巡回された段階で明らかになった解が、選択された解とみなされる。
なお、図4Cにおいて、(A)には、アルゴリズムが英語表記され、(B)には、(A)のアルゴリズムの日本語訳が示されている。
ツリーの最上位ノードから開始して、所与のノードについて、ファームによって必要とされるデバイスを依然として有するすべての子供を列挙する(参照符号372)。
解集合にまだ存在しない親の各子供について、次のステップを実行するループが形成される(参照符号374)。
要求(demand)が満たされるまで、各リソースの可能限り多くのものを取り出す(参照符号376)。
したがって、貪欲型指定である。
同じデバイスタイプの複数の群が存在すると、最小の通信コストを有するものを最初に取り出す(参照符号378)。
次に、この選択(置換)のコストが求められる(参照符号380)。
子ノードの解が再帰的に求められる(参照符号382)。
この置換に関連付けられた通信コストが、現在の上限コストよりも小さい場合には、その置換をソートされたリストに挿入する(参照符号384)。
次に、これまでの最良の解が得られる(参照符号388)。
要求が残っていない場合には、その解が返される(参照符号390)。
その後、ループは次の子供に続けられる(参照符号392)。
図5〜図10は、本発明の一実施の形態による、独創的な分割貪欲型再帰アルゴリズム(PGRA)の詳細なステップを示している。
図5〜図10のオペレーションは、例を参照することにより最も良く理解することができる。
図2の論理仕様(すなわち、1つのファイアウォールが5つのLP2000Rアプリケーションサーバに接続され、これらのLP2000Rアプリケーションサーバが2つのA500データベースサーバに接続される)を有するファームを図1のツリー階層から構築したいものと仮定する。
本明細書の付録Aは、図5〜図10に論述されるステップを参照して例を説明する。
ブロック402では、論理仕様および通信モデルが入力される。
論理仕様は、段数(この例では3段)、デバイスタイプ、ならびに各段のデバイスの個数およびデバイスのタイプを指定する。
通信モデルは、各デバイスまたはデバイスの各タイプから送受信されるトラフィックの量も指定することができる。
ステップ406では、ツリー階層が、ファームのニーズを満たすのに十分なリソースを有するかどうかを確認する初期判断が行われる。
このステップは、全体として、ファームを作成できるようにツリー階層に十分なリソースが存在することを確実にする。
この時点で、効率性はまだ関係せず、ステップ406は、リソースが十分であることを単にチェックするだけである。
リソースが十分でない場合には、適切な警告が生成され(ステップ408)、PGRA方法は終了する。
ステップ410では、ルートノードがラックスイッチまたはデバイスであることの簡単な検査が行われる。
ルートノードがラックスイッチまたは簡単なデバイスである場合には、あるデバイスは、そのスイッチを通過することによりファームの他のデバイスと通信できるので、最も効率的な解がすでに見つけ出されていることになる。
図1を参照して、ツリー階層全体が、仮にスイッチ9002(ルートノードになる)およびその下のデバイスしか含んでいなかったとすると、ルートノード/スイッチを有する解がすでに最も効率的であるので、最も効率的な解について解を求める必要はない(ステップ406は、リソース要件を満足する十分なリソースがツリー階層に存在することをすでに示していることに留意されたい)。
もちろん、ルートノードがデバイである場合(ステップ406は、リソース要件を満足する十分なリソースがツリー階層に存在することをすでに示している)場合には、簡単な解が見つけ出されている。
いずれにしても、本方法は、ステップ412に進んでツリーのルートに解を設定し、その解および解のコストを出力する(ステップ414)。
ステップ415では、SUBCOST(部分コスト)の初期値が0に設定され、変数NODE(ノード)が解のツリーのルートに設定される。
ステップ416では、プロセスSOLVE(解を求める)が呼び出されて、PGRAが見つけ出すことができる最も効率的な解を提供する。
プロセスSOLVEは、本明細書の図6およびその後の図面においてさらに探求される。
プロセスSOLVEによって出力された解は、ブロック418で検査されて、その出力された解がヌルの解であるかどうかが確認される。
ブロック420では、適切なメッセージが生成され、かつ/または表示される。
上限が使用される実施では、プロセスSOLVEは、初期解よりも効率的な解を見つけ出さないので、SOLVEによって出力される解はヌルの可能性がある。
この場合、ブロック420によって出力されるメッセージは、初期解がたまたま勝ち残った解であるという事実を反映することができる。
他方、プロセスSOLVEによって出力された解集合が、(ブロック418の判断により)ヌル集合でない場合には、その解集合がブロック414でそのコストと共に出力される。
図5のブロック416において、プロセスSOLVEが呼び出されて、最初にツリー全体がプロセスSOLVEに渡されることを思い出されたい。
ステップ502では、SUBSOLUTION(部分解)およびPOSSIBILITIES(可能性)がヌルに設定される。
ステップ504では、直接接続されたデバイスが探索される。
直接接続されたデバイスとは、本明細書で使用されるように、検討中のノードに直接的に接続されているデバイスである。
図1を参照して、検討中のノードがルータ2000である場合、直接接続されたデバイスは、3つの負荷分散装置20001、20002、および20003となる。
ルータ2000の下のそれ以外のすべてのデバイスは、3つのスイッチ8001、8002、および8003の1つを介してルータ2000に接続され、したがって直接接続されたデバイスとして分類されない。
同様に、検討中のノードがルータ2001である場合、直接接続されたデバイスは、2つの負荷分散装置20004および20005となる。
ルータ2001の下のそれ以外のすべてのデバイスは、3つのスイッチ9001、9002、および9003の1つを介してルータ2001に接続され、したがって、直接接続されたデバイスとして分類されない。
ブロック504(直接接続されたデバイスの探索)の一実施態様は、本明細書の図7を参照してより詳細に説明される。
ノードが子供を有しない場合には、直接接続されたデバイスの探索を行うプロセスは終了する(ブロック604)。
他方、ノードがさらに子供を有する場合には、ノードの当該子供を通るために一時変数Cが使用される(ブロック606)。
ブロック608では、ノードの子供が調べられて、その子供がデバイスである(例えば、ハブでもなく、スイッチでもなくまたはルータでもない)かどうかが判断される。
ノードの子供がデバイスでない場合(例えば、ノードの子供が、ハブ、スイッチまたはルータである場合)、本方法はブロック602に戻って、ノードの次の子供が存在する場合には、その子供を調べる。
そのデバイスが、ファームを構築するのに必要とされるデバイスでない場合には、この場合も本方法はブロック602に戻って、ノードの次の子供が存在する場合には、その子供を調べる。
その後、本方法はブロック602に戻って、ノードの次の子供が存在する場合にはその子供を調べる。
ノードのすべての子供が調べられると、本方法はブロック602からブロック604に進み、これにより、直接接続されたデバイスを探索するプロセスを終了する。
デバイスがもはや必要でない場合(例えば、ノードの子供がそのノードの直接接続されたデバイスであり、ファームのすべてのデバイスのニーズを満たしていた場合)には、本方法はブロック520に進み、SUBSOLUTIONに戻る。
デバイスがさらに必要とされる場合(すなわち、ノードの子供がそのノードの直接接続されたデバイスであり、ファームのすべてのデバイスのニーズを満たしていなかった場合)には、本方法はブロック508に進み、プロセスPERMUTE(置換)を使用して置換を見つけ出す。
一般的に言えば、高いレベルでは、プロセスPERMUTEはツリーの特定のノードの下にあるすべてのデバイスを探索し、現在の部分解が与えられると、最良の子供のスイッチを再帰的に見つけ出して、解に追加する。
ツリーのルートがプロセスPERMUTEに渡されると、プロセスPERMUTEによって返される解は、プロセスPERMUTEがツリー階層全体から見つけ出すことができる最良の解を表す。
ツリー階層の中間ノード(例えば、スイッチ、ハブ、またはルータ)がプロセスPERMUTEに渡されると、プロセスPERMUTEは、その特定のノードの下にあって、現在の部分解に追加することができる最良の子供のスイッチを再帰的に返す。
プロセスPERMUTEについては、本明細書の図8との関連で後にさらに詳細に説明する。
他方、ブロック508でプロセスPERMUTEによって見つけ出された置換が空でない場合には、本方法はブロック512に進み、その置換が十分なものであるかどうか、すなわち、その置換が部分解に依然として必要とされるすべてのリソースを含むものかどうかを検査する。
十分なものでない場合には、本方法はブロック508に戻り、置換の処理を続けて別の置換を見つけ出す。
他方、ブロック508でプロセスPERMUTEによって見つけ出された置換が十分なものである場合には、本方法は更新された解を返す。
ブロック701において、置換AはSUBSOLUTIONに設定される。
これが最初の置換である場合には、置換Aは、初期値の設定(図6のブロック502)により、ブロック701ではヌルであり、ハブ1101の下の直接接続されたデバイスは存在しない(図6のブロック504)。
ブロック704では、現在のノードがさらに子供を有するかどうかが確認される。
子供を有しない場合には、本方法はブロック750に進む。
ブロック750では、Aは、POSSIBILITIESリストからの最も安価な解となるように設定される。
その後、プロセスはブロック752で終了する。
したがって、本方法はブロック706に進み、ブロック706において、一時変数Cがノードの次の子供に設定される。
ブロック708では、一時変数Cによって表されるノードの子供が試行中の解にすでに存在する場合には、その子供は無視され、本方法はブロック702(ブロック704の前の円によって表される)に戻る。
他方、子ノードが試行中の解にまだ存在しない場合には、本方法はブロック710のプロセスPICK(選択)に進む。
ブロック710では、一時変数Cによって表されるノードの子供は、その下のリソースを使用して、ファームのニーズを貪欲に、すなわちできるだけ多く満たすように試みる。
プロセスPICKは、本明細書の図9を参照して詳細に説明される。
プロセスPICKの結果が空である場合には、本方法はブロック702に戻り、ブロック704において、現在のノードがさらに子供を有するかどうかを確認する。
他方、プロセスPICKによって返された結果が空でない場合には、本方法はブロック714に進み、ブロック714において、ノードの子供(この子供は現在、一時変数Cで表される)がルータであるかどうかが確認される。
ノードの子供がルータである場合には、本方法はブロック716に進み、プロセスSOLVEを再帰的に呼び出す。
この結果が空である場合には、本方法はブロック702に戻る。
他方、プロセスSOLVEの再帰的呼び出しの結果が空でない場合には、本方法はブロック720に進み、ブロック720においてBのコストが計算される。
ブロック722では、部分コストの現在の値とBの新しいコスト(ブロック720からの計算されたコスト)との総和が現在の上限値よりも小さいかどうかが確認される。
この総和が、現在の上限値よりも小さくない場合には、この子供をさらに続ける必要はないので、本方法はブロック702に戻る。
他方、部分コストの現在の値とBの新しいコストとの総和が、現在の上限値よりも小さい場合には、部分解が、それらコストと共に可能性(possibilities)のリストに追加される(ブロック724)。
ブロック730では、Bは、プロセスPICKの結果と等しくなるように設定され、その新しいコストが計算される。
LP2000Rアプリケーションサーバの1つが、まだ不足している状態である。
ルータ2001は、必要とされるすべてのデバイス(すなわち、1つのファイアウォール、5つのLP2000Rアプリケーションサーバおよび2つのA500サーバ)を貪欲に提供することができる。
ブロック724では、これらの解のコストも計算されて、可能性リストに追加される。
ハブ1101にそれ以外の子供は存在しないので、Aは、可能性リストからの最も安価な置換に設定され(ブロック750)、その置換がルータ2001であると判明する。
その後、PERMUTEプロセスは終了し、本方法は図6に戻る。
図6では、Aによって表される解が検査されて、解が空であるかどうかが調べられる(ブロック510)。
図6の残りの部分はすでに説明したので、ここでは繰り返さない。
プロセスPICKでは、所与のデバイスタイプのクラスタの可能な限り大きなものを使用して、ファームのニーズを貪欲に満たし、そのデバイスクラスタ内外へのトラフィックを最小にすることが目的である。
同じタイプおよび同じ通信パターンを有するデバイスの群は、本明細書では「クラスタ」と呼ばれる。
例えば、図2では、ファームは、ファイアウォール、LP200RおよびA500をそれぞれ含む3つのクラスタから構成される。
デバイスのクラスタは通常、他のクラスタとデータ伝送するが、クラスタ内のデバイスは一般に、それら自身の間で通信しない。
したがって、その作用は、最良な解が単一のノードからすべてのリソースを引き出すか、あるいはそれが不可能な場合には、可能な限り最小数のノードからリソースを引き出すものと仮定することにより、問題を局所化することである。
このように、すべての置換を徹底的に試すことが不要になり、かつすべての置換を別のものと比較することが不要になる。
次に、プロセスは各リソースタイプ(例えば、A500サーバ、LP2000Rサーバ、ファイアウォールなど)を通過し、ノードの下の利用可能なリソースを使用して、特定のリソースタイプに関連したすべての要件をできるだけ貪欲に満たすように試みる。
ブロック804では、より多くのリソースタイプが必要とされるかどうかが、ファームの要求から確認される。
より多くのリソースタイプが必要とされる場合には、本方法はブロック806に進み、ブロック806において、一時変数Xが次の必要なリソースタイプに設定される。
ブロック808では、ノードが、ファームによって必要とされる所与のリソースタイプXを当該ノードの下のどこかに有するかどうかが確認される。
有しない場合には、本方法はブロック804に戻り、ブロック804において別のリソースタイプが検査される。
この発見的方法は、満たされていない要求の最大部分を最初に満たすことにより、最適な適合に近づく。
その後、プロセスはブロック810に戻り、ブロック810において、最大の要求を有する、満たされていない残りのタイプXのクラスタが見つけ出される。
その後、本方法はブロック804に戻る。
一般的に言えば、高いレベルにおいて、プロセスCOSTは、特定のノードの下で選択されたデバイスと、そのノード以外の要求される残りのデバイスとの間の通信コスト(すなわち、外部コスト)を求めることにより、その特定のノードの通信コストを求める。
プロセスCOSTは、図8のプロセスPERMUTEと協調的に機能し、その結果、外部コストは、そのノードの下で選択されたデバイスの内部の通信コストに追加されて、特定のノードに関連付けられた総通信コストになる(図8のブロック720、722および724参照)。
したがって、コスト計算は局所化され、階層的であり、また特定のノードの下のデバイスについて計算されたどんなコストも、現在の置換の現在のノードについて計算されたコストに追加されるという意味で累積的でもある。
さらに、各レベルにおいて、最小のコストの解のみが上に渡される。
ブロック904では、現在のノードがスイッチングデバイス(例えば、スイッチ、ハブ、またはルータ)であるかどうかが確認される。
スイッチングデバイスでない場合には、下で選択されたデバイスからそのノードを通じた外部のデバイスへの通信は行われない(現在の置換の選択されたデバイスの集合よりも小さいファームの要求として定義される)。
その場合、プロセスは、ブロック930でその呼び出し側プロセスに戻る。
したがって、ブロック906では、集合OUTSIDEが確認される。
デバイスが、ファームの要求ごとに必要とされるものの、現在のノードの下で選択されたデバイスによって満足されない場合には、それらデバイスは、OUTSIDE集合に存在するとみなされる。
ブロック908では、未処理の任意のクラスタが存在するかどうかどうかが確認される。
存在しない場合には、プロセスは、ブロック930でその呼び出し側プロセスに戻る。
ブロック912では、集合OUTSIDE内にさらにクラスタが存在するかどうかが確認される。
クラスタが存在しない場合には、本方法はブロック902からブロック908に進み、現在のノードの下で選択されたデバイスの集合内の次のクラスタを処理する。
ブロック916では、ブロック910で確認されたクラスタXが、ブロック914で確認されたクラスタYと通信するかどうかが確認される。
これらの2つのクラスタが通信しない場合には、本方法はブロック912に戻り、OUTSIDE集合からの次のクラスタを処理する。
この時点では、プロセスは、有利なことに、現在のノードの下のクラスタに対するOUTSIDEクラスタの正確な位置を必要としないことに留意されたい。
OUTSIDEクラスタが現在のノードの外部にあり、かつ内部クラスタと通信する現在のノードを巡回する必要がある限り、コストを計算することができる。
この特徴は、有利なことに、この階層的で再帰的な技法の計算コストを削減する。
ブロック918の後、本方法はブロック912に戻って、OUTSIDE集合からの次のクラスタを処理する。
本明細書の付録Aは、例示的な図2に指定されたファームが、本明細書の図面で説明された技法を使用して、図1の階層的ツリー構造からどのようにして作成できるのかを説明する。
読者は、本明細書の図面を参考に使用して、付録Aの実施例のステップをトレースするように案内される。
ただし、簡潔にするために、実施例のこのようなステップごとのトレースは、本出願では長々とは続けられない。
初期上限コストによって最初に解に制限を設け、そのコストがその初期上限コストを越えるあらゆる解を却下することによって、可能なすべての置換の半分は統計的に削除される。
さらに、同じ実施の形態または異なる実施の形態のいずれかにおいて、より効率的な候補の解が見つけ出されるにつれて、上限は絶えず修正される。
さらに、同じ実施の形態または異なる実施の形態において、現在の上限コストよりも大きなコストを有する部分解は、その解の完了を要することなく廃棄される。
コスト計算が行われる場合には、そのコスト計算はノードにおいて局所的に行われ、そのノードの下のデバイスについてすでに計算された任意の内部コストが利用されると共に、そのノードの外部の残りのデバイスの正確な位置は配慮されない。
また、ツリー内に深く進むことによってノードの解が再帰的に求められ、そのノードに関して提案された解を現在の最良の候補として受け入れるか、または、提案された解を拒否する再帰的なアプローチの使用により、本方法は、ツリー階層を効率的に通過することが可能になる。
[先着順(FCFS)]
図2を参照して、先着順のコストは、約1,440Mbpsホップである。
このコストは、ファイアウォール(100Mbps)、各アプリケーションサーバLP2000R(それぞれ100Mbps)、および各データベースサーバA500(それぞれ100Mbps)のトラフィック容量に基づいて計算される。
下表A1に、FCFSを使用して選択されたデバイスを表形式で示す。
4ホップ(4/5)*100Mbps+6ホップ(1/5)*100Mbps=440Mbpsホップ
ステップ2:A500サーバからLP2000Rサーバへ:
4ホップ(4/5)*200Mbps+6ホップ(1/5)*200Mbps=880Mbpsホップ
したがって、各VLANについて、出力データ量は入力データ量とほぼ同じであると考えられ、総トラフィック負荷は、2*(440Mbpsホップ+880Mbpsホップ)、つまり2640Mbpsホップである。
さらに、これらのホップは、ネットワークトラフィックにおいてスイッチを共有しない。
したがって、修正されたコストは次のように計算される。
2ホップ(4/5)*100Mbps+4ホップ(1/5)*100Mbps=240Mbpsホップ
修正ステップ2:A500サーバからLP2000Rサーバへ:
2ホップ(4/5)*200Mbps+4ホップ(1/5)*200Mbps=480Mbpsホップ
したがって、修正された総トラフィック負荷は、2*(240Mbpsホップ+480Mbpsホップ)、すなわち1440Mbpsホップである。
図2に関連付けられた論理仕様および通信モデルを使用すると、PGRAは、図1のツリー階層を用いて表A2に示すようなファームを構築する。
下表A2は、PGRAを使用して選択されたデバイスを表形式で示す。
それらのデバイスは、スイッチ9002を介して通信できるので、コストはかからない。
ステップ2:A500サーバからLP2000Rサーバへ:
2ホップ*200Mbps=400Mbpsホップ
これは、FCFSを介して達成されるものよりはるかに効率的である。
初期上限を、FCFSによって与えられる1440Mbpsホップと仮定する。
この例では、ハブ1101の下に直接接続されたデバイスは存在しない。
ハブ1101から開始して、双方のルータの子供を調べる。
各子供は、どれだけの要求を受け付けるかを問われ、各子供はできるだけ貪欲に応答する。
ルータ2000は、リソース別に、以下のものを取り扱うことができることを伝える。
1つのファイアウォール
4つのLP2000Rアプリケーションサーバ(1つは残されている)
2つのA500サーバ
子供について解を求める。
スイッチ8002は、4つのLP2000Rアプリケーションサーバを保持することを伝える。
再帰なし
Costは、ファイアウォールへ出力される80Mbps
ファイアウォールから入力される80Mbps
A500サーバへ出力される160Mbps
A500サーバから入力される160Mbps=480Mbps
保存する。
スイッチ8001は、1つのファイアウォールおよび2つのA500サーバを保持することを伝える。
再帰なし。
Costは、LP2000Rアプリケーションサーバへ出力される100Mbps(ファイアウォール)
LP2000Rアプリケーションサーバから入力される100Mbps(ファイアウォール)
LP2000Rアプリケーションサーバへ出力される200Mbps(A500サーバ)
LP2000Rアプリケーションサーバから入力される200Mbps(A500サーバ)
=600Mbps
保存する。
探索する。
スイッチ8002が最も安価であるので、スイッチ8002を最初に選択し、次に、残りのものを調べる。
スイッチ8001は、残りのすべてのものを保持すると伝える。
選択されたすべての子供の合計は、1080Mbpsである。
ルータ2000のみのCostは、
ファイアウォールからLP2000Rアプリケーションサーバへ20Mbps
LP2000Rアプリケーションサーバに戻される20Mbps
A500サーバからの40Mbps
A500サーバに戻される40Mbps=120Mbps
部分解の総コストは1200Mbpsであり、依然として1つのLP2000Rアプリケーションサーバを必要とする。
保存する。
ルータ2001は、すべてのものを保持することを伝える。
子供について解を求める。
スイッチ9001は、1つのファイアウォールおよび4つのLP2000Rアプリケーションサーバを保持することを伝える。
再帰なし。
Costは、最後のLP2000Rアプリケーションサーバに入力される20Mbpsおよび出力される20Mbps、ならびに、A500サーバに入力される160Mbpsおよび出力される160Mbps=360Mbpsである。
保存する。
スイッチ9002は、1つのファイアウォールおよび5つのLP2000Rアプリケーションサーバを保持することを伝える。
再帰なし。
Costは、A500サーバに入力される200Mbpsおよび出力される200Mbps=400Mbpsである。
保存する。
スイッチ9003は、1つのファイアウォールおよび2つのA500サーバを保持することを伝える。
Costは、100Mbps+100Mbps+200Mbps+200Mbps=600Mbpsである。
保存する。
探索する。
スイッチ9001が、これまでのところ最小のコストであるので、スイッチ9001を最初に試みる。
すべての子供について
すでに解に存在するスイッチ9001を飛ばす。
スイッチ9002により拡大して、1つのLP2000Rアプリケーションサーバを取り出す。
コスト20Mbps+20Mbps+40Mbps+40Mbps=120Mbpsを追加する。
総コスト=360Mbpsベース+120Mbps=480Mbps
可能性(スイッチ9001、スイッチ9002)を保存する。
スイッチ9003により拡大して、2つのA500サーバを取り出す。
追加コスト=200Mbps+200Mbps=400Mbps
総コスト=360Mbpsベース+400Mbps=760Mbps
可能性(スイッチ9001、スイッチ9002)を保存する。
探索する。
現在、スイッチ9002が次に最小のコスト400Mbpsを有するので、スイッチ9002を試みる。
すべての子供について
提供すべきものがないスイッチ9001を飛ばす。
すでに解に存在するスイッチ9002を飛ばす。
スイッチ9003により拡大して、2つのA500サーバを取り出す。
追加コスト=200Mbps+200Mbps=400Mbps
総コスト=400Mbpsベース+400Mbps=800Mbps
[解がここで完了することに留意されたい。]
可能性(スイッチ9002、スイッチ9003)を保存する。
探索する。
480Mbpsのコストで可能性(スイッチ9001、9002)を試みる。
すべての子供について
解にすでに存在するスイッチ9001を飛ばす。
解にすでに存在するスイッチ9002を飛ばす。
スイッチ9003により拡大して、2つのA500サーバを取り出す。
追加コスト=200Mbps+200Mbps=400Mbps
総コスト=480Mbpsベース+400Mbps=880Mbps
[解がここで完了することに留意されたい。]
可能性(スイッチ9001、スイッチ9002、スイッチ9003)を保存する。
探索する
800Mbpsのコストで可能性(スイッチ9002、スイッチ9003)を試みる。
SOLUTION(解)を返す。
すべてのトラフィックは内部のものであるので、ルータ2001の追加トラフィック=0Mbpsを計算する。
解の総コスト=800Mbps
ルータ2001の解を保存する。
探索する。
ルータ2001は最小のコストを有する。
SOLUTION(解)を返す。
また、本発明の方法および装置を実施する多くの代替的な方法が存在することにも留意すべきである。
したがって、添付の特許請求の範囲は、本発明の真の精神および範囲内に入るようなすべての変更形態、置換形態および均等物を含むものとして解釈されることが意図される。
Claims (7)
- ツリートポロジーネットワークにおいて生成されたデバイスの解集合を用いてネットワークファームを作成する方法であって、
前記ファームの論理仕様であって、前記ファームによって必要とされるデバイスタイプの少なくとも1つと、前記デバイスタイプのそれぞれのデバイスの個数とを指定する論理仕様を受け取る(402)ことと、
前記ファームの通信モデルであって、前記ファームのデバイスの予想される帯域幅使用量を指定する通信モデルを受け取る(402)ことと、
前記論理仕様および前記通信モデルに応じて、前記ファームを構築するために前記ツリートポロジーネットワークのデバイスの中でデバイスの解集合を生成することと
を含み、
前記デバイスの解集合を生成することは、
前記ツリートポロジーネットワークのスイッチング素子に対して、分割貪欲型再帰処理を実行(306)して、前記ツリートポロジーネットワークの最上位レベルから開始して、前記ツリートポロジーネットワークの最下位のスイッチング素子レベルに向かって再帰処理を行って、前記ツリートポロジーネットワークの各スイッチング素子レベルにおける最小コストの解を、前記通信モデルを用いて再帰的に確認することと、
前記ツリートポロジーネットワークが前記分割貪欲型再帰処理によって巡回された後に見つけ出された前記論理仕様を完全に満足する最小コストの解を、前記デバイスの解集合として選択することと
を含む
ネットワークファームを作成する方法。 - 前記分割貪欲型再帰処理を実行することの前に、前記ツリートポロジーネットワークに対してスイッチ単純化を実行する(302)こと
をさらに含む請求項1に記載のネットワークファームを作成する方法。 - 初期解から初期上限コストを設定する(304)こと
をさらに含み、
該初期上限コストは、前記初期解のデバイスが使用されて、前記論理仕様および前記通信モデルに従って前記ファームを構築するときの前記初期解の前記デバイスごとの帯域幅使用量に関係し、
前記再帰的に確認することを行っている間に得られるあらゆる可能性のある解は、該可能性のある解に関連付けられた通信コストが前記初期上限コストを越える場合には、さらに検討することから除外される
請求項1に記載のネットワークファームを作成する方法。 - 前記再帰的に確認することは、
前記ツリートポロジーネットワークの特定のスイッチング素子において再帰処理を行っている間に、前記特定のスイッチング素子の下にあるリソースを使用して、前記ファームによって必要とされるリソースのできるだけ多くのものを貪欲に満たす(376)こと
を含む請求項1に記載のネットワークファームを作成する方法。 - 前記特定のスイッチング素子の下にある前記リソースは、
前記特定のスイッチング素子に直接的に接続される直接接続されたデバイス(504)と、
前記特定のスイッチング素子の子供のスイッチング素子の下にあるリソースと
を含む
請求項4に記載のネットワークファームを作成する方法。 - 前記再帰的に確認することは、
前記特定のスイッチング素子の下に同じデバイスタイプの複数の群が存在する場合に、最小の通信コストを有する群を選択する(378)ことであって、それによって、前記ファームによって必要とされる前記リソースを貪欲に満たす、最小の通信コストを有する群を選択すること
をさらに含む
請求項4に記載のネットワークファームを作成する方法。 - 前記分割貪欲型再帰処理の実行中に得られる可能性のある解は、ソートされたリストに保持され、
該ソートされたリストの前記可能性のある解のうち、他の可能性のある解に対して最小の通信コスト(388)を有する可能性のある解は、前記ツリートポロジーネットワークが巡回された後の前記デバイスの解集合として選択される
請求項4に記載のネットワークファームを作成する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/327,356 US7310343B2 (en) | 2002-12-20 | 2002-12-20 | Systems and methods for rapid selection of devices in a tree topology network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004208297A JP2004208297A (ja) | 2004-07-22 |
JP4469168B2 true JP4469168B2 (ja) | 2010-05-26 |
Family
ID=29780456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003414287A Expired - Lifetime JP4469168B2 (ja) | 2002-12-20 | 2003-12-12 | ツリートポロジーネットワークのデバイスの高速選択システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7310343B2 (ja) |
JP (1) | JP4469168B2 (ja) |
DE (1) | DE10342310A1 (ja) |
GB (1) | GB2396991B (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313101B2 (en) * | 2002-12-20 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Need-based filtering for rapid selection of devices in a tree topology network |
US7861247B1 (en) | 2004-03-24 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Assigning resources to an application component by taking into account an objective function with hard and soft constraints |
US7865582B2 (en) * | 2004-03-24 | 2011-01-04 | Hewlett-Packard Development Company, L.P. | System and method for assigning an application component to a computing resource |
US20050240874A1 (en) * | 2004-04-22 | 2005-10-27 | Alcatel | Bookmarks used for map navigation |
US8281360B2 (en) * | 2006-11-21 | 2012-10-02 | Steven Adams Flewallen | Control of communication ports of computing devices using policy-based decisions |
CA2674613C (en) * | 2007-01-24 | 2016-05-31 | American Power Conversion Corporation | System and method for evaluating equipment rack cooling performance |
US20090138313A1 (en) * | 2007-05-15 | 2009-05-28 | American Power Conversion Corporation | Methods and systems for managing facility power and cooling |
KR101210273B1 (ko) * | 2008-12-18 | 2012-12-10 | 한국전자통신연구원 | 온칩 네트워크 토폴로지 합성 방법 |
US9110860B2 (en) * | 2009-11-11 | 2015-08-18 | Mellanox Technologies Tlv Ltd. | Topology-aware fabric-based offloading of collective functions |
US8811417B2 (en) * | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
US20110161236A1 (en) * | 2009-12-29 | 2011-06-30 | Sharad Singhal | System and method for negotiating a sale |
US8825451B2 (en) * | 2010-12-16 | 2014-09-02 | Schneider Electric It Corporation | System and methods for rack cooling analysis |
JP5588936B2 (ja) * | 2011-07-19 | 2014-09-10 | 日本電信電話株式会社 | 通信装置及びネットワーク管理方法及びプログラム |
AU2011383606A1 (en) | 2011-12-22 | 2014-07-17 | Schneider Electric It Corporation | System and method for prediction of temperature values in an electronics system |
CN104137105B (zh) | 2011-12-22 | 2017-07-11 | 施耐德电气It公司 | 关于瞬时事件对数据中心中的温度的影响分析 |
US10277485B1 (en) * | 2015-08-21 | 2019-04-30 | Amazon Technologies, Inc. | Network device testing using non-destructive techniques |
US10284383B2 (en) | 2015-08-31 | 2019-05-07 | Mellanox Technologies, Ltd. | Aggregation protocol |
US10521283B2 (en) | 2016-03-07 | 2019-12-31 | Mellanox Technologies, Ltd. | In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US11625393B2 (en) | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
EP3699770A1 (en) | 2019-02-25 | 2020-08-26 | Mellanox Technologies TLV Ltd. | Collective communication system and methods |
CN110620686B (zh) * | 2019-09-05 | 2020-11-10 | 西安交通大学 | 一种基于复杂通信网络的路由节点选取方法 |
US11750699B2 (en) | 2020-01-15 | 2023-09-05 | Mellanox Technologies, Ltd. | Small message aggregation |
US11252027B2 (en) | 2020-01-23 | 2022-02-15 | Mellanox Technologies, Ltd. | Network element supporting flexible data reduction operations |
CN111695223B (zh) * | 2020-06-11 | 2023-03-03 | Ut斯达康通讯有限公司 | 一种网络拓扑布局方法及系统 |
US11876885B2 (en) | 2020-07-02 | 2024-01-16 | Mellanox Technologies, Ltd. | Clock queue with arming and/or self-arming features |
US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
CN113051270B (zh) * | 2021-03-26 | 2023-05-12 | 合安科技技术有限公司 | 基于异形结构树的分组方法、装置、电子设备及存储介质 |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991018462A1 (en) | 1990-05-18 | 1991-11-28 | The University Of Toronto Innovations Foundation | High bandwidth fault tolerant lan |
AU2001241895A1 (en) | 2000-03-01 | 2001-09-12 | Sun Microsystems, Inc. | System and method for efficiently broadcasting information among nodes in a digital data network |
US6519610B1 (en) * | 2000-09-01 | 2003-02-11 | Novell, Inc. | Distributed reference links for a distributed directory server system |
US6839541B2 (en) | 2001-12-04 | 2005-01-04 | Illinois Institute Of Technology | Technique for establishing a virtual backbone in an ad hoc wireless network |
US6999966B2 (en) | 2002-04-23 | 2006-02-14 | International Business Machines Corporation | Content management system and methodology for implementing a complex object using nested/recursive structures |
US7047510B1 (en) * | 2003-04-23 | 2006-05-16 | Cadence Design Systems, Inc. | Method and system for partitioning an integrated circuit design |
US7499912B2 (en) * | 2003-10-23 | 2009-03-03 | Hywire Ltd. | Search method using coded keys |
-
2002
- 2002-12-20 US US10/327,356 patent/US7310343B2/en not_active Expired - Fee Related
-
2003
- 2003-09-12 DE DE10342310A patent/DE10342310A1/de not_active Withdrawn
- 2003-12-04 GB GB0328167A patent/GB2396991B/en not_active Expired - Fee Related
- 2003-12-12 JP JP2003414287A patent/JP4469168B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2396991B (en) | 2005-11-09 |
GB0328167D0 (en) | 2004-01-07 |
JP2004208297A (ja) | 2004-07-22 |
DE10342310A1 (de) | 2004-07-15 |
US20040120331A1 (en) | 2004-06-24 |
GB2396991A (en) | 2004-07-07 |
US7310343B2 (en) | 2007-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4469168B2 (ja) | ツリートポロジーネットワークのデバイスの高速選択システムおよび方法 | |
US9014201B2 (en) | System and method for providing deadlock free routing between switches in a fat-tree topology | |
JP4964735B2 (ja) | ネットワークシステム、管理計算機、及びフィルタ再構成方法 | |
JP3938582B2 (ja) | 仮想lan構築装置 | |
KR100878109B1 (ko) | 분산형 프로세싱 네트워크의 토폴로지 발견 방법 및 시스템 | |
US7561534B2 (en) | Methods of network routing having improved resistance to faults affecting groups of links subject to common risks | |
JP5651756B2 (ja) | ネットワークトポロジー要求を物理ネットワークにマッピングする方法及び通信システム | |
US20100027442A1 (en) | Constructing scalable overlays for pub-sub with many topics: the greedy join-leave algorithm | |
US7382738B2 (en) | Method and apparatus for computing metric information for abstracted network links | |
US6992988B2 (en) | System and method for deadlock-free routing on arbitrary network topologies | |
CN108141416A (zh) | 一种报文处理方法、计算设备以及报文处理装置 | |
KR101754618B1 (ko) | 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치 | |
CN111147372A (zh) | 下行报文发送、转发方法和装置 | |
US7152113B2 (en) | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies | |
CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
US7313101B2 (en) | Need-based filtering for rapid selection of devices in a tree topology network | |
US8842575B2 (en) | Method and apparatus for providing a non-overlapping ring-mesh network topology | |
CN107995047A (zh) | 一种数据中心的拓扑组网方法及装置 | |
US11881997B1 (en) | Determining reorder commands for remote reordering of policy rules | |
KR102287520B1 (ko) | 계층화된 도메인 기반의 네트워크 구조에서 라우터의 도메인 라우팅 테이블 관리 방법 | |
US9197542B2 (en) | Systems and methods of network reconfiguration | |
CN118612140A (zh) | 数据传输方法、装置、计算机设备、存储介质及程序产品 | |
Rai et al. | A new heuristic approach for minimum connected dominating set in adhoc wireless networks | |
CN114827008A (zh) | 一种最短路径的确定方法以及相关设备 | |
Holopainen et al. | Tackling the delay-cost and time-cost trade-offs in computation of node-protected multicast tree pairs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091117 |
|
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: 20100201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100226 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |