(57)【特許請求の範囲】
【請求項１】
プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第１のスイッチング・システムを動作させる命令を生成するステップと、
記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第２のスイッチング・システムを動作させる命令を生成するステップと、
の各ステップを備えるデータ処理方法。
【請求項２】
前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備える請求項１に記載の方法。
【請求項３】
前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備え、
前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第１及び第２のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項１に記載の方法。
【請求項４】
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第１のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成するステップを備える請求項１に記載の方法。
【請求項５】
記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備える請求項１に記載の方法。
【請求項６】
記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備え、
前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項１に記載の方法。
【請求項７】
前記記憶デバイスのサブセット中の各記憶デバイス同士が論理的に結合するように、第２のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成するステップを備える請求項１に記載の方法。
【請求項８】
前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、前記第１のスイッチング・システム、前記第２のスイッチング・システム及び前記プロセッサのセットに結合され、これらを制御するコントローラによって実行される請求項１に記載の方法。
【請求項９】
第１のデータ処理操作において使用する第１の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第１のデータ処理操作を処理するための前記プロセッサの第１のサブセットを選択し、前記第１のスイッチング・システムで、第１の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第１のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第１のデータ処理の問題に係る情報を記憶するための記憶デバイスの第１のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第１のサブセット内の各記憶デバイス同士が、互いに及び第１の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第１のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
第２のデータ処理操作において使用する第２の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第２のデータ処理操作を処理するための前記プロセッサの第２のサブセットを選択し、前記第１のスイッチング・システムで、第２の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第２のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第２のデータ処理の問題に係る情報を記憶するための記憶デバイスの第２のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第２のサブセット内の各記憶デバイス同士が、互いに及び第２の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第２のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
を更に備え、前記命令が、前記プロセッサの第１のサブセットを、前記プロセッサーの第２のサブセット及び前記記憶デバイスの第２のサブセットから保守上分離するものである請求項１に記載の方法。
【請求項１０】
前記プロセッサのセットの中から、追加のプロセッサを選択するステップと、
前記第１のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成するステップと、
を更に備える請求項１に記載の方法。
【請求項１１】
前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
前記第１のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
を更に備える請求項１に記載の方法。
【請求項１２】
前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
前記第１のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置するステップと、
を更に備える請求項２に記載の方法。
【請求項１３】
前記プロセッサの第１のサブセットの中から、該第１のサブセットから除去する特定のプロセッサを選択するステップと、
前記第１のスイッチング・システムが、前記プロセッサの第１のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
前記第１のスイッチング・システムが、前記プロセッサの第２のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成するステップと、
を更に備える請求項９に記載の方法。
【請求項１４】
前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てるステップを更に備える請求項１に記載の方法。
【請求項１５】
前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、１又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項１に記載の方法。
【請求項１６】
前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、１又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項１に記載の方法。
【請求項１７】
前記第１のスイッチング・システムのインタフェースを外部ネットワークへ結合するステップを更に備え、これにより前記プロセッサのサブセットが前記外部ネットワークからの要求に対して応答するものとなる請求項１に記載の方法。
【請求項１８】
前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを論理的に追加するステップと、
前記追加のプロセッサを再起動するステップと、
前記追加のプロセッサ内に、前記記憶デバイスのサブセット内の１つの記憶デバイスの予め定義された場所からオペレーティング・システム・イメージをロードするステップと、
の各ステップを更に備える請求項１５に記載の方法。
【請求項１９】
ロード・バランサを前記プロセッサのサブセット内のプロセッサに論理的に結合するステップと、
前記ロード・バランサに、前記プロセッサのサブセット内のプロセッサにより実行されるロード・バランス処理を命令するステップと、
を更に備える請求項１に記載の方法。
【請求項２０】
前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを動的に論理的に追加するステップを更に備え、該ステップが、
前記仮想ローカル・エリア・ネットワークへ、前記追加のプロセッサに関連付けられた前記第１のスイッチングシステムのそれらのインタフェース・ポートを追加するステップと、
前記追加のプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンへ追加するステップと、
により達成される請求項９に記載の方法。
【請求項２１】
前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットから１つのプロセッサを動的に論理的に除去するステップを更に備え、該ステップが、
前記仮想ローカル・エリア・ネットワークから、前記追加のプロセッサに関連付けられた前記第１のスイッチングシステムのそれらのインタフェース・ポートを除去するステップと、
前記１つのプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンから除去するステップと、
により達成される請求項９に記載の方法。
【請求項２２】
前記第２のスイッチング・システムの１又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた１つの前記記憶デバイスに関連付けられているものを更に備えた請求項８に記載の方法。
【請求項２３】
前記プロセッサのサブセット内の各プロセッサを、予め定義され記憶された設計図と関連付けするステップであって、前記設計図が、複数の処理の役割の１つを、前記記憶デバイスのサブセット内の１つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作する命令を生成するステップと、
を更に備える請求項１に記載の方法。
【請求項２４】
第１のデータ処理操作において使用する第１の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第１のデータ処理操作を処理するための前記プロセッサの第１のサブセットを選択し、前記第１のスイッチング・システムで、第１の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第１のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第１のデータ処理の問題に係る情報を記憶するための記憶デバイスの第１のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第１のサブセット内の各記憶デバイス同士が、互いに及び第１の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第１のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
第２のデータ処理操作において使用する第２の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第２のデータ処理操作を処理するための前記プロセッサの第２のサブセットを選択し、前記第１のスイッチング・システムで、第２の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第２のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第２のデータ処理の問題に係る情報を記憶するための記憶デバイスの第２のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第２のサブセット内の各記憶デバイス同士が、互いに及び第２の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第２のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
を更に備え、前記命令が、前記プロセッサの第１のサブセットを、前記プロセッサーの第２のサブセット及び前記記憶デバイスの第２のサブセットから保守上分離するものであるデータ処理方法。
【請求項２５】
複数のプロセッサと、
前記複数のプロセッサに接続された第１のスイッチング・システムと、
複数の記憶デバイスと、
前記複数の記憶デバイスに接続された第２のスイッチング・システムと、
前記第１のスイッチング・システム及び前記第２のスイッチング・システムに接続されたコントローラと、
前記複数のプロセッサの中から、該プロセッサのサブセットを選択する前記コントローラ内の手段と、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第１のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
前記複数の記憶デバイスの中から、該記憶デバイスのサブセットを選択する前記コントローラ内の手段と、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第２のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
を備えるデータ処理システム。
【請求項２６】
前記コントローラが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択することにより、前記プロセッサのセットの中から該プロセッサのサブセットを選択する手段を更に備える請求項２５に記載のデータ処理システム。
【請求項２７】
前記プロセッサのサブセットを選択する前記手段が、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択する手段を備え、
前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第１及び第２のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項２５に記載のデータ処理システム。
【請求項２８】
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第１のスイッチング・システムを動作させる命令を生成する前記手段が、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成する手段を備える請求項２５に記載のデータ処理システム。
【請求項２９】
記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備える請求項２５に記載のデータ処理システム。
【請求項３０】
記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備え、
前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項２５に記載のデータ処理システム。
【請求項３１】
前記各記憶デバイス同士が論理的に結合するように、第２のスイッチング・システムを動作させる命令を生成する前記手段が、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成する手段を備える請求項２５に記載のデータ処理システム。
【請求項３２】
第１のデータ処理操作において使用する第１の仮想サーバ・ファームであって、前記プロセッサのセットの中から、前記第１のデータ処理操作を処理するための前記プロセッサの第１のサブセットを選択し、前記第１のスイッチング・システムで、第１の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第１のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第１のデータ処理の問題に係る情報を記憶するための記憶デバイスの第１のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第１のサブセット内の各記憶デバイス同士が、互いに及び第１の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第１のサブセットと、論理的に結合するようにさせる命令を生成することによって生成されるものと、
第２のデータ処理操作において使用する第２の仮想サーバ・ファームであって、前記プロセッサのセットの中から、前記第２のデータ処理操作を処理するための前記プロセッサの第２のサブセットを選択し、前記第１のスイッチング・システムで、第２の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第２のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第２のデータ処理の問題に係る情報を記憶するための記憶デバイスの第２のサブセットを選択し、更に、第２のスイッチング・システムで、前記記憶デバイスの第２のサブセット内の各記憶デバイス同士が、互いに及び第２の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第２のサブセットと、論理的に結合するようにさせる命令を生成することによって生成されるものと、
を更に備え、前記命令が、前記プロセッサの第１のサブセットを、前記プロセッサーの第２のサブセット及び前記記憶デバイスの第２のサブセットから保守上分離するものである請求項２５に記載のデータ処理システム。
【請求項３３】
前記プロセッサのセットの中から、追加のプロセッサを選択する手段と、
前記第１のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成する手段と、
を更に備える請求項２５に記載のデータ処理システム。
【請求項３４】
前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
前記第１のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
を更に備える請求項２５に記載のデータ処理システム。
【請求項３５】
前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
前記第１のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置する手段と、
を更に備える請求項２６に記載のデータ処理システム。
【請求項３６】
前記プロセッサの第１のサブセットの中から、該第１のサブセットから除去する特定のプロセッサを選択する手段と、
前記第１のスイッチング・システムが、前記プロセッサの第１のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
前記第１のスイッチング・システムが、前記プロセッサの第２のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成する手段と、
を更に備える請求項２８に記載のデータ処理システム。
【請求項３７】
前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てる手段を更に備える請求項２５に記載のデータ処理システム。
【請求項３８】
前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、１又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項２５に記載のデータ処理システム。
【請求項３９】
前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、１又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項２５に記載のデータ処理システム。
【請求項４０】
前記コントローラが、前記サブセット内の各プロセッサの処理負荷を表す情報を生成する負荷監視装置を更に備える請求項２５に記載のデータ処理システム。
【請求項４１】
前記第１のスイッチング・システムが、偽造不可能なポート識別子を有する仮想ローカル・エリア・ネットワーク・スイッチを備える請求項２５に記載のデータ処理システム。
【請求項４２】
前記第２のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項２５に記載のデータ処理システム。
【請求項４３】
前記第２のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、１又は複数のファイバ・チャネル・スイッチを用いて、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項２５に記載のデータ処理システム。
【請求項４４】
前記第２のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記プロセッサのサブセットが、ロード・バランサ又はファイアウォールを介して外部ネットワークへ結合されている請求項２５に記載のデータ処理システム。
【請求項４５】
前記第１のスイッチング・システムの制御ポートを含み、且つ前記第２のスイッチング・システムの制御ポートを含む、サブネットワーク内で論理的に相互接続された複数のコントローラを更に備える請求項２５に記載のデータ処理システム。
【請求項４６】
その時のプロセッサ負荷、ネットワーク負荷又は記憶負荷を表すリアルタイム情報を受信するために、前記プロセッサのサブセット内の各プロセッサを周期的にポーリングするよう構成されると共に、前記コントローラのそれぞれに前記情報を伝達するよう構成されたエージェント・コントローラを更に備える請求項４５に記載のデータ処理システム。
【請求項４７】
前記第２のスイッチング・システムの１又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた１つの前記記憶デバイスに関連付けられているものを更に備えた請求項４５に記載のデータ処理システム。
【請求項４８】
予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の１つを、前記記憶デバイスのサブセット内の１つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の１つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
を更に備える請求項２５に記載のデータ処理システム。
【請求項４９】
プロセッサの複数のサブセット内で論理的に組織化された複数のプロセッサであって、前記サブセットのそれぞれが、複数の仮想ローカル・エリア・ネットワークの１つとして論理的に組織化されているものと、
前記サブセットの１つによって使用されるデータ及び命令を記憶するために、前記複数の仮想ローカル・エリア・ネットワークに結合され、記憶エリア・ネットワーク内で論理的に組織化された複数の記憶デバイスと、
前記複数の仮想ローカル・エリア・ネットワーク及び前記記憶エリア・ネットワークに結合された制御プレーンであって、リアルタイムで発生する処理負荷状況の変化及び記憶需要の変化に応じて、前記サブセットに対しプロセッサを動的に追加し又は除去すると共に、前記記憶エリア・ネットワークに対し記憶デバイスを動的に追加し又は除去するよう構成されたものと、
を備える仮想コンピューティング・システム。
【請求項５０】
予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の１つを、前記記憶デバイスのサブセット内の１つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の１つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
を更に備える請求項４９に記載の仮想コンピューティング・システム。
【請求項５１】
拡張可能なコンピューティング・システムで使用するデータ処理のための１又は複数の命令のシーケンスを格納したコンピュータ読み取り可能な媒体であって、１又は複数のプロセッサによる前記１又は複数の命令のシーケンスの実行が、該１又は複数のプロセッサに、
プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第１のスイッチング・システムを動作させる命令を生成するステップと、
記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第２のスイッチング・システムを動作させる命令を生成するステップと、
の各ステップの動作を生じさせるコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、一般にデータ処理に関する。より詳細には、本発明は、拡張可能、フレキシブル、かつスケーラブルなコンピューティング・システムを提供するための方法、装置、およびメカニズムに関する。
【０００２】
【発明の背景】
今日のＷｅｂサイトおよび他のコンピュータ・システムの構築者は、多くのシステム・プランニングに関する問題を処理しなければならない。こうした問題には、通常の成長、予測される、または予測できないピーク時需要、サイトの使用可能度およびセキュリティなどを見込んだ処理能力プランニングが含まれる。Ｗｅｂ上にサービスを提供しようとする企業は新しいビジネスおよびサービス・モデルを携え、その分野を革新し、首位に立とうと考えるが、それを実現させるためには大規模なＷｅｂサイトを設計、構築、および運営することの少なからぬ複雑さに対処しなければならない。これには、サイトを動作可能な状態のままで成長させ、かつ拡張する必要がある。
【０００３】
これをすべて実行するためには、潜在的に大規模かつ複雑である可能性のあるこうしたサイトのエンジニアリングおよび運営のできる技術者を探し雇い入れることが必要である。こうした大規模サイトの設計、構築、および運営は、多くの組織にとって中核業務ではまったくないため、これが難題を生み出している。
【０００４】
こうした問題の対応策の１つが、他企業の他のＷｅｂサイトと共用で、第三者のサイトで企業Ｗｅｂサイトをホストすることである。こうしたアウトソーシング施設は、現在、Ｅｘｏｄｕｓ（ＴＭ）、ＡｂｏｖｅＮｅｔ（ＴＭ）、ＧｌｏｂａｌＣｅｎｔｅｒ（ＴＭ）などの企業から利用することができる。これらの施設は、物理的なスペース、および冗長ネットワークや電力施設を提供しており、その結果、企業の顧客またはユーザはこれらを提供する必要がない。ネットワークおよび電力施設は、多くの企業または顧客が共用する。
【０００５】
しかし、これら施設のユーザには、自らの施設の構築、運営、および展開を行う中で、自らのコンピューティング・インフラストラクチャに関する多くの作業を行なう必要が依然として残されている。こうした施設でホストされる企業の情報技術管理者は、施設で自分のコンピューティング機器の選択、導入、構成、および保守を行う責任を負う。管理者は、資源プランニングおよびピーク時処理能力の扱いなどの困難な問題に、なおも直面しなければならない。
【０００６】
たとえアウトソーシング企業がコンピューティング施設も提供している場合であっても（たとえばＤｉｇｅｘ（ＴＭ））、成長させるには同じく手操作の、誤りを犯しやすい管理ステップが含まれているので、アウトソーシング企業にとって拡張および成長は決して容易ではない。さらに、予測できないピーク時の需要に対する処理能力プランニングという問題も残されたままである。
【０００７】
さらに、Ｗｅｂサイトには、それぞれ異なる要件がある。たとえば、特定のＷｅｂサイトが、個別に管理および制御する機能を必要とする場合がある。サービス・プロバイダを共用している他のすべてのサイトからＷｅｂサイトを隔離する、特定のタイプまたはレベルのセキュリティを必要とするものもある。ほかの場所にある企業イントラネットとの安全な接続を必要とするものもある。
【０００８】
また、内部トポロジの点でも様々に異なるＷｅｂサイトがある。サイトの中には、単にＷｅｂのロード・バランサによってロード・バランシングされた一並びのＷｅｂサーバを含むだけのものがある。好適なロード・バランサは、Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（ＴＭ）のＬｏｃａｌ  Ｄｉｒｅｃｔｏｒ（ＴＭ）、Ｆ５Ｌａｂｓ（ＴＭ）のＢｉｇＩＰ（ＴＭ）、Ａｌｔｅｏｎ（ＴＭ）のＷｅｂ  Ｄｉｒｅｃｔｏｒ（ＴＭ）などである。他のサイトには、多層様式で構築されるものもあり、それによって一並びのＷｅｂサーバがＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を処理するが、大量のアプリケーション論理は別のアプリケーション・サーバで実施される。そして今度はこれらのアプリケーション・サーバを、元のデータベース・サーバの層に接続する必要がある。
【０００９】
これらの異なる構成シナリオの一部が、図１Ａ、図１Ｂ、および図１Ｃに示されている。図１Ａは、ＣＰＵ１０２およびディスク１０４を含む単一のマシン１００を含む、単純なＷｅｂサイトを示す構成図である。マシン１００は、インターネット１０６として知られるグローバルなパケット交換データ・ネットワークまたは他のネットワークに結合される。マシン１００は、前述の種類の共用設備に収容することができる。
【００１０】
図１Ｂは、複数のＷｅｂサーバＷＳＡ、ＷＳＢ、ＷＳＣを含む１層のＷｅｂサーバ・ファーム１１０を示す構成図である。それぞれのＷｅｂサーバが、インターネット１０６に結合されたロード・バランサ１１２に結合される。ロード・バランサは、各サーバにかかる処理負荷の均衡を保つためにサーバ間のトラフィックを分割する。ロード・バランサ１１２は、Ｗｅｂサーバを無許可のトラフィックから守るためのファイアウォールを含むかまたはこれと結合することもできる。
【００１１】
図１Ｃは、ＷｅｂサーバＷ１、Ｗ２などの層、アプリケーション・サーバＡ１、Ａ２などの層、およびデータベース・サーバＤ１、Ｄ２などの層を含む、３層のサーバ・ファーム１２０を示す。Ｗｅｂサーバは、ＨＴＴＰ要求を処理するために提供される。アプリケーション・サーバは、大半のアプリケーション論理を実行する。データベース・サーバは、データベース管理システム（ＤＢＭＳ）ソフトウェアを実行する。
【００１２】
構築する必要がある種類のＷｅｂサイトのトポロジの多様性を考えれば、大規模なＷｅｂサイトを構築するには、それぞれを特注構築することが唯一の方法であるのは明らかであろう。実際のところ、これが従来の方法であった。多くの組織が同じ問題について個別に苦労を重ね、それぞれのＷｅｂサイトをゼロから特注構築してきた。これは非効率的であり、様々な企業で膨大な量の作業を重複して行うことになる。
【００１３】
従来の方法に付随するもう１つの問題は、資源および処理能力のプランニングである。Ｗｅｂサイトは、日によって、あるいは１日の中でも時間によって、かなり異なるレベルのトラフィックを受信する可能性がある。トラフィックのピーク時には、Ｗｅｂサイトのハードウェアまたはソフトウェアは、オーバロードが原因で妥当な時間内に要求に応答できない場合がある。その他の時間には、Ｗｅｂサイトのハードウェアまたはソフトウェアは、処理能力過剰で十分に活用できない可能性がある。従来の方法では、過度の経費をかけずにあるいは処理能力過剰とならないように、ピーク時のトラフィックを処理できるだけのハードウェアとソフトウェアの均衡を見出すことは、難しい問題である。多くのＷｅｂサイトでは、適切な均衡を見出しておらず、絶えず処理能力不足または処理能力過剰となっている。
【００１４】
他の問題は、人的な誤りによって引き起こされる障害である。手作業で構築されたサーバ・ファームを使用する現在の方法に存在する大きな潜在的危険は、新しいサーバを作動中のサーバ・ファームに組み入れる際に発生した人的誤りが、サーバ・ファームの誤動作を引き起こし、その結果、そのＷｅｂサイトのユーザにサービスを提供できなくなる可能性があるということである。
【００１５】
前述の内容に基づき、この分野では、特別注文による構築を必要とせず、オン・デマンドで即時にかつ容易に拡張できるコンピューティング・システムを提供するように改善された方法および装置が明らかに必要である。
【００１６】
さらに、トラフィック・スループットの変化を反映して、必要に応じて展開したり隠したりすることのできる、複数の分離された処理ノードの作成をサポートするコンピューティング・システムも必要である。他の必要性は、本書に示した開示で明らかになろう。
【００１７】
【発明の概要】
前述の必要性および目的、ならびに以下の記述から明らかになるであろう他の必要性および目的は、本発明によって達成されるものであって、本発明の一態様には、大規模コンピューティング構造（「コンピューティング・グリッド」）に基づいて、高度にスケーラブルであり、高度に使用可能および確実なデータ処理サイトを作成するための方法および装置が含まれる。コンピューティング・グリッドは、いったん物理的に構築され、次いでオン・デマンドで様々な組織に論理的に分割される。コンピューティング・グリッドには、１つまたは複数のＶＬＡＮスイッチおよび１つまたは複数の記憶域ネットワーク（ＳＡＮ）スイッチに結合された、多数のコンピューティング要素が含まれる。複数の記憶デバイスがＳＡＮスイッチに結合され、適切なスイッチング論理およびコマンドを介して、１つまたは複数のコンピューティング要素に選択的に結合することができる。ＶＬＡＮスイッチの１ポートが、インターネットなどの外部ネットワークに結合される。監視メカニズム、レイヤ、マシン、またはプロセスが、ＶＬＡＮスイッチおよびＳＡＮスイッチに結合される。
【００１８】
第一に、すべての記憶デバイスおよびコンピューティング要素がアイドル・プールに割り当てられる。プログラムの制御の下で、監視メカニズムが、ＶＬＡＮスイッチおよびＳＡＮスイッチのポートを１つまたは複数のコンピューティング要素および記憶デバイスに結合するために、これらを動的に構成する。その結果、こうした要素およびデバイスはアイドル・プールから論理的に除去され、１つまたは複数の仮想サーバ・ファーム（ＶＳＦ）の一部となる。それぞれのＶＳＦコンピューティング要素が、コンピューティング要素がブートストラップの動作および作成を実行するために使用可能なブート・イメージを含む記憶デバイスに向けられるか、またはそうでなければ関連付けられる。
【００１９】
コンピューティング・グリッドをいったん物理的に構築し、コンピューティング・グリッドの一部を様々な組織にオン・デマンドで確実かつ動的に割り振ることで、各サイトを特別注文で構築する場合には達成が困難な、スケール・メリットが達成される。
【００２０】
本発明は、添付の図面において限定的なものでなく例示的なものとして示されており、この図面では、同じ要素が同じ参照番号で表されている。
【００２１】
【好適な実施形態の説明】
拡張可能コンピューティング・システムを提供するための方法および装置について説明する。以下の説明では、本発明について完全に理解してもらうために、例示の目的で多数の特有の詳細について記載する。ただし、当分野の技術者には、本発明がこれらの特有の詳細なしに実施できることが明らかになろう。他の場合には、本発明を必要以上に不明瞭にすることがないように、構成図にはよく知られた構造およびデバイスが示される。
【００２２】
（仮想サーバ・ファーム（ＶＳＦ））
一実施形態によれば、大規模コンピューティング構造（「コンピューティング・グリッド」）が提供される。コンピューティング・グリッドは、いったん物理的に構築し、次いでオン・デマンドで様々な組織に論理的に分割することができる。複数の企業または組織のそれぞれに、コンピューティング・グリッドの一部が割り振られる。各組織のコンピューティング・グリッドの論理部分が、仮想サーバ・ファーム（ＶＳＦ）と呼ばれる。各組織は、そのＶＳＦの独立した管理制御を保持する。各ＶＳＦは、サーバ・ファーム上に配置されたリアルタイム要求または他の要素に基づいて、ＣＰＵの数、記憶容量およびディスク、ならびにネットワーク帯域幅によって動的に変更することができる。各ＶＳＦは、たとえすべて物理的に同じコンピューティング・グリッドから論理的に作成された場合であっても、あらゆる他の組織のＶＳＦから守られている。ＶＳＦは、私設専用回線または仮想私設ネットワーク（ＶＰＮ）のいずれかを使用して、イントラネットを他の組織のＶＳＦにさらすことなく、イントラネットに再接続することができる。
【００２３】
組織は、たとえコンピュータへの管理アクセスをフルに実施することができる（たとえばスーパー・ユーザまたはルート）か、またはコンピュータが接続されたローカル・エリア・ネットワーク（ＬＡＮ）上のすべてのトラフィックを監視することができる場合であっても、コンピューティング・グリッドの割り振られた部分、すなわちそのＶＳＦにあるデータおよびこれらのコンピューティング要素にのみアクセスすることが可能である。これは、ＶＳＦのセキュリティ外辺部が動的に伸縮する、動的なファイアウォール・スキームを使用して達成される。
【００２４】
各ＶＳＦは、インターネット、イントラネット、またはエクストラネットを介してアクセス可能な組織のコンテンツおよびアプリケーションをホストするのに使用することができる。
【００２５】
コンピューティング要素ならびにそれに関連付けられたネットワーキングおよび記憶要素の構成および制御は、コンピューティング・グリッド内のいかなるコンピューティング要素を介しても直接アクセスすることのできない、監視メカニズムによって実施される。便宜上、本書では監視メカニズムを制御プレーンと呼び、１つまたは複数のプロセッサまたはプロセッサのネットワークを含むことができる。監視メカニズムは、監視プログラム、制御装置などを含むことができる。本明細書に記載するように、他の方法を使用することもできる。
【００２６】
制御プレーンは、ネットワーク内でまたは他の手段によって相互接続することができる１つまたは複数のサーバなどの、監視目的で割り当てられた完全に独立したコンピューティング要素セット上で動作する。これは、グリッド内のネットワーキングおよび記憶要素の特別な制御ポートまたはインターフェースを介して、コンピューティング・グリッドのコンピューティング、ネットワーキング、および記憶要素上で制御動作を実行するものである。制御プレーンは、システムのスイッチング要素に物理インターフェースを提供し、システム内のコンピューティング要素の負荷を監視し、グラフィカル・ユーザ・インターフェースまたは他の好適なユーザ・インターフェースを使用する管理および監督機能を提供するものである。
【００２７】
制御プレーンを実行中のコンピュータは、コンピューティング・グリッド内にある（したがって任意の特有のＶＳＦ内にある）コンピュータには論理的に不可視であり、コンピューティング・グリッド内にあるかまたは外部コンピュータからの要素を介して、いかなる方法でも攻撃または破壊されることはない。制御プレーンのみが、コンピューティング・グリッド内のデバイス上にある制御ポートへの物理的接続を有し、特定のＶＳＦでのメンバシップを制御する。コンピューティング内のデバイスは、これらの特殊な制御ポートを介してのみ構成することが可能であるため、コンピューティング・グリッド内のコンピューティング要素は、セキュリティ外辺部を変更するか、あるいは許可されていない記憶デバイスまたはコンピューティング・デバイスにアクセスすることができない。
【００２８】
したがってＶＳＦは、組織が、大規模共用コンピューティング・インフラストラクチャ、すなわちコンピューティング・グリッドから動的に作成された専用サーバ・ファームを含むように見える、コンピューティング施設を取り扱えるようにするものである。本明細書に記載のコンピューティング・アーキテクチャで結合された制御プレーンは、コンピューティング・グリッドのデバイスのハードウェアで実施されるアクセス制御メカニズムを介してプライバシーおよび保全性が保護されている専用サーバ・ファームを提供する。
【００２９】
各ＶＳＦの内部トポロジは、制御プレーンによって制御される。制御プレーンは、本明細書に記載のコンピュータ、ネットワーク・スイッチ、および記憶ネットワーク・スイッチの基本的な相互接続を採用し、これらを使用して様々なサーバ・ファーム構成を作成することができる。これらには、ロード・バランサがフロントエンドとなる単一層のＷｅｂサーバ・ファーム、ならびにＷｅｂサーバがアプリケーション・サーバに伝え、次にこれがデータベース・サーバに伝える多層構成が含まれるが、これらに限定されるものではない。様々なロード・バランシング、多層、およびファイアウォールの構成が可能である。
【００３０】
（コンピューティング・グリッド）
コンピューティング・グリッドは、一箇所に存在するか、または広い範囲に分散する場合がある。本明細書では第一に、純粋にローカル・エリア技法で構成される、単一構内規模のネットワーク状況におけるコンピューティング・グリッドについて説明する。次いで本明細書では、コンピューティング・グリッドがワイド・エリア・ネットワーク（ＷＡＮ）を介して分散された場合について説明する。
【００３１】
図２は、ローカル・コンピューティング・グリッド２０８を含む、拡張可能コンピューティング・システム２００の一構成を示す、構成図である。本明細書では、「拡張可能」とは一般に、システムがフレキシブルかつスケーラブルであり、特定企業またはユーザに対してオン・デマンドでコンピューティング能力を増減する機能を有するという意味である。ローカル・コンピューティング・グリッド２０８は、多数のコンピューティング要素ＣＰＵ１、ＣＰＵ２、・・・ＣＰＵｎで構成される。実施形態の一例では、１０，０００またはそれ以上のコンピューティング要素が存在可能である。これらのコンピューティング要素は、長寿命の状態情報を要素ごとに含むかまたは記憶することがないため、ローカル・ディスクなどの持続的または不揮発性の記憶装置なしに構成することができる。代わりに、すべての長寿命状態情報は、コンピューティング要素とは別の、１つまたは複数のＳＡＮスイッチ２０２を含む記憶域ネットワーク（ＳＡＮ）を介してコンピューティング要素に結合された、ディスクＤＩＳＫ１、ＤＩＳＫ２、・・・ＤＩＳＫｎ上に記憶される。好適なＳＡＮスイッチは、Ｂｒｏｃａｄｅ（ＴＭ）およびＥｘｃｅｌ（ＴＭ）から市販されている。
【００３２】
すべてのコンピューティング要素は、仮想ＬＡＮ（ＶＬＡＮ）に分けることのできる１つまたは複数のＶＬＡＮスイッチ２０４を介して互いに相互接続されている。ＶＬＡＮスイッチ２０４はインターネット１０６に結合される。一般に、コンピューティング要素には、ＶＬＡＮスイッチに接続された１つまたは２つのネットワーク・インターフェースが含まれる。図２では、簡略化するために、すべてのノードが２つのネットワーク・インターフェースを備えるように示されているが、これよりも少ないかまたは多いネットワーク・インターフェースを備えることも可能である。現在では、多くの製造販売業者が、ＶＬＡＮ機能をサポートするスイッチを提供している。たとえば、好適なＶＬＡＮスイッチは、Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（ＴＭ）およびＸｔｒｅｍｅ  Ｎｅｔｗｏｒｋｓ（ＴＭ）から市販されている。同様に、ファイバ・チャネル・スイッチ、ＳＣＳＩ対ファイバ・チャネル・ブリッジング・デバイス、およびネットワーク結合記憶装置（ＮＡＳ／Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）デバイスを含み、ＳＡＮを構築するための製品が数多く市販されている。
【００３３】
制御プレーン２０６は、ＳＡＮ制御パス、ＣＰＵ制御パス、およびＶＬＡＮ制御パスによって、それぞれ、ＳＡＮスイッチ２０２、ＣＰＵ１、ＣＰＵ２、・・・ＣＰＵｎといったＣＰＵ、およびＶＬＡＮスイッチ２０４に結合される。
【００３４】
それぞれのＶＳＦは、ＶＬＡＮセット、ＶＬＡＮに取り付けられたコンピューティング要素セット、およびコンピューティング要素セットに結合されたＳＡＮ上で使用可能な記憶装置のサブセットで構成される。ＳＡＮ上で使用可能な記憶装置のサブセットはＳＡＮゾーンと呼ばれ、ＳＡＮハードウェアによって他のＳＡＮゾーンの一部であるコンピューティング要素からのアクセスから保護される。偽造不可能なポート識別子を提供するＶＬＡＮを使用して、一顧客またはエンド・ユーザが、他の顧客またはエンド・ユーザのＶＳＦ資源へのアクセスを取得しないようにすることが好ましい。
【００３５】
図３は、ＳＡＮゾーンを特徴とする仮想サーバ・ファームの一例を示す構成図である。複数のＷｅｂサーバＷＳ１、ＷＳ２、などが、第１のＶＬＡＮ（ＶＬＡＮ１）によって、ロード・バランサ（ＬＢ）／ファイアウォール３０２に結合される。第２のＶＬＡＮ（ＶＬＡＮ２）は、インターネット１０６とロード・バランサ（ＬＢ）／ファイアウォール３０２とを結合する。各Ｗｅｂサーバは、本明細書でさらに説明するメカニズムを使用して、ＣＰＵ１、ＣＰＵ２、などの中から選択することができる。ＷｅｂサーバはＳＡＮゾーン３０４に結合され、これは１つまたは複数の記憶デバイス３０６ａ、３０６ｂに結合される。
【００３６】
任意の所与の時点で、図２のＣＰＵ１などのコンピューティング・グリッド内のコンピューティング要素は、単一のＶＳＦに関連付けられたＶＬＡＮのセットおよびＳＡＮゾーンに接続されているだけである。ＶＳＦは典型的には、異なる組織間で共用されない。ＳＡＮ上にあり、単一のＳＡＮゾーンに属した記憶装置のサブセット、ならびにこれとＶＬＡＮ上にあるコンピューティング要素とに関連付けられたＶＬＡＮセットが、ＶＳＦを定義する。
【００３７】
ＶＬＡＮのメンバシップおよびＳＡＮゾーンのメンバシップを制御することによって、制御プレーンは、コンピューティング・グリッドを複数のＶＳＦに論理的に区分させる。１つのＶＳＦのメンバは、他のＶＳＦのコンピューティング資源または記憶資源にアクセスすることができない。こうしたアクセス制約は、ＶＬＡＮスイッチによってハードウェア・レベルで、ならびにファイバ・チャネル・スイッチなどのＳＡＮハードウェアおよびＳＣＳＩ対ファイバ・チャネル・ブリッジング・ハードウェアなどのエッジ・デバイスのポート・レベルのアクセス制御メカニズム（たとえばゾーニング）によって、強制される。コンピューティング・グリッドの一部を形成するコンピューティング要素は、物理的にはＶＬＡＮスイッチおよびＳＡＮスイッチの制御ポートまたはインターフェースに接続されていないため、ＶＬＡＮまたはＳＡＮゾーンのメンバシップを制御することができない。したがって、コンピューティング・グリッドのコンピューティング要素は、それらが格納されているＶＳＦ内にないコンピューティング要素にはアクセスすることができない。
【００３８】
制御プレーンを実行するコンピューティング要素だけが、グリッド内にあるデバイスの制御ポートまたはインターフェースに物理的に接続されている。コンピューティング・グリッド内にあるデバイス（コンピュータ、ＳＡＮスイッチ、およびＶＬＡＮスイッチ）は、こうした制御ポートまたはインターフェースを介してのみ構成することができる。これによって、コンピュータ・グリッドを複数のＶＳＦに動的に区分させる、単純ではあるが非常に確実な手段が提供される。
【００３９】
ＶＳＦ内にあるそれぞれのコンピューティング要素は、任意の他のコンピューティング要素に置き換えられる。所与のＶＳＦに関連付けられたコンピューティング要素、ＶＬＡＮ、およびＳＡＮゾーンの数は、時間の経過と共に、制御プレーンの制御の下で変化することがある。
【００４０】
一実施形態では、コンピューティング・グリッドには、予備にとってある多数のコンピューティング要素を含むアイドル・プールが含まれる。アイドル・プールからのコンピューティング要素は、ＶＳＦが利用可能なＣＰＵまたはメモリ容量を増やすため、またはＶＳＦ内にある特定のコンピューティング要素の障害を処理するために、特定のＶＳＦに割り当てることができる。コンピューティング要素がＷｅｂサーバとして構成される場合、アイドル・プールは、変化するかまたは「満杯の」Ｗｅｂトラフィック負荷および関連するピーク時処理負荷のための、大規模な「緩衝器」としての働きをする。
【００４１】
アイドル・プールは、多くの異なる組織間で共用されるため、単一の組織がアイドル・プールの全経費を支払う必要がなくなり、スケール・メリットが与えられる。異なる組織が１日のうちで異なる時間に必要に応じてアイドル・プールからコンピューティング要素を取得することが可能であり、それによって、各ＶＳＦを必要なときに展開させ、トラフィックが通常のレベルに落ち着いたときには縮小させることができる。多くの異なる組織が同時にピークの状態を持続し、それによって潜在的にアイドル・プールの容量を使い尽くしてしまう場合、ＣＰＵおよび記憶要素を追加することでアイドル・プールを増やすことができる（スケーラビリティ）。アイドル・プールの容量は、定常状態で、特定のＶＳＦが必要なときにアイドル・プールから追加のコンピューティング要素を取得できない確率を大幅に減らすように設計されている。
【００４２】
図４Ａ、図４Ｂ、図４Ｃ、および図４Ｄは、コンピューティング要素をアイドル・プールの内外へ移動させることに関連した、連続するステップを示す構成図である。はじめに図４Ａを参照すると、制御プレーンが、ＶＳＦ１、ＶＳＦ２と表示された第１および第２のＶＳＦに論理的に接続されたコンピューティング・グリッドの要素を有すると想定される。アイドル・プール４００には複数のＣＰＵ４０２が含まれ、そのうちの１つがＣＰＵＸと表示されている。図４Ｂでは、ＶＳＦ１に追加のコンピューティング要素が必要であることが明らかになった。したがって、経路４０４で示されるように、制御プレーンはＣＰＵＸをアイドル・プール４００からＶＳＦ１に移動させる。
【００４３】
図４Ｃでは、ＶＳＦ１にはＣＰＵＸが不要になったため、制御プレーンがＣＰＵＸをＶＳＦ１からアイドル・プール４００へ戻すように移動させる。図４Ｄでは、ＶＳＦ２に追加のコンピューティング要素が必要であることが明らかになった。したがって、制御プレーンはＣＰＵＸをアイドル・プール４００からＶＳＦ２に移動させる。このようにして、時間の経過と共にトラフィックの条件が変化するに従って、単一のコンピューティング要素がアイドル・プールに属し（図４Ａ）、その後特定のＶＳＦに割り当てられ（図４Ｂ）、その後アイドル・プールに戻され（図４Ｃ）、その後他のＶＳＦに属する（図４Ｄ）ことが可能である。
【００４４】
これらの各段階で、制御プレーンは、コンピューティング要素に関連付けられたＬＡＮスイッチおよびＳＡＮスイッチが、特定のＶＳＦ（またはアイドル・プール）に関連付けられたＶＬＡＮおよびＳＡＮゾーンの一部となるように構成する。一実施形態によれば、それぞれの移行の間に、コンピューティング要素は電源を切るかまたはリブートされる。再度電源を入れると、オペレーティング・システム（たとえばＬｉｎｕｘ（ＴＭ）、ＮＴ（ＴＭ）、Ｓｏｌａｒｉｓ（ＴＭ）など）のブート可能イメージを含む、ＳＡＮ上にある別の部分の記憶ゾーンを表示する。記憶ゾーンには、各組織に特有のデータ部分も含まれる（たとえばＷｅｂサーバに関連付けられたファイル、データベース区画など）。これは、他のＶＳＦのＶＬＡＮセットの一部である他のＶＬＡＮの一部でもあるため、移行先であるＶＳＦのＶＬＡＮに関連付けられた、ＣＰＵ、ＳＡＮ記憶デバイス、およびＮＡＳデバイスにアクセスすることができる。
【００４５】
好ましい実施形態では、記憶ゾーンには、コンピューティング要素によって想定可能な役割に関連付けられた、複数の事前に定義された論理設計図が含まれる。初期時には、Ｗｅｂサーバ、アプリケーション・サーバ、データベース・サーバなどの、任意の特定の役割またはタスク専用のコンピューティング要素はない。コンピューティング要素の役割は、複数の事前に定義され記憶された設計図の１つから取得されるものであって、設計図はそれぞれが、役割に関連付けられたコンピューティング要素にブート・イメージを定義するものである。設計図は、ブート・イメージ位置を役割に関連付けることができる、ファイル、データベース・テーブル、または任意の他の記憶様式の形態で格納することができる。
【００４６】
したがって、図４Ａ、図４Ｂ、図４Ｃ、および図４ＤでのＣＰＵＸの移動は物理的ではなく論理的であって、制御プレーンの制御下でＶＬＡＮスイッチおよびＳＡＮゾーンを再構成することによって達成される。さらに、初期にコンピューティング・グリッド内にある各コンピューティング要素は、本来は代替可能なものであり、仮想サーバ・ファーム内で接続された後にのみ特有の処理に関する役割を想定して、ブート・イメージからソフトウェアをロードする。Ｗｅｂサーバ、アプリケーション・サーバ、データベース・サーバなどのような、任意の特定の役割またはタスク専用のコンピューティング要素はない。コンピューティング要素の役割は、複数の事前に定義され記憶された設計図の１つから取得されるものであって、設計図はそれぞれが、役割に関連付けられたコンピューティング要素にブート・イメージを定義するものである。
【００４７】
任意の所与のコンピューティング要素（ローカル・ディスクなど）に記憶された長寿命の状態情報がないため、異なるＶＳＦ間でノードを容易に移動させることが可能であり、まったく異なるＯＳおよびアプリケーション・ソフトウェアを実行することができる。さらにこれによって、予定されているかまたは予定外のダウンタイム発生時に、各コンピューティング要素が非常に交換しやすくなる。
【００４８】
特定のコンピューティング要素は、様々なＶＳＦから出し入れされる場合に、異なる役割を果たすことができる。たとえば、コンピューティング要素は、１つのＶＳＦにおいてＷｅｂサーバとして動作することが可能であり、異なるＶＳＦに入れられたときにはデータベース・サーバ、Ｗｅｂロード・バランサ、ファイアウォールなどとなることができる。また、異なるＶＳＦ内でＬｉｎｕｘ（ＴＭ）、ＮＴ（ＴＭ）、またはＳｏｌａｒｉｓ（ＴＭ）などの異なるオペレーティング・システムを連続的にブートして実行することもできる。したがって、コンピューティング・グリッド内にある各コンピューティング要素は代替可能であり、固定的な役割は与えられていない。そのため、コンピューティング・グリッドの予備的処理能力全体を使用して、任意のＶＳＦが必要とする任意のサービスを提供することができる。これにより、特定のサービスを実行している各サーバが、潜在的に同じサービスを提供できる何千ものバックアップ・サーバを備えることになるため、単一のＶＳＦが提供するサービスに対して、高い使用可能度および信頼性が与えられる。
【００４９】
さらに、コンピューティング・グリッドの大規模な予備的処理能力によって、動的なロード・バランシング特性、ならびに高いプロセッサ使用可能度の両方を提供することができる。この能力は、ＶＬＡＮを介して相互接続され、ＳＡＮを介して記憶デバイスの構成可能ゾーンに接続された、すべてが制御プレーンによってリアルタイムで制御される、ディスクのないコンピューティング要素を固有に組み合わせることによって実行することができる。あらゆるコンピューティング要素は、任意のＶＳＦ内で任意の必須サーバの役割を果たすことが可能であり、ＳＡＮ内の任意のディスクの任意の論理区画に接続可能である。グリッドがさらに多くのコンピューティング能力またはディスク容量を必要とする場合、コンピューティング要素またはディスク記憶域がアイドル・プールに手動で追加され、これはより多くの組織にＶＳＦサービスが提供されるにつれて、経時的に減らすことができる。ＣＰＵの数、ネットワークおよびディスクの帯域幅、ならびにＶＳＦが使用可能な記憶域を増やすために、手動介入は不要である。こうしたすべての資源は、アイドル・プール内で制御プレーンが使用可能なＣＰＵ、ネットワークおよびディスクの資源から、オン・デマンドで割り振られる。
【００５０】
特定のＶＳＦは、手動再構成の対象ではない。アイドル・プール内のマシンのみが、手動でコンピューティング・グリッド内に組み入れられる。その結果、現在手動で構築されたサーバ・ファーム内に存在する潜在的に高い危険性が除去される。新しいサーバを活動中のサーバ・ファーム内に組み入れる際に、人的な誤りによってサーバ・ファームが誤動作を起こす場合があり、その結果、そのＷｅｂサイトのユーザに対するサービスが失われることがある、という可能性は仮想的には消去される。
【００５１】
制御プレーンは、記憶デバイスに接続されたＳＡＮに格納されたデータの複製も行うため、任意の特定記憶要素に障害が発生しても、システムのどんな部分にもサービスの損失は発生させない。ＳＡＮを使用してコンピューティング・デバイスから長寿命記憶装置を分離し、冗長な記憶装置およびコンピューティング要素を提供することにより、任意のコンピューティング要素を任意の記憶区画に接続することが可能であり、高い使用可能度が達成される。
【００５２】
（仮想サーバ・ファームの確立、そのファームへの処理装置の追加、およびそのファームからの処理装置の除去に関する詳細な例）
図５Ａは、実施形態によるＶＳＦシステムを示す構成図である。図５Ａを参照しながら、ＶＳＦの作成、そのＶＳＦへのノードの追加、およびそのＶＳＦからのノードの削除に使用することができる、詳細なステップについて下記で説明する。
【００５３】
図５Ａは、ＶＬＡＮ対応スイッチ５０４に結合されたコンピュータＡ〜Ｇを含む、コンピューティング要素５０２を示す図である。ＶＬＡＮスイッチ５０４はインターネット１０６に結合され、ＶＬＡＮスイッチにはポートＶ１、Ｖ２などがある。さらにコンピュータＡ〜Ｇは、ＳＡＮスイッチ５０６に結合され、これが複数の記憶デバイスまたはディスクＤ１〜Ｄ５に結合される。ＳＡＮスイッチ５０６にはポートＳ１、Ｓ２などがある。制御プレーン・マシン５０８は、制御パスおよびデータ・パスによって、ＳＡＮスイッチ５０６およびＶＬＡＮスイッチ５０４に結合される。制御プレーンは、制御ポートを介してこれらのデバイスに制御コマンドを送信することができる。
【００５４】
説明を簡単にするために、図５Ａではコンピューティング要素の数を少なくしてある。実際には、たとえば何千またはそれ以上に上る多数のコンピュータと、同様に多数の記憶デバイスによって、コンピューティング・グリッドが形成されている。こうした大規模な構造では、複数のＳＡＮスイッチが相互接続されてメッシュを形成し、複数のＶＬＡＮスイッチが相互接続されてＶＬＡＮメッシュを形成する。ただし、単純でわかりやすくするために、図５Ａには単一のＳＡＮスイッチおよび単一のＶＬＡＮスイッチが示されている。
【００５５】
初期時に、制御プレーンがＶＳＦの作成要求を受け取るまでは、すべてのコンピュータＡ〜Ｇがアイドル・プールに割り当てられる。ＶＬＡＮスイッチのすべてのポートは特定のＶＬＡＮに割り当てられ、これをＶＬＡＮ  １（アイドル・ゾーン用）と表示するものとする。制御プレーンが、１つのロード・バランサ／ファイアウォールと、ＳＡＮ上の記憶装置に接続された２つのＷｅｂサーバとを含む、ＶＳＦの構築を要求されたものと想定する。制御プレーンへの要求は、管理インターフェースまたは他のコンピューティング要素を介して着信することができる。
【００５６】
これに応答して、制御プレーンはＣＰＵ  Ａをロード・バランサ／ファイアウォールとして割り当てるかまたは割り振り、ＣＰＵ  ＢおよびＣをＷｅｂサーバとして割り振る。ＣＰＵ  Ａは、論理上、ＳＡＮゾーン１に配置され、ロード・バランシング／ファイアウォール用の専用ソフトウェアを含むディスク上のブート可能区画が指し示される。「指し示される」という用語は便宜上使用されており、ＣＰＵ  Ａが動作させる必要のある適切なソフトウェアを取得するかまたは見つけることができるのに十分な情報が、何らかの手段によってＣＰＵ  Ａに与えられることを示す意図の用語である。ＣＰＵ  ＡをＳＡＮゾーン１に配置することで、そのＳＡＮゾーンのＳＡＮによって制御されるディスクからＣＰＵ  Ａが資源を取得することができる。
【００５７】
ロード・バランサは、ＣＰＵ  ＢおよびＣを２つのＷｅｂサーバとして理解するように制御プレーンによって構成され、ロード・バランシングを行うことが想定される。ファイアウォール構成により、ＣＰＵ  ＢおよびＣがインターネット１０６から許可なくアクセスされるのを防ぐことができる。ＣＰＵ  ＢおよびＣには、特定のオペレーティング・システム（たとえば、Ｓｏｌａｒｉｓ（ＴＭ）、Ｌｉｎｕｘ（ＴＭ）、ＮＴ（ＴＭ）など）およびＷｅｂサーバ・アプリケーション・ソフトウェア（たとえばＡｐａｃｈｅ）用のブート可能ＯＳイメージを含む、ＳＡＮ上のディスク区画が指し示される。ＶＬＡＮスイッチは、ＶＬＡＮ  １上にポートｖ１およびｖ２を配置し、ＶＬＡＮ  ２上にポートｖ３、ｖ４、ｖ５、ｖ６、およびｖ７を配置するよう構成される。制御プレーンは、ＳＡＮゾーン１にファイバ・チャネル・スイッチ・ポートｓ２、ｓ３、およびｓ８を配置するように、ＳＡＮスイッチ５０６を構成する。
【００５８】
ＣＰＵにどのように特定のディスク・ドライブが指し示されるか、およびこれがブートアップおよびディスク・データへの共用アクセスに関して何を意味するかについて、さらに説明する。
【００５９】
図６は、結果として生じる、集合的にＶＳＦ１と呼ばれるコンピューティング要素の論理接続を示す構成図である。ディスク・ドライブＤＤ１は、記憶デバイスＤ１、Ｄ２などの中から選択される。図６に示されるように、いったん論理構造が達成されると、ＣＰＵ  Ａ、Ｂ、Ｃに起動コマンドが与えられる。これに応答して、ＣＰＵ  Ａは専用のロード・バランサ／ファイアウォール・マシンとなり、ＣＰＵ  Ｂ、ＣはＷｅｂサーバとなる。
【００６０】
次に、ポリシー・ベースの規則により、制御プレーンが、ＶＳＦ  １内に他のＷｅｂサーバが必要であると判断するものと想定する。これは、Ｗｅｂサイトに入ってくる要求の数が増えるためであり、顧客プランでは少なくとも３つのＷｅｂサーバをＶＳＦ  １に追加することが可能である。あるいは、ＶＳＦを所有または操作する組織が他のサーバを要求し、それ自体のＶＳＦにサーバを追加できるようにする特権が付与されたＷｅｂページなどの管理メカニズムを介して追加したものである。
【００６１】
これに応答して、制御プレーンはＣＰＵ  ＤをＶＳＦ  １に追加することを決定する。そのために、制御プレーンは、ＶＬＡＮ  ２にポートｖ８およびｖ９を追加して、ＣＰＵ  ＤをＶＬＡＮ  ２に追加することになる。また、ＣＰＵ  ＤのＳＡＮポートｓ４もＳＡＮゾーン１に追加される。ＣＰＵ  Ｄには、Ｗｅｂサーバとしてブートアップし実行するＳＡＮ記憶装置のブート可能部分が指し示される。ＣＰＵ  Ｄは、Ｗｅｂページ・コンテンツ、実行可能サーバ・スクリプトなどからなる、ＳＡＮ上にある共用データへの読み取り専用アクセスも取得する。この方法で、サーバ・ファームに関するＷｅｂ要求が処理可能となり、ＣＰＵ  ＢおよびＣが要求を処理する。さらに制御プレーンは、ロード・バランシングが行われるサーバ・セットの一部としてＣＰＵ  Ｄを含むように、ロード・バランサ（ＣＰＵ  Ａ）を構成することにもなる。
【００６２】
次にＣＰＵ  Ｄがブートアップされ、この時点でＶＳＦのサイズが３つのＷｅｂサーバと１つのロード・バランサに増やされている。図７は、結果的に生じる論理接続を示す構成図である。
【００６３】
ここで制御プレーンが、ＶＳＦ  ２と命名されることになり、２つのＷｅｂサーバおよび１つのロード・バランサ／ファイアウォールを必要とする、他のＶＳＦを作成する要求を受け取ると想定する。制御プレーンは、ＣＰＵ  Ｅをロード・バランサ／ファイアウォールとし、ＣＰＵ  Ｆ、ＧをＷｅｂサーバとするように割り振る。これでＣＰＵ  ＥはＣＰＵ  Ｆ、Ｇが互いにロード・バランシングされる２つのマシンであることを理解するように構成される。
【００６４】
この構成を実施するために、制御プレーンは、ＶＬＡＮ  １がポートｖ１０、ｖ１１を含み（すなわち、インターネット１０６に接続され）、ＶＬＡＮ  ３がポートｖ１２、ｖ１３、およびｖ１４、ｖ１５を含むように、ＶＬＡＮスイッチ５０４を構成する。同様に、ＳＡＮゾーン２がＳＡＮポートｓ６およびｓ７およびｓ９を含むように、ＳＡＮスイッチ５０６を構成する。このＳＡＮゾーンには、ＣＰＵ  Ｅをロード・バランサとして実行し、ＣＰＵ  ＦおよびＧを、ＳＡＮゾーン２のディスクＤ２に含まれる共用読取り専用ディスク区画を使用するＷｅｂサーバとして実行するのに必要なソフトウェアを含む、記憶装置が含まれる。
【００６５】
図８は、結果的に生じる論理接続を示す構成図である。２つのＶＳＦ（ＶＳＦ  １、ＶＳＦ  ２）は同じ物理ＶＬＡＮスイッチおよびＳＡＮスイッチを共用するが、２つのＶＳＦは論理的に区分されている。ＣＰＵ  Ｂ、Ｃ、Ｄにアクセスするユーザ、またはＶＳＦ  １を所有するかまたは動作させる企業は、ＶＳＦ  １のＣＰＵおよび記憶装置にのみアクセスできる。こうしたユーザは、ＶＳＦ  ２のＣＰＵまたは記憶装置にはアクセスできない。これは、唯一の共用セグメント（ＶＬＡＮ  １）上にある別々のＶＬＡＮおよび２つのファイアウォールと、２つのＶＳＦが構成される異なるＳＡＮゾーンとの組み合わせによって生じるものである。
【００６６】
さらに、その後、制御プレーンはＶＳＦ  １を２つのＷｅｂサーバに戻すことを決定すると想定する。これは、ＶＳＦ  １上で一時的に増加した負荷が減少したか、または何らかの他の管理的処置が講じられたためである。これに応答して、制御プレーンは、ＣＰＵの電源切断を含む可能性のある特別なコマンドによって、ＣＰＵ  Ｄをシャットダウンする。ＣＰＵがいったんシャットダウンされると、制御プレーンはポートｖ８およびｖ９をＶＬＡＮ  ２から除去し、ＳＡＮポートｓ４もＳＡＮゾーン１から除去する。ポートｓ４はＳＡＮのアイドル・ゾーンに配置される。ＳＡＮのアイドル・ゾーンには、たとえばＳＡＮゾーン１（アイドル用）またはゾーン０が指定される。
【００６７】
その後何らかの時点で、制御プレーンは別のノードをＶＳＦ  ２に追加するように決定することができる。これは、ＶＳＦ  ２内のＷｅｂサーバにかかる負荷が一時的に増加したか、または他の理由によって生じるものである。したがって、制御プレーンは、破線パス８０２で示されるように、ＣＰＵ  ＤをＶＳＦ  ２に配置することを決定する。そのためには、ＶＬＡＮ  ３がポートｖ８、ｖ９を含み、ＳＡＮゾーン２がＳＡＮポートｓ４を含むように、ＶＬＡＮスイッチを構成する。ＣＰＵ  Ｄには、ＶＳＦ  ２のサーバに必要なＯＳおよびＷｅｂサーバ・ソフトウェアのブート可能イメージを含む、ディスク・デバイス２上の記憶部分が指し示される。またＣＰＵ  Ｄには、ＶＳＦ  ２内の他のＷｅｂサーバによって共用されているファイル・システムにあるデータへの読取り専用アクセス権も与えられる。ＣＰＵ  Ｄは、再度電源が投入され、ＶＳＦ  ２内でロード・バランシングされたＷｅｂサーバとして実行され、その後は、ＶＬＡＮ  ２に接続されたＳＡＮゾーン１またはＣＰＵにあるどんなデータにもアクセスできない。具体的に言えば、たとえＣＰＵ  Ｄが以前はＶＳＦ  １の一部であったとしても、ＶＳＦ  １のどんな要素にもアクセスする手段がなくなる。
【００６８】
さらに、この構成では、ＣＰＵ  Ｅが強制するセキュリティ外辺部が、ＣＰＵ  Ｄを含むように動的に拡張されている。したがって、実施形態では、ＶＳＦに追加されるかまたはＶＳＦから除去されるコンピューティング要素を適切に保護するように自動的に調整する、動的なファイアウォールを提供する。
【００６９】
（ＳＡＮのディスク・デバイス）
ブートアップのため、または他のノードと共用する必要があるディスク記憶装置にアクセスするために、ＣＰＵに対してＳＡＮ上にある特定のデバイスを指し示す方法、あるいはそうでなければブートアップ・プログラムおよびデータを見つけることのできる情報を提供することができる方法がいくつかある。
【００７０】
その１つが、コンピューティング要素に接続されたＳＣＳＩ対ファイバ・チャネル・ブリッジング・デバイスを使用し、ローカル・ディスクにＳＣＳＩインターフェースを提供する方法である。そのＳＣＳＩポートをファイバ・チャネルＳＡＮ上の正しいドライブに経路指定することによって、コンピュータは、ローカル接続されたＳＣＳＩディスクにアクセスするのと同様に、ファイバ・チャネルＳＡＮ上にある記憶デバイスにアクセスすることができる。したがって、ブートアップ・ソフトウェアなどのソフトウェアは、ローカル接続されたＳＣＳＩディスクをブートオフするのと同様に、ＳＡＮ上にあるディスク・デバイスをブートオフするだけである。
【００７１】
もう１つは、ノードおよび関連するデバイス・ドライバ上にファイバ・チャネル・インターフェースを設け、ファイバ・チャネル・インターフェースをブート・デバイスとして使用できるようにするＲＯＭおよびＯＳソフトウェアをブートする方法である。
【００７２】
もう１つは、ＳＣＳＩまたはＩＤＥデバイス制御装置のようであるが、ディスクにアクセスするためにＳＡＮを介して通信する、インターフェース・カード（たとえばＰＣＩバスまたはＳバス）を設ける方法である。Ｓｏｌａｒｉｓ（ＴＭ）およびＷｉｎｄｏｗｓ（Ｒ）  ＮＴなどのオペレーティング・システムは、全体的に、この代替例で使用可能なディスクなしのブート機能を提供する。
【００７３】
典型的には、所与のノードに関連付けられたＳＡＮディスク・デバイスには２種類ある。その第１は、他のコンピューティング要素と論理的には共用されず、通常はブート可能ＯＳイメージ、ローカル構成ファイルなどを含むノードごとのルート区画を構成する種類のディスクである。これはＵｎｉｘ（Ｒ）システムのルート・ファイルシステムと等価である。
【００７４】
第２の種類のディスクは、他のノードと記憶装置を共用する。この種の共用は、ＣＰＵ上で実行されるＯＳソフトウェアおよびノードが共用記憶装置にアクセスする必要性によって変化する。ＯＳが、複数のノード間での共用ディスク区画への読取り／書込みアクセスを可能にする、クラスタ・ファイル・システムを提供する場合、こうしたクラスタ・ファイル・システムとして共用ディスクが取り付けられる。同様に、システムは、クラスタ内で実行中の複数のノードが共用ディスクに同時に読取り／書込みアクセスできるようにする、Ｏｒａｃｌｅ  Ｐａｒａｌｌｅｌ  Ｓｅｒｖｅｒ（ＴＭ）などのデータベース・ソフトウェアを使用することができる。このような場合、共用ディスクはすでに、基本となるＯＳおよびアプリケーション・ソフトウェアに組み込まれている。
【００７５】
ＯＳおよび関連するアプリケーションが他のノードと共用のディスク・デバイスを管理できないために、こうした共用アクセスができないオペレーティング・システムの場合、共用ディスクを読取り専用デバイスとして取り付けることができる。多くのＷｅｂアプリケーションの場合、Ｗｅｂ関連ファイルへの読取り専用アクセスがあれば十分である。たとえば、Ｕｎｉｘ（Ｒ）システムでは、特定のファイルシステムを読み取り専用として取り付けることができる。
【００７６】
（多重スイッチ・コンピューティング・グリッド）
図５Ａに関連して上記で述べた構成は、大規模交換ＶＬＡＮ構造を形成するために複数のＶＬＡＮスイッチを相互接続させることによって、また大規模交換ＳＡＮメッシュを形成するために複数のＳＡＮスイッチを相互接続させることによって、多数のコンピューティング・ノードおよび記憶ノードに拡張することができる。この場合、コンピューティング・グリッドは、図４に一般的に示されたアーキテクチャを備えるが、ＣＰＵおよび記憶デバイス用の非常に多数のポートを含むＳＡＮ／ＶＬＡＮ交換メッシュは除く。制御プレーン上で動作するいくつかのマシンは、以下で説明するように、ＶＬＡＮ／ＳＡＮスイッチの制御ポートに物理的に接続することができる。当分野では、複数のＶＬＡＮスイッチを相互接続して、複雑な多重キャンパス内データ・ネットワークを作成することが知られている。たとえば、ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗａｒｐ／ｐｕｂｌｉｃ／ｃｃ／ｓｏｌ／ｍｋｔ／ｅｎｔ／ｎｄｓｇｎ／ｈｉｇｈｄ＿ｗｐ．ｈｔｍからオンラインで入手可能な、Ｇ．Ｈａｖｉｌａｎｄの「Ｄｅｓｉｇｎｉｎｇ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｃａｍｐｕｓ  Ｉｎｔｒａｎｅｔｓ  ｗｉｔｈ  Ｍｕｌｔｉｌａｙｅｒ  Ｓｗｉｔｃｈｉｎｇ」Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（ＴＭ）を参照されたい。
【００７７】
（ＳＡＮアーキテクチャ）
この説明では、ＳＡＮがファイバ・チャネル・スイッチおよびディスク・デバイスを備え、潜在的にはＳＣＳＩ対ファイバ・チャネル・ブリッジなどのファイバ・チャネル・エッジ・デバイスを備えることを想定している。ただし、ＳＡＮは、ギガビット・イーサネット（Ｒ）・スイッチ、または他の物理層プロトコルを使用するスイッチなどの代替技法を使用して構築することも可能である。具体的に言えば、ＩＰを介してＳＣＳＩプロトコルを実行することにより、ＩＰネットワークを介してＳＡＮを構築するための努力が、現在進行中である。前述の方法およびアーキテクチャは、ＳＡＮを構築するためのこうした代替方法に適合可能である。ＶＬＡＮ実行可能層２環境を介して、ＩＰを介したＳＣＳＩのようなプロトコルを実行することによって、ＳＡＮが構築される場合、ＳＡＮゾーンは、これらを異なるＶＬＡＮにマッピングすることによって作成される。
【００７８】
また、高速イーサネット（Ｒ）またはギガビット・イーサネット（Ｒ）などのＬＡＮ技法を介して動作する、ネットワーク結合記憶装置（ＮＡＳ）も使用可能である。このオプションでは、コンピューティング・グリッドのセキュリティおよび論理区分を実施するために、ＳＡＮゾーンの代わりに異なるＶＬＡＮが使用される。こうしたＮＡＳデバイスは、典型的には、複数のノードが同じ記憶装置を共用できるようにするために、Ｓｕｎ（ＴＭ）のＮＳＦプロトコルまたはＭｉｃｒｏｓｏｆｔ（ＴＭ）のＳＭＢなどのネットワーク・ファイルシステムをサポートする。
【００７９】
（制御プレーンの実施）
前述の説明では、制御プレーンはＳＡＮ／ＶＬＡＮスイッチの制御ポートおよびデータ・ポートに結合されたボックスとして表されている。ただし、他の制御プレーンの実施も検討されている。
【００８０】
典型的には、ＳＡＮ／ＶＬＡＮ制御ポートはイーサネット（Ｒ）・インターフェースである。図９は、こうした場合に使用可能なアーキテクチャを示す構成図である。各ＶＬＡＮスイッチ（ＶＬＡＮ  ＳＷ１、ＶＬＡＮ  ＳＷｎ）のすべての制御（「ＣＴＬ」）ポートおよび各ＳＡＮスイッチ（ＳＡＮ  ＳＷ１、ＳＡＮ  ＳＷｎ）のすべての制御ポートが、単一のイーサネット（Ｒ）・サブネット９０２上に配置される。サブネット９０２は複数の制御プレーン・マシンＣＰ  ＣＰＵ１、ＣＰ  ＣＰＵ２などにのみ接続される。これにより、複数の制御プレーン・マシンを、すべてのＳＡＮスイッチおよびＶＬＡＮスイッチの制御ポートに接続することができる。
【００８１】
この構成では、複数の制御プレーン・マシンは集合的に、制御プレーンまたはＣＰ  ９０４と呼ばれる。ＣＰ  ９０４内のマシンのみが、ＶＬＡＮスイッチおよびＳＡＮスイッチの制御ポートへの物理的な接続を有する。したがって、所与のＶＳＦにあるＣＰＵが、独自のＶＳＦまたは任意の他のＶＳＦに関連付けられたＶＬＡＮおよびＳＡＮゾーンのメンバシップを変更することはできない。
【００８２】
あるいは、イーサネット（Ｒ）・インターフェースの代わりに、制御ポートがシリアル・ポートまたはパラレル・ポートであってもよい。この場合、ポートは制御プレーン・マシンに結合される。
【００８３】
（制御プレーン・データとＶＬＡＮとの接続）
制御プレーンを実行するマシンは、ＶＬＡＮスイッチならびにＳＡＮスイッチの両方にあるデータ・ポートへのアクセスを有する必要がある。これは、制御プレーンが特定のノードに関するファイルを構成し、現在のＣＰＵ負荷、ネットワーク負荷、およびディスク負荷に関するノードからリアルタイム情報を収集することができるようにするために必要である。
【００８４】
図５Ｂは、制御プレーン５１６とデータ・ポートとを接続するための構成を示す、一実施形態の構成図である。一実施形態では、各ＶＳＦ内のマシンが、制御プレーンのエージェントとして動作しているマシン５１０に定期的にパケットを送信する。あるいは、制御プレーン・エージェント・マシン５１０が、ＶＳＦ内のノードに対して自らのリアルタイム・データについて定期的にポーリングすることができる。その後、制御プレーン・エージェント・マシン５１０は、ＶＳＦ内のすべてのノードから集めたデータを、ＣＰ  ５１６に送信する。ＣＰ  ５１６内の各マシンは、ＣＰ  ＬＡＮ  ５１４に結合される。ＣＰ  ＬＡＮ  ５１４は、ＣＰファイアウォール５１２を介して、ＶＬＡＮスイッチ５０４の特別ポートＶ１７に結合される。これにより、ＣＰには、すべてのＶＳＦにあるノードからすべてのリアルタイム情報を集めるための、スケーラブルで確実な手段が提供される。
【００８５】
（制御プレーンとＳＡＮデータとの接続）
図１０は、制御プレーン・マシンと、複数のＳＡＮスイッチを使用する実施形態（「ＳＡＮメッシュ」）との接続を示す、構成図である。複数の制御プレーン・マシンＣＰ  ＣＰＵ１、ＣＰ  ＣＰＵ２などが、制御プレーン・サーバ・ファーム（ＣＰ）９０４を形成する。各制御プレーン・マシンがＳＡＮメッシュのポートに結合される。
【００８６】
制御プレーン・マシンに関連付けられているのが、制御プレーン専用のデータを含むディスク１００４に接続された、ＳＡＮポートＳｏ、Ｓｐのセットである。ディスク１００４は、制御プレーンがログ・ファイル、統計データ、現在の制御プレーン構成情報、および制御プレーンを実施するソフトウェアを維持する領域である、制御プレーン専用記憶ゾーン１００２内に論理的に配置される。ＳＡＮポートＳｏ、Ｓｐは、制御プレーンＳＡＮゾーンの一部にしかすぎない。ポートＳｏ、Ｓｐは、いかなる他のＳＡＮゾーン上にも決して配置されず、ＣＰ  ９０４の一部であるマシンだけが、これらのポートに接続されたディスク１００４にアクセスすることができる。
【００８７】
ポートＳ１、Ｓ２、およびＳｎ、ならびにポートＳｏおよびＳｐは、制御プレーンＳＡＮゾーン内にある。アイドル・ポートまたは任意のＶＳＦのいずれからのコンピューティング要素も、制御プレーンＳＡＮゾーンの一部ではない。これによって、制御プレーン専用データが、任意のＶＳＦからアクセスされるのを確実に防ぐことができる。
【００８８】
特定の制御プレーン・マシンが、図１０のＶＳＦ  １などの特定のＶＳＦの一部であるディスク区画にアクセスする必要がある場合は、そのＶＳＦに関連付けられたＳＡＮゾーン内に配置される。この例では、ＣＰ  ＣＰＵ２がＶＳＦ  １のディスクにアクセスする必要があるため、ＣＰ  ＣＰＵ２に関連付けられたポートｓ２がＶＳＦ  １のＳＡＮゾーンに配置され、これがポートｓｉを含む。ＣＰ  ＣＰＵがポートｓｉ上のディスクにいったんアクセスすると、ＶＳＦ  １のＳＡＮゾーンから除去される。
【００８９】
同様に、ＣＰ  ＣＰＵ１などのマシンがＶＳＦ  ｊのディスクにアクセスする必要がある場合は、ＶＳＦ  ｊに関連付けられたＳＡＮゾーンに配置される。その結果、ポートｓ２は、ポートｓｊを含むゾーンを含む、ＶＳＦ  ｊに関連付けられたＳＡＮゾーンに配置される。ＣＰ  １がポートｓｊに接続されたディスクにいったんアクセスすると、ＶＳＦ  ｊに関連付けられたＳＡＮゾーンから除去される。
【００９０】
（制御プレーンとＶＬＡＮデータとの接続）
制御プレーン・マシンは、リアルタイム負荷関連情報などの情報をコンピューティング・ノードから集める必要がある。これを実行するために、制御プレーンは、グリッドそれ自体にあるノードとのネットワーク接続を備える必要がある。
【００９１】
（ワイド・エリア・コンピューティング・グリッド）
前述のＶＳＦは、いくつかの方法でＷＡＮを介して分散することができる。
【００９２】
一代替例では、非同期転送モード（ＡＴＭ）スイッチングに基づくワイド・エリア・バックボーンが可能である。この場合、ＡＴＭ  ＬＡＮエミュレーション（ＬＡＮＥ）標準の一部であるエミュレーテッドＬＡＮ（ＥＬＡＮ）を使用して、各ローカル・エリアＶＬＡＮがワイド・エリア内に拡張される。この方法では、単一のＶＳＦが、ＡＴＭ／ＳＯＮＥＴ／ＯＣ−１２リンクなどのいくつかのワイド・エリア・リンクにまたがることができる。ＥＬＡＮは、ＡＴＭ  ＷＡＮをまたがって拡張されるＶＬＡＮの一部となる。
【００９３】
あるいは、ＶＳＦはＶＰＮシステムを使用し、ＷＡＮをまたがって拡張される。この実施形態では、ネットワークの基礎となる特徴が無関係となり、ＷＡＮをまたがって２つまたはそれ以上のＶＳＦを相互接続して、単一の分散ＶＳＦを作成するために、ＶＰＮが使用される。
【００９４】
分散ＶＳＦ内でデータをローカル・コピーするために、データ・ミラーリング技術を使用することができる。あるいは、ＳＡＮ対ＡＴＭブリッジングまたはＳＡＮ対ギガビット・イーサネット（Ｒ）・ブリッジングなどの、いくつかのＳＡＮ対ＷＡＮブリッジング技法のうち１つを使用して、ＳＡＮがＷＡＮを介してブリッジングされる。ＩＰネットワークを介して構築されたＳＡＮは、ＩＰがこうしたネットワークを介するとうまく動作するため、ＷＡＮを介して自然に拡張される。
【００９５】
図１１は、ＷＡＮ接続を介して拡張される複数のＶＳＦを示す構成図である。Ｓａｎ  Ｊｏｓｅセンタ、Ｎｅｗ  Ｙｏｒｋセンタ、およびＬｏｎｄｏｎセンタが、ＷＡＮ接続によって結合される。各ＷＡＮ接続には、上記の様式で、ＡＴＭ、ＥＬＡＮ、またはＶＰＮ接続が含まれる。各センタには、少なくとも１つのＶＳＦおよび少なくとも１つのアイドル・プールが含まれる。たとえば、Ｓａｎ  ＪｏｓｅセンタにはＶＳＦ１Ａおよびアイドル・プールＡがある。この構成では、任意の他のセンタに配置されたＶＳＦへ割り振るかまたは割り当てるために、センタの各アイドル・プールのコンピューティング資源が使用可能である。こうした割振りまたは割当てが実行されると、ＶＳＦはＷＡＮを介して拡張されることになる。
【００９６】
（ＶＳＦの使用例）
前述の例で説明したＶＳＦアーキテクチャは、Ｗｅｂサーバ・システムに関連して使用することができる。したがって、前述の例は、特定のＶＳＦにおいてＣＰＵで構築されるＷｅｂサーバ、アプリケーション・サーバ、およびデータベース・サーバに関して述べてきた。ただし、ＶＳＦアーキテクチャは、多くの他のコンピューティング状況で、他の種類のサービスを提供するために使用することが可能であり、これはＷｅｂサーバ・システムに限定されるものではない。
【００９７】
（コンテンツ分散ネットワークの一部としての分散ＶＳＦ）
一実施形態では、ＶＳＦが、ワイド・エリアＶＳＦを使用してコンテンツ分散ネットワーク（ＣＤＮ）を提供する。
【００９８】
ＣＤＮは、データの分散キャッシュを実行するキャッシング・サーバのネットワークである。キャッシング・サーバのネットワークは、たとえば、カリフォルニア州Ｓａｎ  ＭａｔｅｏのＩｎｋｔｏｍｉ  Ｃｏｒｐｏｒａｔｉｏｎ（ＴＭ）から市販されているトラフィック・サーバ（ＴＳ）ソフトウェアを使用して実施することができる。ＴＳはクラスタ・アウェア・システムであって、システムは、キャッシング・トラフィック・サーバ・マシンのセットにさらにＣＰＵが追加されると拡大する。したがって、ＣＰＵの追加が拡大のメカニズムであるシステムには好適である。
【００９９】
この構成では、システムは、ＴＳなどのキャッシング・ソフトウェアを実行するＶＳＦの部分にさらにＣＰＵを動的に追加することが可能であり、それによって、Ｗｅｂトラフィックがほぼ満杯状態になるまでキャッシュ容量を増加する。その結果ＣＤＮは、適応的な方法で、ＣＰＵおよびＩ／Ｏ帯域幅を動的に拡大するように構築することができる。
【０１００】
（ホストされるイントラネット・アプリケーション用のＶＳＦ）
企業資源計画（ＥＲＰ）、ＯＲＭ、およびＣＲＭソフトウェアなどのイントラネット・アプリケーションをホストおよび管理されたサービスとして提供することに対して、関心が高まっている。Ｃｉｔｒｉｘ  ＷｉｎＦｒａｍｅ（ＴＭ）およびＣｉｔｒｉｘ  ＭｅｔａＦｒａｍｅ（ＴＭ）などの技術は、企業が、Ｍｉｃｒｏｓｏｆｔ（ＴＭ）  Ｗｉｎｄｏｗｓ（Ｒ）アプリケーションを、Ｗｉｎｄｏｗｓ（Ｒ）  ＣＥデバイスまたはＷｅｂブラウザなどのシン・クライアントでのサービスとして提供できるようにするものである。ＶＳＦは、こうしたアプリケーションをスケーラブルな方法でホストすることができる。
【０１０１】
たとえば、ドイツのＳＡＰ  Ａｋｔｉｅｎｇｅｓｅｌｌｓｃｈａｆｔ（ＴＭ）から市販されているＳＡＰ  Ｒ／３  ＥＲＰ（ＴＭ）ソフトウェアは、企業が、複数のアプリケーションおよびデータベース・サーバを使用してロード・バランシングを行えるようにするものである。ＶＳＦの場合、企業は、リアルタイム要求または他の要素に基づいてＶＳＦを拡大するために、ＶＳＦにより多くのアプリケーション・サーバ（たとえばＳＡＰダイアログ・サーバ）を動的に追加する。
【０１０２】
同様に、Ｃｉｔｒｉｘ  Ｍｅｔａｆｒａｍｅ（ＴＭ）は、企業が、より多くのＣｉｔｒｉｘ（ＴＭ）サーバを追加することにより、ホストされたＷｉｎｄｏｗｓ（Ｒ）アプリケーションを実行しているサーバ・ファーム上のＷｉｎｄｏｗｓ（Ｒ）アプリケーション・ユーザを拡大できるようにするものである。この場合、ＶＳＦでは、Ｃｉｔｒｉｘ  ＭｅｔａＦｒａｍｅ（ＴＭ）  ＶＳＦはＭｅｔａｆｒａｍｅ（ＴＭ）によってホストされたＷｉｎｄｏｗｓ（Ｒ）アプリケーションのより多くのユーザに対処するために、動的により多くのＣｉｔｒｉｘ（ＴＭ）サーバを追加することになる。
【０１０３】
多くの他のアプリケーションを、前述の例示的な例と同様の方法でホストできることは明らかであろう。
【０１０４】
（顧客とＶＳＦとの対話）
ＶＳＦはオン・デマンドで作成されるため、ＶＳＦを「所有する」ＶＳＦの顧客または組織は、ＶＳＦをカスタマイズするために様々な方法でシステムと対話することができる。たとえば、ＶＳＦは制御プレーンを介して即時に作成および修正されるため、ＶＳＦの顧客には、そのＶＳＦ自体を作成および修正するための特権的アクセスを認めることができる。特権的アクセスは、Ｗｅｂページおよびセキュリティ・アプリケーションによって与えられるパスワード認証、トークン・カード認証、ケルベロス交換、または他の適切なセキュリティ要素を使用して与えることができる。
【０１０５】
一実施形態例では、Ｗｅｂページのセットが制御プレーン・マシンまたは別々のサーバによって処理される。Ｗｅｂページは、いくつかの層、特定層内のコンピューティング要素の数、各要素に使用されるハードウェアおよびソフトウェア・プラットフォーム、ならびに、これらのコンピューティング要素上でどのような種類のＷｅｂサーバ、アプリケーション・サーバ、またはデータベース・サーバのソフトウェアを事前に構成しなければならないかなどを指定することによって、顧客が特別注文のＶＳＦを作成できるようにするものである。したがって、顧客には仮想提供コンソールが与えられる。
【０１０６】
顧客またはユーザがこうした提供情報を入力すると、制御プレーンは注文を解析および評価して、実行のために待ち行列に入れる。注文は、適切であるかどうかを確認するために、人間の管理者によって再検討することができる。企業が、要求されたサービスに対する支払いに適した信用枠を有するかどうかを確認するために、企業の信用調査を実行することができる。提供注文が承認されると、制御プレーンは注文に合致するＶＳＦを構成し、ＶＳＦの１つまたは複数のコンピューティング要素へのルート・アクセスを提供するパスワードを、顧客に戻すことができる。その後、顧客は、ＶＳＦで実行するためのアプリケーションのマスタ・コピーをアップロードすることができる。
【０１０７】
コンピューティング・グリッドをホストする企業が、営利目的の企業である場合、Ｗｅｂページは、クレジット・カード、ＰＯ番号、電子チェック、または他の支払い方法などの、支払い関連情報も受け取ることができる。
【０１０８】
他の実施形態では、Ｗｅｂページは、顧客がリアルタイム負荷に基づいて、要素の最大数から最小数までの間でＶＳＦを自動的に拡大および縮小させることなどの、いくつかのＶＳＦサービス・プランのうちの１つを選択できるようにするものである。顧客は、顧客がＷｅｂサーバなどの特定層でのコンピューティング要素の最小数、またはＶＳＦのサーバ処理能力が最低でなければならない時間枠などのパラメータを変更できるようにする、制御値を有することができる。パラメータは、顧客の請求料金を自動的に調整し、課金ログ・ファイル・エントリを生成する、課金ソフトウェアにリンクさせることができる。
【０１０９】
特権的アクセス・メカニズムを介して、顧客は、１秒あたりの使用量、負荷、ヒット、またはトランザクションに関するリアルタイム情報のレポートを取得し、これを監視して、さらにリアルタイム情報に基づいたＶＳＦの特徴を調整することができる。
【０１１０】
前述の特徴により、サーバ・ファームを構築するための従来の手作業による方法に比べて、はるかに有利であることは明らかであろう。従来の方法では、ユーザは、様々な方法でサーバを追加しサーバ・ファームを構成する際に、面倒な手順書に目を通さなければ、サーバ・ファームの特性に自動的に影響を与えることができない。
【０１１１】
（ＶＳＦの課金モデル）
ＶＳＦの性質が動的であることから、コンピューティング・グリッドおよびＶＳＦをホストする企業は、ＶＳＦのコンピューティング要素および記憶要素の実際の使用量に基づいた、ＶＳＦの課金モデルを使用して、ＶＳＦを所有する顧客に対して、サービス料を請求することができる。一律の課金モデルを使用する必要はない。本明細書で開示されたＶＳＦアーキテクチャおよび方法は、所与のＶＳＦの資源が静的に割り当てられないため、「従量料金制」の課金モデルを可能にすることができる。したがって、サーバ・ファームにかかる使用負荷がかなり変動的な特定の顧客の場合、一定のピーク時のサーバ処理能力に関連付けられた料金ではなく、実行平均使用量、瞬間使用量などを反映する料金で課金されるため、資金を節約することができる。
【０１１２】
たとえば、企業は、サーバ１０台など、最低数のコンピューティング要素に対して一定料金を規定し、さらにリアルタイム負荷により１０台より多くの要素が必要になった場合には、何台の追加サーバが必要であったか、およびそれが必要であった時間の長さに基づいて、追加サーバに対する増分料金がユーザに課金されることを規定する、課金モデルを使用して、運営することができる。
【０１１３】
こうした請求書の単位は、課金される資源を反映させることができる。たとえば、ＭＩＰＳ時間、ＣＰＵ時間、何千ＣＰＵ秒、などの単位で請求書に記載することができる。
【０１１４】
（顧客の管理下にある制御プレーンＡＰＩ）
他の代替例では、資源を変更するための制御プレーンへの呼出しを定義するアプリケーション・プログラミング・インターフェース（ＡＰＩ）を顧客に提供することによって、ＶＳＦの処理能力を制御することができる。したがって、顧客が作成したアプリケーション・プログラムは、ＡＰＩを使用してさらに多くのサーバ、多くの記憶装置、多くの帯域幅などを要求するための呼出しまたは要求を発行することができる。この代替例は、顧客がアプリケーション・プログラムにコンピューティング・グリッド環境を認識させ、制御プレーンによって提供される機能を利用させる必要がある場合に、使用することができる。
【０１１５】
上記で開示されたアーキテクチャでは、顧客がコンピューティング・グリッドで使用するために自らのアプリケーションを修正する必要がない。既存のアプリケーションは、手作業で構成されたサーバ・ファームの場合と同様に操作を続行する。ただし、アプリケーションは、制御プレーンが提供するリアルタイム負荷監視機能に基づいて、必要なコンピューティング資源についてよりよく理解すれば、コンピューティング・グリッド内で可能なダイナミズムを利用することが可能である。
【０１１６】
前述の性質を備えたＡＰＩは、アプリケーション・プログラムにサーバ・ファームのコンピューティング能力を変えさせることは可能であるが、既存の手作業による方法を使用してサーバ・ファームを構築することはできない。
【０１１７】
（自動更新およびバージョン変更）
本明細書で開示した方法およびメカニズムを使用すると、制御プレーンは、ＶＳＦのコンピューティング要素で実行されるオペレーティング・システム・ソフトウェアの自動更新およびバージョン変更を実行することができる。したがって、エンド・ユーザまたは顧客は、新しいパッチやバグ修正などを使ってオペレーティング・システムを更新することについて悩む必要がない。制御プレーンは、受け取ったソフトウェア要素のライブラリを維持し、影響を受けるすべてのＶＳＦのコンピューティング要素にこれらを自動的に分散し、インストールすることができる。
【０１１８】
（実装メカニズム）
コンピューティング要素および監視メカニズムは、いくつかの形式で実装することができる。一実施形態では、各コンピューティング要素は、不揮発性記憶装置１２１０を除き、図１２に示された要素を備えた汎用デジタル・コンピュータであり、監視メカニズムは、本明細書に記載のプロセスを実施するプログラム命令の制御下で動作する、図１２に示された種類の汎用デジタル・コンピュータである。
【０１１９】
図１２に、本発明の一実施形態を実装し得るコンピュータ・システム１２００を描写したブロック図を示す。コンピュータ・システム１２００は、情報の通信を行うためのバス１２０２またはその他の通信メカニズム、およびバス１２０２に接続された、情報を処理するためのプロセッサ１２０４を備える。またコンピュータ・システム１２００には、バス１２０２に接続された、情報およびプロセッサ１２０４によって実行される命令を格納するためのランダム・アクセス・メモリ（ＲＡＭ）またはその他の動的ストレージ・デバイス等のメイン・メモリ１２０６が備わる。メイン・メモリ１２０６は、さらにプロセッサ１２０４による命令の実行間において、一時変数またはその他の中間情報を格納するためにも使用される。さらにコンピュータ・システム１２００は、プロセッサ１２０４用の静的な情報ならびに命令を格納するための読み出し専用メモリ（ＲＯＭ）１２０８またはその他の静的ストレージ・デバイスを備え、それがバス１２０２に接続されている。ストレージ・デバイス１２１０は、磁気ディスクまたは光ディスク等であり、情報および命令を格納するために備えられ、バス１２０２に接続されている。
【０１２０】
コンピュータ・システム１２００には、陰極線管（ＣＲＴ）等の、コンピュータ・ユーザに情報を表示するためのディスプレイ１２１２がバス１２０２を介して接続されることもある。入力デバイス１２１４は、英数キーおよびその他のキーを備え、バス１２０２に接続されてプロセッサ１２０４に情報およびコマンドの選択を伝える。別のタイプのユーザ入力デバイスとして、マウス、トラックボール、またはカーソル移動キー等の、プロセッサ１２０４に方向情報およびコマンドの選択を伝え、ディスプレイ１２１２上におけるカーソルの移動をコントロールするためのカーソル・コントロール１２１６が備わっている。この入力デバイスは、通常、第１の軸（たとえばｘ軸）および第２の軸（たとえばｙ軸）からなる２軸に自由度を有しており、それによってこのデバイスは平面内のポジションを指定することができる。
【０１２１】
本発明は、ここに記述した方法、メカニズム及びアーキテクチャを実装するためのコンピュータ・システム１２００の使用に関する。本発明の一実施形態によれば、このような方法とメカニズムは、メイン・メモリ１２０６に収められた１ないしは複数の命令からなる１ないしは複数のシーケンスを実行するプロセッサ１２０４に応じるシステム１２００によって実装される。この種の命令は、ストレージ・デバイス１２１０等の別のコンピュータ読み取り可能な媒体からメイン・メモリ１２０６内に読み込んでもよい。メイン・メモリ１２０６内に収められている命令のシーケンスを実行することにより、プロセッサ１２０４は、ここに説明したプロセスのステップを実行する。別の実施形態においては、ソフトウェア命令に代えて、あるいはそれと組み合わせてハード・ワイヤード回路を使用し、本発明を実装することもできる。このように本発明の実施態様は、ハードウェア回路およびソフトウェアの特定の組み合わせに限定されることがない。
【０１２２】
ここで用いている「コンピュータ読み取り可能な媒体」という用語は、プロセッサ１２０４が実行する命令の提供に与る任意の媒体を指す。その種の媒体は、限定する意図ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む各種の形式をとり得る。不揮発性媒体には、たとえば光または磁気ディスクが含まれ、ストレージ・デバイス１２１０等がこれに該当する。揮発性媒体には、ダイナミック・メモリが含まれ、メイン・メモリ１２０６等がこれに該当する。伝送媒体には、同軸ケーブル、銅線、および光ファイバが含まれ、バス１２０２を構成するワイヤーもこれに含まれる。伝送媒体もまた、音波または電磁波、たとえば電波、赤外線、および光データ通信の間に生成される電磁波といった形式をとり得る。
【０１２３】
コンピュータ読み取り可能な媒体の一般的な形態には、たとえば、フロッピー（Ｒ）ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、またはその他の磁気媒体、ＣＤ−ＲＯＭ、その他の光媒体、パンチカード、さん孔テープ、その他孔のパターンを伴う物理的媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他のメモリ・チップまたはカートリッジ、次に述べる搬送波、またはその他コンピュータによる読み取りが可能な任意の媒体が含まれる。
【０１２４】
各種形式のコンピュータ読み取り可能な媒体が関係して１ないしは複数の命令からなる１ないしは複数のシーケンスがプロセッサ１２０４に渡され、実行される。たとえば、当初は命令が、リモート・コンピュータの磁気ディスクに収められて運ばれる。リモート・コンピュータは、命令をダイナミック・メモリにロードし、モデムの使用により電話回線を介してその命令を送信することができる。コンピュータ・システム１２００に備わるモデムは、電話回線上のデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換する。赤外線検出器は、この赤外線信号によって運ばれるデータを受信し、適切な回路がバス１２０２上にそのデータを乗せる。バス１２０２は、このデータをメイン・メモリ１２０６に運び、プロセッサ１２０４は、そこから命令を取り出して実行する。選択肢の１つとして、プロセッサ１２０４による実行の前、もしくはその後に、メイン・メモリ１２０６によって受け取られた命令をストレージ・デバイス１２１０に格納してもよい。
【０１２５】
コンピュータ・システム１２００は、通信インターフェース１２１８も備えており、それがバス１２０２に接続されている。通信インターフェース１２１８は、ローカル・ネットワーク１２２２に接続されるネットワーク・リンク１２２０に接続されて双方向データ通信を提供する。たとえば、通信インターフェース１２１８を、対応するタイプの電話回線に接続されてデータ通信を提供する、統合ディジタル通信サービス・ネットワーク（ＩＳＤＮ）カードまたはモデムとすることができる。別の例においては、通信インターフェース１２１８をローカル・エリア・ネットワーク（ＬＡＮ）カードとし、互換性のあるＬＡＮにデータ通信接続を提供することもできる。ワイヤレス・リンクを実装してもよい。この種のいずれの実装においても、通信インターフェース１２１８は、各種タイプの情報を表すディジタル・データ・ストリームを運ぶ電気的、電磁気的、または光学的信号を送受する。
【０１２６】
ネットワーク・リンク１２２０は、通常、１ないしは複数のネットワークを介して別のデータ・デバイスにデータ通信を提供する。たとえばネットワーク・リンク１２２０は、ローカル・ネットワーク１２２２を介してホスト・コンピュータ１２２４への接続を提供し、あるいはインターネット・サービス・プロバイダ（ＩＳＰ）１２２６によって運用されるデータ装置への接続を提供することができる。一方、ＩＳＰ１２２６は、現在「インターネット」１２２８と呼ばれているワールド・ワイド・パケット・データ通信ネットワークを介してデータ通信サービスを提供する。ローカル・ネットワーク１２２２およびインターネット１２２８は、いずれもディジタル・データ・ストリームを運ぶ電気的、電磁気的、または光学的信号を使用する。これらの各種ネットワークおよびネットワーク・リンク１２２０上の信号を通り、かつ通信インターフェース１２１８を通り、コンピュータ・システム１２００から、またそこへディジタル・データを運ぶ信号は、情報を伝送する搬送波の一例として挙げた形式である。
【０１２７】
コンピュータ・システム１２００は、ネットワーク（１ないしは複数）、ネットワーク・リンク１２２０および通信インターフェース１２１８を介し、プログラム・コードを含めて、メッセージを送信しデータを受信する。インターネットの例においては、サーバ１２３０がインターネット１２２８、ＩＳＰ１２２６、ローカル・ネットワーク１２２２および通信インターフェース１２１８を経由して、要求のあったアプリケーション・プログラム用のコードを送信することが考えられる。本発明に従えば、このようにしてダウンロードしたアプリケーションの１つが、ここに説明された方法及びメカニズムを実装する。
【０１２８】
受信されたコードは、プロセッサ１２０４によって受信時に実行され、かつ／またはその後に実行するためにストレージ・デバイス１２１０、あるいはその他の不揮発性ストレージに格納される。このようにしてコンピュータ・システム１２００は、搬送波の形式でアプリケーション・コードを獲得することができる。
【０１２９】
（利点および範囲）
本明細書で開示されたコンピューティング・グリッドは、概念上は、電力グリッドと呼ばれることのある公衆電力網になぞらえることができる。電力グリッドは、単一の大規模電力インフラストラクチャを介して電力サービスを得るために、多くの当事者にスケーラブルな手段を提供する。同様に、本明細書で開示されたコンピューティング・グリッドは、単一の大規模コンピューティング・インフラストラクチャを使用して、多くの組織にコンピューティング・サービスを提供する。電力グリッドを使用する場合、電力消費者は、自分専用の電気機器を独自に管理することはない。たとえば、ユーティリティ消費者にとっては、自分の施設または共用施設で自家発電機を使用し、個人ベースでその容量や増加を管理する理由がない。これに対して、電力グリッドは、膨大な範囲にわたる住民に対して大規模な電力供給が可能であり、これによって大きなスケール・メリットが得られる。同様に、本明細書で開示されたコンピューティング・グリッドは、単一の大規模コンピューティング・インフラストラクチャを使用して、膨大な範囲にわたる住民に対して、コンピューティング・サービスを提供することができる。
【０１３０】
以上、特定の実施形態を参照しながら本発明について述べてきた。ただし、本発明の広範な精神および範囲を逸脱することなく、様々な修正および変更が実行できることが明らかであろう。したがって、明細書および図面は、限定的なものではなく例示的なものであるとみなされる。
【図面の簡単な説明】
【図１Ａ】単一のマシン・トポロジを有する単純なＷｅｂサイトを示す構成図である。
【図１Ｂ】１層のＷｅｂサーバ・ファームを示す構成図である。
【図１Ｃ】３層のＷｅｂサーバ・ファームを示す構成図である。
【図２】ローカル・コンピューティング・グリッドを含む拡張可能コンピューティング・システムの１構成を示す構成図である。
【図３】ＳＡＮゾーンを特徴とする仮想サーバ・ファームの一例を示す構成図である。
【図４Ａ】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図４Ｂ】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図４Ｃ】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図４Ｄ】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図５Ａ】仮想サーバ・ファーム・システム、コンピューティング・グリッド、および監視メカニズムの一実施形態を示す構成図である。
【図５Ｂ】監視または制御プレーン・サーバ・ファームがファイアウォールによって保護されているシステムを示す構成図である。
【図６】仮想サーバ・ファームの論理接続を示す構成図である。
【図７】仮想サーバ・ファームの論理接続を示す構成図である。
【図８】仮想サーバ・ファームの論理接続を示す構成図である。
【図９】制御プレーン・サーバ・ファームを示す構成図である。
【図１０】複数のＳＡＮスイッチ（「ＳＡＮメッシュ」）を使用する実施形態への制御プレーン・マシンの接続を示す構成図である。
【図１１】ＷＡＮ接続を介して拡張される複数のＶＳＦを示す構成図である。
【図１２】その使用によって実施形態が実施可能なコンピュータ・システムを示す構成図である。
【図１Ａ】
0003948957.tif 000002
【図１Ｂ】
0003948957.tif 000003
【図１Ｃ】
0003948957.tif 000004
【図２】
0003948957.tif 000005
【図３】
0003948957.tif 000006
【図４Ａ】
0003948957.tif 000007
【図４Ｂ】
0003948957.tif 000008
【図４Ｃ】
0003948957.tif 000009
【図４Ｄ】
0003948957.tif 000010
【図５Ａ】
0003948957.tif 000011
【図５Ｂ】
0003948957.tif 000012
【図６】
0003948957.tif 000013
【図７】
0003948957.tif 000014
【図８】
0003948957.tif 000015
【図９】
0003948957.tif 000016
【図１０】
0003948957.tif 000017
【図１１】
0003948957.tif 000018
【図１２】
0003948957.tif 000019