特許第6608689号(P6608689)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
特許6608689非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム
<>
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000002
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000003
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000004
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000005
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000006
  • 特許6608689-非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6608689
(24)【登録日】2019年11月1日
(45)【発行日】2019年11月20日
(54)【発明の名称】非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20191111BHJP
【FI】
   H04L12/28 200M
【請求項の数】17
【全頁数】13
(21)【出願番号】特願2015-239587(P2015-239587)
(22)【出願日】2015年12月8日
(65)【公開番号】特開2016-119661(P2016-119661A)
(43)【公開日】2016年6月30日
【審査請求日】2018年8月17日
(31)【優先権主張番号】14/578581
(32)【優先日】2014年12月22日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ジョン、ルワーズ
(72)【発明者】
【氏名】ウィリアム、トッド、ボイド
(72)【発明者】
【氏名】ドナルド、ジー、グライス
(72)【発明者】
【氏名】ジョージ、チョチア
【審査官】 野元 久道
(56)【参考文献】
【文献】 特開平11−284691(JP,A)
【文献】 特開2013−143732(JP,A)
【文献】 国際公開第2014/117143(WO,A1)
【文献】 特表2016−513382(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
ネットワークについてのリンク接続情報を前記ネットワーク中の各ノードに配布するステップと、
各ノードを前記ネットワーク中の別のノードとペアにしてペア・ノードを提供するステップと、
指数バックオフ・アルゴリズムに従って前記ペア・ノードについて性能メトリックをテストするステップであって、前記指数バックオフ・アルゴリズムが前記ペア・ノード間での性能メトリック・テストの発生を遅延させ、再テストで許容可能な性能メトリック測定値が生じた後はもはやペアがテストを開始しないステップと、
前記ネットワークについての性能報告を生成するステップとを含む方法。
【請求項2】
前記ネットワークについての前記リンク接続情報を受け取るステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記リンク接続情報に基づいて接続性グラフを構築するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記接続性グラフが、リンクによって前記ネットワーク中のどのノードが接続されておりそれらのノードをどのタイプのリンクが接続しているかを指定する、請求項3に記載の方法。
【請求項5】
前記性能報告が、前記ネットワーク中の前記ペア・ノードについての前記テストされた性能メトリックに関する情報を含む、請求項1に記載の方法。
【請求項6】
前記性能メトリックが帯域幅またはレイテンシを含む、請求項1に記載の方法。
【請求項7】
各ノードを異なるノードと再度ペアにして新しいペア・ノードを提供し、前記新しいペア・ノードについて前記性能メトリックをテストするステップをさらに含む、請求項1に記載の方法。
【請求項8】
性能メトリックを分析するためのコンピュータ・プログラムであって、コンピュータに、
ネットワークについてのリンク接続情報を前記ネットワーク中の各ノードに配布するステップと、
各ノードを前記ネットワーク中の別のノードとペアにするステップと、
指数バックオフ・アルゴリズムに従って前記ネットワーク中の各ノード・ペアについて性能メトリックをテストするステップであって、前記指数バックオフ・アルゴリズムが前記ペア・ノード間での性能メトリック・テストの発生を遅延させ、再テストで許容可能な性能メトリック測定値が生じた後はもはやペアがテストを開始しない前記ステップと、
前記ネットワークについての性能報告を生成するステップと、を実行させる、コンピュータ・プログラム。
【請求項9】
前記コンピュータに、前記ネットワークについての前記リンク接続情報を受け取るステップを実行させる、請求項に記載のコンピュータ・プログラム。
【請求項10】
前記コンピュータに、前記リンク接続情報に基づいて接続性グラフを構築するステップを実行させる、請求項に記載のコンピュータ・プログラム。
【請求項11】
前記性能報告が、前記ネットワーク中の各ノード・ペアについての前記テストされた性能メトリックに関する情報を含む、請求項に記載のコンピュータ・プログラム。
【請求項12】
前記性能メトリックが帯域幅またはレイテンシを含む、請求項に記載のコンピュータ・プログラム。
【請求項13】
コンピュータ・システムであって、
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶媒体と、
前記コンピュータ・プロセッサのうちの少なくとも1つによって実行されるように前記コンピュータ可読記憶媒体に記憶されたプログラム命令とを備え、前記コンピュータ・システムが前記プログラム命令を実施するように構成され、前記プログラム命令が、
ネットワークについてのリンク接続情報を前記ネットワーク中の各ノードに配布するための命令と、
各ノードを前記ネットワーク中の別のノードとペアにするための命令と、
指数バックオフ・アルゴリズムに従って前記ネットワーク中の各ノード・ペアについて性能メトリックをテストするための命令であって、前記指数バックオフ・アルゴリズムが前記ペア・ノード間での性能メトリック・テストの発生を遅延させ、再テストで許容可能な性能メトリック測定値が生じた後はもはやペアがテストを開始しない前記命令と、
前記ネットワークについての性能報告を生成するための命令とを含む、コンピュータ・システム。
【請求項14】
前記プログラム命令が、前記ネットワークについての前記リンク接続情報を受け取るための命令を含む、請求項13に記載のコンピュータ・システム。
【請求項15】
前記プログラム命令が、前記リンク接続情報に基づいて接続性グラフを構築するための命令を含む、請求項14に記載のコンピュータ・システム。
【請求項16】
前記性能報告が、前記ネットワーク中の各ノード・ペアについての前記テストされた性能メトリックに関する情報を含む、請求項13に記載のコンピュータ・システム。
【請求項17】
前記性能メトリックが帯域幅またはレイテンシを含む、請求項13に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ネットワーク性能の分野に関し、より詳細には、非同種ネットワーク内でリンク性能をテストすることに関する。
【背景技術】
【0002】
コンピュータ・ネットワークに依拠して扱われるクリティカルなタスクの全てを考えると、これらのネットワークを効率的かつ効果的にテストできることは重要な機能である。ネットワーキング・ニーズが増加し続けるのに伴い、コンピューティング環境におけるネットワーク接続は、ますます複雑化し非同種になりつつある。ネットワーク性能メトリックを分析するための既存のネットワーク・テスト方法としては、Intel MPI Benchmarksなどの標準的なベンチマーク・スイートがある。これらの方法は、リンク性能を非同種ネットワーキング環境のフレームワーク中で特徴付けようとしない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、非同種ネットワーク内でリンク性能をテストするための方法、コンピュータ・プログラム、およびコンピュータ・システムを提供する。
【課題を解決するための手段】
【0004】
本明細書で開示されるように、性能メトリックを分析するための、コンピュータによって実行される方法は、リンク接続情報をネットワーク中の各ノードに配布するステップと、各ノードをネットワーク中の別のノードとペアにしてペア・ノードを提供するステップと、ペア・ノードについて性能メトリックをテストするステップと、ネットワークについての性能報告を生成するステップとを含む。この方法はさらに、ネットワークについてのリンク接続情報を受け取るステップも含み得る。この方法はさらに、受け取られたリンク接続情報に基づいて接続性グラフを構築するステップも含み得る。この方法を使用して、非同種ネットワーク内でリンク性能をテストすることができる。対応するコンピュータ・システムおよびコンピュータ・プログラムもまた、本明細書で開示される。
【図面の簡単な説明】
【0005】
図1】本発明の一実施形態による、ネットワーク・システム環境を示す機能ブロック図である。
図2】本発明の一実施形態による、ネットワーク・システム環境を示す機能ブロック図である。
図3】本発明の一実施形態による、ネットワーク・システム環境を示す機能ブロック図である。
図4】本発明の一実施形態による、ネットワーク性能テスト方法を描くフローチャートである。
図5】本発明の一実施形態による、リンク・テスト方法を描く流れ図である。
図6】本明細書に開示される方法を実行するのに適したコンピューティング装置(すなわちコンピュータ)の一例を描くブロック図である。
【発明を実施するための形態】
【0006】
図1〜3は、本発明の一実施形態による、コンピューティング・サーバ100を示す機能ブロック図である。描かれるコンピューティング・サーバ100は、本明細書で開示されるネットワーク性能テスト方法を使用してテストできるネットワーキング環境の例である。
【0007】
図1は、2つのスーパーノード105を含むコンピューティング・サーバ100の一部を描く機能ブロック図である。コンピューティング・サーバは複数のスーパーノードを含むことができるが、スーパーノードにわたる接続を例示するには、2つで十分である。描かれるように、各スーパーノード105は4つのドロワ110からなり、各ドロワ110は8つのノード120を含む。本明細書において、用語「ノード」は、メモリ/CPUおよびネットワーク・インタフェース・リソースの、含まれるセットを指す。130aの符号が付いた図1中の点線は、スーパーノード105a中のノードとスーパーノード105b中のノードとの間のリンクを表す。異なるスーパーノード中のノード間のリンクは、Dリンクと呼ぶことができる。
【0008】
図2は、コンピューティング・サーバ100内のスーパーノード105を描く機能ブロック図である。スーパーノードは4つのドロワ110を含み、各ドロワは8つのノード120を含む。130bの符号が付いた図2中の点線は、あるドロワ110a中のノード120と、別のドロワ110b、110c、または110d中のノード120との間のリンクを表す。これらのリンクは、同じスーパーノード内にあるが同じドロワ内にない2つのノードを接続する。同じスーパーノード内の異なるドロワ中のノード間のリンクは、Lリモート・リンクと呼ぶことができる。
【0009】
図3は、スーパーノード105内のドロワ110の機能ブロック図である。ドロワは、8つのノード120を含む。130cの符号が付いた図3中の点線は、同じドロワ内のノード間のリンクを表す。描かれるように、ドロワ中の各ノードは、同じドロワ中の他の全てのノードに接続される。同じドロワ中のノード間のリンクは、Lローカル・リンクと呼ぶことができる。
【0010】
コンピューティング・サーバ100は、非同種接続を含むシステムを表す。前述のLローカル・リンク、Lリモート・リンク、およびDリンクは全て、異なる特性を有する接続であり、これらの異なる特性は、異なるレイテンシ特性および帯域幅特性につながる。加えて、各ノード・ペアは、それらの間に専用のDリンクを有しない場合があり、したがって、共有されることが多い可能性のあるこれらのDリンクは、同時にテストしようとする複数のノード・ペアからの競合のせいで、テストするのが特に困難である可能性がある。本明細書で開示される方法は、可変遅延に関するアルゴリズムを使用してリンク競合をなくす。リンク競合は、リンクが共有される可能性のあるどのような非同種システムにおいても関係する問題であり、したがって、この方法は、描かれるコンピューティング・サーバ100の域を超えたシステムのテストにも適用可能である。
【0011】
図4は、本発明の一実施形態による、ネットワーク性能テスト方法200を描くフローチャートである。描かれるように、この方法は、リンク接続情報を受け取るステップ(210)と、リンク接続情報をネットワーク中の各ノードに配布するステップ(220)と、各ノードをネットワーク中の別のノードとペアにする(230)ステップとそれに続いて各ノード・ペアについて性能メトリックをテストするステップ(240)の反復と、ネットワークについての性能報告を生成するステップ(250)とを含む。この方法を使用して、非同種ネットワーク内でリンク性能をテストすることができる。
【0012】
リンク接続情報を受け取るステップ(210)は、ネットワーク内のノードがどのように接続されているかに関する情報を受け取るステップを含み得る。このリンク接続情報は、リンクごとのエンドポイントIDの形でもたらされる可能性があり、エンドポイントIDは、そのリンクによってどのノードが接続されているかを識別する。いくつかの実施形態では、リンク接続情報はまた、どのタイプのリンクがノードを接続しているかに関する情報も含む。例えば、図1〜3のコンピューティング・サーバの場合、リンク接続情報は、各リンクがLローカル・リンクであるかLリモート・リンクであるかDリンクであるかを含むことができる。いくつかの実施形態では、リンク接続情報を受け取ることと共に、接続性グラフが構築されてリンク接続情報が反映される。接続性グラフは、どのノードがどの種類のリンクを介して相互に接続されているかを示すことができる。
【0013】
リンク接続情報をネットワーク中の各ノードに配布するステップ(220)は、リンク接続情報をネットワーク中の個々のノードに送るステップを含み得る。各ノードがリンク接続情報を有するようになると、各ノードは、それ自体がネットワーク中のどのノードにどのリンクを介して接続されているかに関する情報を有する。ここから、リンク性能テスト・ステップに向けてノードをペアにすることができる。接続性グラフが構築された場合は、接続性グラフがネットワーク中の個々のノードに配布されてよい。
【0014】
各ノードをネットワーク中の別のノードとペアにするステップ(230)は、テストのために共にペアにされるノードを選択するステップを含み得る。ノードがペアにされると、各ノード・ペアを接続するリンクに対して接続性能テストを実施することができる。ペアにするステップは、複数回行うことができ(言い換えれば、一連のペアにするステップを完全に反復して、あり得る全てのペアのテストを可能にすることができる)、最後には、各ノードが、接続され得る全ての他のノードとペアにされる。各ノードを他のあらゆるノードとペアにするこの方法は、ネットワーク内の全てのリンクの包括的なテストを確実にする。
【0015】
各ノード・ペアについて性能メトリックをテストするステップ(240)は、ペアにされた2つのノード間の各接続の性能に影響を与える可能性のある特性をテストするステップを含み得る。性能メトリックは、システム内の全ての可能なノード・ペアについてテストされてよい。図5に、テスト動作240の一例に関する追加の詳細を示す。いくつかの実施形態では、最初のノード・ペアがテストされると、プロセスはペアにするステップ230に戻り、したがって、各ノードを異なるノードと再度ペアにすることができ、新しいノード・ペアをテストして、ネットワーク中のリンクの包括的なテストを確実にすることができる。
【0016】
ネットワークについての性能報告を生成するステップ(250)は、リンクごとの性能メトリック測定値を収集してまとめるステップを含み得る。これらの性能メトリック測定値は全て、データセットの形でユーザに提示することができる。一実施形態では、性能報告は、性能測定値に基づいて不適当と見なされたリンクのみについての情報を含む。この報告は、性能基準未満で動作していると識別されたリンクに対処できるように、ユーザまたはシステムが消費することができる。
【0017】
図5は、本発明の一実施形態による、ネットワークについてのリンク・テスト方法300の動作ステップを描く流れ図である。描かれるように、この方法は、各ノードに対するパートナーを選択するステップ(310)と、2つのノードを接続するリンクにわたって性能メトリックを測定するステップ(320)と、追加の測定を行う必要があるかどうか判定するステップ(330)と、最初の測定が不十分であった場合に、バックオフ遅延を実施(340)して性能メトリックを再測定するステップと、テストされるべきノード・ペアが他にもあるかどうか判定するステップ(350)とを含む。リンク・テスト方法300は、ネットワーク内の全ての接続に対して包括的なテストが実施されることを確実にする。
【0018】
各ノードに対するパートナーを選択するステップ(310)は、ノードを別のノードとペアにするステップを含み得る。このペアにするステップは、テストされるべき特定のリンク、すなわちペア・ノードを接続するリンクを、隔離するために実行される。ペアにするステップは、ノード・ペアのテストが終了するたびに繰り返され、前にペアにされた2つのノードは、テストに向けて異なるリンクを隔離するために、異なるノードとペアにされる必要がある。いくつかの実施形態では、より効率的なテストを促進するためにリンクを特定の順序でテストするように、ノードをペアにすることができる。例えば、図1〜3のコンピューティング・サーバ100の場合、全てのLローカル・リンクを最初にテストし、それに続いてLリモート・リンク、次いでDリンクをテストすることができる。
【0019】
ペア・ノードを接続するリンクにわたって性能メトリックを測定するステップ(320)は、標準的な帯域幅またはレイテンシ測定方法を使用してリンクの性能をテストするステップを含み得る。例えば、帯域幅測定を実施する典型的な一手法は、「大きい」ファイル、または割り振られたメモリの領域の内容を、あるノードから別のノードに転送し、ファイルの転送またはコピーを完了するのに要した時間を測定するものである。次いで、ファイル・サイズを転送の継続時間で割ることによって帯域幅が計算されて、1秒当たりのメガビット、キロビット、またはビットで表されたスループットが得られる。同様に、標準的なレイテンシ測定方法を使用してレイテンシを測定することができる。これらの性能測定値は、閲覧または分析されるように、記録されてよい。
【0020】
追加の測定を行う必要があるかどうか判定するステップ(330)は、リンクについての測定された性能メトリックを最小許容値と比較するステップを含み得る。例えば、帯域幅についてのこの最小許容値は、ネットワークが遭遇する可能性の高いデータフローを扱える最小帯域幅を表すことができ、事前設定済みの値とすることができる。いくつかの実施形態では、異なる種類のリンク(コンピューティング・サーバ100の場合のLリモート・リンクおよびLローカル・リンクなど)が、満たす必要のある異なるベンチマーク値を有する場合がある。リンクについての性能メトリックが十分である場合は、方法は、テストされるべきノード・ペアが他にもあるかどうか判定するステップ(350)に進む。リンクについての性能メトリックが不十分である場合は、方法は、バックオフ遅延を実施するステップ(340)に進む。追加の測定を行う必要があるかどうか判定するステップはまた、リンクが所定の最大回数テストされたかどうか判定するステップことも含み得る。最大値は値「X」に設定することができ、したがって、リンクの性能がX回測定されて毎回不十分な測定値を生じた場合は、リンクが接続するペア・ノードはテストの開始を停止し、リンクは障害ありとして報告される。
【0021】
最初の測定値が不十分であった場合にバックオフ遅延を実施(340)して性能メトリックを再測定するステップは、指数バックオフ・アルゴリズムを使用して可変遅延を実施して、性能メトリック・テストの実施(occurrences)をずらすステップを含み得る。指数バックオフは、許容可能なレートを段階的に見つけるために、フィードバックを使用して何らかのプロセスのレートを乗法的に低減するアルゴリズムである。指数バックオフを実行して、各ノード・ペアが再びテストされるまでに各ノード・ペアが遅延する時間量が決定される。一実施形態では、このアルゴリズムは、リンクがテストされた回数に直接関係するものであってよい。リンクがテストされた回数が多いほど、次の(another)テストが開始されるまでの遅延が長くなる。いくつかの実施形態では、ランダムな要素をアルゴリズムに導入して、同時にテストされるリンクの数が最小化されるように遅延時間がずらされることを確実にすることができる。バックオフ遅延が実施された後、描かれる方法は、測定動作320に戻り、許容可能な性能メトリックが満たされるまで継続する。許容可能な性能メトリックが満たされると、ノード・ペアはもはやテストを開始せず、方法は、テストされるべきノード・ペアが他にもあるかどうか判定するステップ(350)に進む。
【0022】
テストされるべきノード・ペアが他にもあるかどうか判定するステップ(350)は、ノード・ペアがテストを完了し、ペアにわたる性能メトリックが最小許容値を超えた後で、行われる。テストされるべきノード・ペアが他にもあるかどうか判定するステップは、ペアにされる2つのノードがテストのためにまだペアにされていないようなノードがあるかどうか識別するステップを含み得る。テストされるべきノード・ペアが他にもある場合は、方法は、選択動作310にループバックする。テストされるべきノード・ペアがそれ以上ない場合は、テスト方法300は終了する。
【0023】
図6に、本発明の例示的な一実施形態による、コンピュータ400のコンポーネントのブロック図を示す。図6は、一実装形態の例示のみを提供するものであり、種々の実施形態を実現できる環境に関するどのような限定も含意しないことを理解されたい。描かれる環境に対して多くの修正を加えることができる。
【0024】
描かれるように、コンピュータ400は通信ファブリック402を備え、通信ファブリック402は、コンピュータ・プロセッサ404、メモリ406、永続的記憶装置408、通信ユニット412、および入出力(I/O)インタフェース414の間の通信を提供する。通信ファブリック402は、プロセッサ(マイクロプロセッサ、通信およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、ならびにシステム内の他の任意のハードウェア・コンポーネントの間でデータまたは制御情報あるいはその両方を渡すように設計された、任意のアーキテクチャを用いて実現されてよい。例えば、通信ファブリック402は、1つまたは複数のバスを用いて実現されてよい。
【0025】
メモリ406および永続的記憶装置408は、コンピュータ可読記憶媒体である。この実施形態では、メモリ406は、ランダム・アクセス・メモリ(RAM)416およびキャッシュ・メモリ418を含む。一般に、メモリ406は、任意の適切な揮発性または不揮発性コンピュータ可読記憶媒体を含むことができる。
【0026】
永続的記憶装置408には、メモリ406のうちの1つまたは複数のメモリを介してそれぞれのコンピュータ・プロセッサ404のうちの1つまたは複数によってアクセスまたは実行されるかあるいはその両方がなされるように、1つまたは複数のプログラムが記憶されてよい。この実施形態では、永続的記憶装置408は、磁気ハード・ディスク・ドライブを含む。別法として、または磁気ハード・ディスク・ドライブに加えて、永続的記憶装置408は、固体ハード・ドライブ、半導体記憶デバイス、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROM)、フラッシュ・メモリ、または、プログラム命令もしくはディジタル情報を記憶できる他の任意のコンピュータ可読記憶媒体を含むことができる。
【0027】
永続的記憶装置408によって使用される媒体はまた、取外し可能であってもよい。例えば、取外し可能ハード・ドライブを永続的記憶装置408に使用することができる。他の例としては、光学および磁気ディスク、サム・ドライブ、ならびにスマート・カードがあるが、これらは、やはり永続的記憶装置408の一部である別のコンピュータ可読記憶媒体に転送されるように、ドライブに挿入される。
【0028】
通信ユニット412は、これらの例では、他のデータ処理システムまたはデバイスとの通信を可能にする。これらの例では、通信ユニット412は、1つまたは複数のネットワーク・インタフェース・カードを含む。通信ユニット412は、物理通信リンクとワイヤレス通信リンクとのいずれかまたは両方の使用を介して、通信を提供することができる。
【0029】
I/Oインタフェース414は、コンピュータ400に接続され得る他のデバイスとの間で、データの入出力を可能にする。例えば、I/Oインタフェース414は、キーボード、キーパッド、タッチ・スクリーン、または他の何らかの適切な入力デバイス、あるいはそれらの全てなど、外部デバイス420への接続を提供することができる。外部デバイス420はまた、例えば、サム・ドライブ、ポータブル光学または磁気ディスク、およびメモリ・カードなど、ポータブル・コンピュータ可読記憶媒体も含むことができる。本発明の実施形態を実践するのに使用されるソフトウェアおよびデータは、このようなポータブル・コンピュータ可読記憶媒体に記憶されてよく、I/Oインタフェース414を介して永続的記憶装置408にロードされてよい。I/Oインタフェース414はまた、表示装置422にも接続する。
【0030】
表示装置422は、データをユーザに対して表示するためのメカニズムを提供し、例えばコンピュータ・モニタであってよい。
【0031】
本明細書に記載のプログラムは、本発明の特定の実施形態でそれらが実装される応用例に基づいて識別される。しかし、本明細書におけるどのような特定のプログラム術語も便宜的に使用されるにすぎず、よって、本発明は、そのような術語によって識別または含意されるかあるいはその両方がなされるいずれか特定の応用例のみでの使用に限定されるべきでないことを理解されたい。
【0032】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の中の各ブロックは、モジュール、セグメント、またはコードの一部を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。例えば、関係する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施するかまたは専用ハードウェアおよびコンピュータ命令の組合せを実施する、専用ハードウェアベースのシステムによって実現できることにも気付くであろう。
【0033】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの全てとすることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0034】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持および記憶できる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、以下のものに限定されないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取専用メモリ(CD−ROM)、ディジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にエンコードされるデバイス(命令が記録された、パンチカード、または溝の中の隆起構造など)、およびこれらの任意の適切な組合せを含む。コンピュータ可読記憶媒体は、本明細書においては、電波もしくは他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルの中を通る光パルス)、またはワイヤを介して伝送される電気信号などの、一時的な信号自体と解釈されるべきではない。
【0035】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてよく、あるいは、ネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらの全て)を介して外部コンピュータまたは外部記憶デバイスにダウンロードされてよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの全てを含むことができる。各コンピューティング/処理デバイス中の、ネットワーク・アダプタ・カードまたはネットワーク・インタフェースが、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶されるようにコンピュータ可読プログラム命令を転送する。
【0036】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データであってよく、または、Smalltalk(R)やC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つもしくは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードとオブジェクト・コードとのいずれかであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行されるか、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行され部分的にリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行される場合がある。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを使用してインターネット経由で)行われてもよい。いくつかの実施形態では、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含めた電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行することができる。
【0037】
本明細書では、本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート説明またはブロック図あるいはその両方に関して述べている。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ可読プログラム命令によって実現できることは理解されるであろう。
【0038】
コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現する手段をもたらすように、これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを生み出すことができる。また、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為の態様を実現する命令を含む製造品を構成するように、これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの全てに、特定の方式で機能するよう指示することができる。
【0039】
また、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現するように、コンピュータ実装プロセスを生み出すべく、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることができる。
【0040】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の中の各ブロックは、モジュール、セグメント、または命令の一部を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合がある。例えば、関係する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施するかまたは専用ハードウェアおよびコンピュータ命令の組合せを実行する、専用ハードウェアベースのシステムによって実現できることにも気付くであろう。
【0041】
本発明の様々な実施形態についての記述を例示のために提示したが、これらの記述は、網羅的なものとはせず、また、開示される実施形態に限定されるものともしない。本発明の範囲および主旨を逸脱することなく、多くの変更および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、もしくは市場で見られる技術に勝る技術的改善を、最もよく説明するために、または、本明細書に開示される実施形態を他の当業者が理解できるようにするために、選ばれたものである。
【符号の説明】
【0042】
100 コンピューティング・サーバ
105a スーパーノード
105b スーパーノード
110a ドロワ
110b ドロワ
110c ドロワ
110d ドロワ
110e ドロワ
110f ドロワ
110g ドロワ
110h ドロワ
120 ノード
130a Dリンク
130b Lリモート・リンク
130c Lローカル・リンク
400 コンピュータ
402 通信ファブリック
404 コンピュータ・プロセッサ
406 メモリ
408 永続的記憶装置
412 通信ユニット
414 入出力(I/O)インタフェース
416 ランダム・アクセス・メモリ(RAM)
418 キャッシュ・メモリ
420 外部デバイス
422 表示装置
図1
図2
図3
図4
図5
図6