(57)【要約】【課題】共有コンピューティング環境において、仮想コンピュータクラスタにストレージを提供する。【解決手段】  本発明に係る方法は、共有コンピューティング環境のストレージ資源を仮想ストレージプールに結合するステップと、仮想ストレージプールからの仮想ストレージボリュームをパーティショニングするステップと、仮想ストレージボリュームを仮想コンピュータクラスタに割り当てるステップと、コンピューティングプラットフォームによる共有コンピューティング環境の残りのストレージへのアクセスを排除するソフトウェアを使用して、仮想ストレージボリュームを、仮想コンピュータクラスタのコンピューティングプラットフォームにアクセス可能にするステップとを含む。【選択図】図２
2008516344.tif 000002
【特許請求の範囲】
【請求項１】
共有コンピューティング環境（２００）内において仮想コンピュータクラスタにストレージを提供する方法であって、
前記共有コンピューティング環境（２００）内のストレージ資源を仮想ストレージプール内に結合するステップであって、前記仮想ストレージプールは、ストレージデバイス（２０４、２２０）の少なくとも１つが、前記ストレージデバイス（２０４、２２０）のいずれかに直接アクセスするすべてのコンピュータ（２０２）によって直接アクセス可能であるとは限らない、前記ストレージデバイス（２０４、２２０）の少なくとも一部を含むステップと、
前記仮想ストレージプールからの仮想ストレージボリュームをパーティショニングするステップと、
前記仮想ストレージボリュームを前記仮想コンピュータクラスタに割り当てるステップと、
コンピューティングプラットフォーム（３０６、４０６）による前記仮想ストレージボリュームへのアクセスを可能にする一方で、前記コンピューティングプラットフォーム（３０６、４０６）による前記共有コンピューティング環境（２００）内の残りのストレージへのアクセスを排除するソフトウェアを使用して、前記仮想ストレージボリュームを、前記仮想コンピュータクラスタの前記コンピューティングプラットフォーム（３０６、４０６）にアクセス可能にするステップと
を含む方法。
【請求項２】
前記ストレージ資源は、
ネットワークアタッチドストレージ（２０４）
を備える
請求項１に記載の方法。
【請求項３】
前記ネットワークアタッチドストレージは、
ストレージエリアネットワーク（２０６）
を備える
請求項２に記載の方法。
【請求項４】
前記ストレージ資源は、
ホストコンピュータ（２０２）のローカルストレージ（２２０）
を備える
請求項１に記載の方法。
【請求項５】
前記仮想コンピュータクラスタの前記コンピューティングプラットフォーム（３０６、４０６）は、
第１のコンピューティングプラットフォーム及び第２のコンピューティングプラットフォーム
を含み、
第１の仮想マシンモニタ及び第２の仮想マシンモニタが、前記第１のコンピューティングプラットフォーム及び前記第２のコンピューティングプラットフォームを、第１のホストコンピュータ及び第２のホストコンピュータのハードウエアからそれぞれ切り離す    
請求項１に記載の方法。
【請求項６】
前記第１の仮想マシンモニタ及び前記第２の仮想マシンモニタはそれぞれ、前記ソフトウェアを備え、前記第１の仮想マシンモニタ及び前記第２の仮想マシンモニタは、前記仮想コンピュータクラスタを、前記共有コンピューティング環境（２００）の残りの部分から分離する
請求項５に記載の方法。
【請求項７】
前記仮想ストレージボリュームへのアクセスを制御するステップ
をさらに含む
請求項６に記載の方法。
【請求項８】
前記ソフトウェアは、前記仮想ストレージボリュームを宛先とした書き込みデータを暗号化し、前記仮想ストレージボリュームから到着した読み出しデータを解読することによって、前記仮想ストレージボリュームへのアクセスを制御するステップを実行する、請求項７に記載の方法。
【請求項９】
前記仮想ストレージボリュームへのアクセスを制御するステップ
をさらに含む
請求項１に記載の方法。
【請求項１０】
前記共有コンピューティング環境（２００）の複数のホストコンピュータ（２０２）はそれぞれ、前記複数のホストコンピュータ（２０２）のそれぞれにおけるユーザアクセス可能なコンピューティングプラットフォームをハードウェアから切り離す仮想マシンモニタを備え、前記仮想マシンモニタはそれぞれ、前記ソフトウェアを備え、前記ソフトウェアは、前記ユーザアクセス可能なコンピューティングプラットフォームのそれぞれについて割り当てられた仮想ストレージボリューム内にないストレージ資源へのアクセスを排除することによって、前記仮想ストレージボリュームへのアクセスを制御するステップを実行する
請求項９に記載の方法。
【請求項１１】
前記仮想コンピュータクラスタと前記仮想ストレージボリュームとの間のストレージトラフィックをシェーピングするステップ
をさらに含む
請求項１に記載の方法。
【請求項１２】
前記ストレージトラフィックをシェーピングするステップは、
前記ストレージトラフィックを遅延させること
を含む
請求項１１に記載の方法。
【請求項１３】
前記ストレージトラフィックをシェーピングするステップは、
前記ストレージトラフィックをバッチ処理すること
を含む
請求項１１に記載の方法。
【請求項１４】
前記ストレージトラフィックをシェーピングするステップは、
前記ストレージトラフィック要求を再配列すること
を含む
請求項１１に記載の方法。
【請求項１５】
共有コンピューティング環境（２００）内において仮想コンピュータクラスタにストレージを提供する方法を実施するためのコンピュータコードを含むコンピュータ（２０２）可読媒体であって、前記仮想コンピュータクラスタに前記ストレージを提供する前記方法は、
前記共有コンピューティング環境（２００）内のストレージ資源を仮想ストレージプール内に結合するステップであって、前記仮想ストレージプールは、ストレージデバイス（２０４、２２０）の少なくとも１つが、前記ストレージデバイス（２０４、２２０）のいずれかに直接アクセスするすべてのコンピュータ（２０２）によって直接アクセス可能であるとは限らない、前記ストレージデバイス（２０４、２２０）の少なくとも一部を含むステップと、
前記仮想ストレージプールからの仮想ストレージボリュームをパーティショニングするステップと、
前記仮想ストレージボリュームを前記仮想コンピュータクラスタに割り当てるステップと、
コンピューティングプラットフォーム（３０６、４０６）による前記仮想ストレージボリュームへのアクセスを可能にする一方で、前記コンピューティングプラットフォーム（３０６、４０６）による前記共有コンピューティング環境（２００）内の残りのストレージへのアクセスを排除するソフトウェアを使用して、前記仮想ストレージボリュームを、前記仮想コンピュータクラスタの前記コンピューティングプラットフォーム（３０６、４０６）にアクセス可能にするステップと
を含む
コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の分野］
本発明は、コンピューティングの分野に関する。より詳細には、本発明は、資源がユーザによって共有されるコンピューティングの分野に関する。
【０００２】
［関連出願］
本出願は、（本出願と同じ日）に出願された米国特許出願第（代理人整理番号第２００４０１９８４−１号及び２００４０１９８５−１号）号に関連する。これらの米国特許出願の内容は、参照により本明細書に援用される。
【背景技術】
【０００３】
［発明の背景］
ユーティリティデータセンター等の通常の共有コンピューティング環境は、コンピュータ、ディスクアレイ、ＬＡＮ（ローカルエリアネットワーク）、及びＳＡＮ（ストレージエリアネットワーク）を含む。ＬＡＮは、コンピュータを互いに結合している。ＳＡＮは、コンピュータの少なくともいくつか（たとえば、ストレージサーバ）をディスクアレイに結合している。ユーザは、共有コンピューティングシステムでアプリケーションを実行して結果を生成する。
【０００４】
いくつかの共有コンピューティング環境は、ＬＡＮにはＶＬＡＮ（バーチャルＬＡＮ）デバイスを含み、ＳＡＮにはストレージアクセス制限デバイスを含む。このような共有コンピューティング環境は、サーバ及びストレージ資源をコンピュータクラスタに分割する能力を有する。特定のコンピュータクラスタのネットワークトラフィックは、ＶＬＡＮデバイスを使用してその特定のコンピュータクラスタ内に保持される。その特定のコンピュータクラスタのストレージＩ／Ｏ（入出力）は、ストレージアクセス制限デバイスを使用して隔離される。このように、ＶＬＡＮデバイス及びストレージアクセスデバイスによって、共有コンピューティング環境にコンピュータクラスタを形成する能力が提供される。
【０００５】
ＶＬＡＮデバイス又はストレージアクセス制限デバイスを含まない共有コンピューティング環境が多く存在する。既存の共有コンピューティング環境にＶＬＡＮデバイス又はストレージアクセス制限デバイスを追加することは、双方のデバイスのコスト及び共有コンピューティング環境を再構成する労力を招く。新しい共有コンピューティング環境を構築する時であっても、ＶＬＡＮデバイス及びストレージアクセス制限デバイスによって、共有コンピューティング環境のコストは増加する。したがって、このようなデバイスを含まない共有コンピューティング環境にコンピュータクラスタを形成できることがより効率的である。また、コンピュータクラスタと共有コンピューティング環境の残りの部分との間の隔離を維持すると同時に、サーバの一部及びストレージ資源の一部をコンピュータクラスタに任意に割り当てることができることが望ましい。さらに、単一の論理ストレージボリュームの一部ではない少なくとも二組のストレージ資源からのストレージ資源を含む共有コンピューティング環境内にコンピュータクラスタのストレージボリュームを形成できることが望ましい。
【特許文献１】欧州特許出願公開第１４３８６６５号
【特許文献２】米国特許出願公開第２００３／１２６１３２号
【非特許文献１】WHITAKER A他, 「DENALI: LIGHTWEIGHT VIRTUAL MACHINES FOR DISTRIBUTED AND NETWORKED APPLICATIONS」 PROCEEDINGS OF THE USENIX ANNUAL TECHNICAL CONFERENCE, 2002年6月, page COMPLETE, XP001188148 the whole document
【発明の開示】
【発明が解決しようとする課題】
【０００６】
必要とされているものは、共有コンピューティング環境内においてコンピュータクラスタにストレージを提供する方法である。
【課題を解決するための手段】
【０００７】
［発明の概要］
本発明は、共有コンピューティング環境内において仮想コンピュータクラスタにストレージを提供する方法を含む。一実施の形態によれば、この方法は、共有コンピューティング環境内のストレージ資源を仮想ストレージプール内に結合する第１のステップから開始する。仮想ストレージプールは、ストレージデバイスの少なくとも１つが、当該ストレージデバイスのいずれかに直接アクセスするすべてのコンピュータによって直接アクセス可能であるとは限らない、ストレージデバイスの少なくとも一部を含む。この方法は、仮想ストレージプールからの仮想ストレージボリュームをパーティショニングする第２のステップに続く。第３のステップでは、この方法は、仮想ストレージボリュームを仮想コンピュータクラスタに割り当てる。この方法は、ソフトウェアを使用して、仮想ストレージボリュームを、仮想コンピュータクラスタのコンピューティングプラットフォームにアクセス可能にする第４のステップで終了する。このソフトウェアは、コンピューティングプラットフォームによる仮想ストレージボリュームへのアクセスを可能にする一方で、コンピューティングプラットフォームによる共有コンピューティング環境内の残りのストレージへのアクセスを排除するものである。
【０００８】
本発明のこれらの態様及び他の態様を本明細書でさらに詳細に説明する。
【０００９】
本発明をその特定の例示的な実施の形態に関して説明し、それに応じて図面を参照する。
【発明を実施するための最良の形態】
【００１０】
［好ましい実施の形態の詳細な説明］
一態様によれば、本発明は、共有コンピューティング環境（たとえば、ユーティリティデータセンター）内に仮想コンピュータクラスタを形成する方法を含む。別の態様によれば、本発明は、共有コンピューティング環境においてホストコンピュータを管理する方法を含む。別の態様によれば、本発明は、共有コンピューティング環境内において仮想コンピュータクラスタにストレージを提供する方法を含む。
【００１１】
共有コンピューティング環境内に仮想コンピュータクラスタを形成する方法の一実施の形態を図１にフローチャートとして示す。方法１００は、共有コンピューティング環境の特定のホストコンピュータにゲートキーパソフトウェアを設置する第１のステップ１０２から開始する。方法１００は、特定のホストコンピュータに位置するコンピューティングプラットフォームを仮想コンピュータクラスタに割り当てる第２のステップ１０４に続く。ゲートキーパソフトウェアは、コンピューティングプラットフォームと特定のホストコンピュータのハードウェア資源との間に介入する。方法１００が仮想コンピュータクラスタを形成する共有コンピューティング環境（たとえば、ユーティリティデータセンター）の一実施の形態を図２に概略的に示す。共有コンピューティング環境２００は、ホストコンピュータ２０２、ディスクアレイ２０４、ＳＡＮ（ストレージエリアネットワーク）２０６、及びＬＡＮ（ローカルエリアネットワーク）２０８を備える。ＳＡＮ２０６は、ホストコンピュータ２０２をディスクアレイ２０４に結合している。ＬＡＮ２０８は、ホストコンピュータ２０２を互いに結合している。一実施の形態では、ＬＡＮ２０８は、ワイドエリアネットワーク２１０（たとえば、インターネット）に結合している。各ホストコンピュータ２０２は、プロセッサ２１２、メモリ２１４、ＨＢＡ（ホストバスアダプタ）２１６、及びＮＩＣ（ネットワークインターフェースカード）２１８を備える。ＨＢＡ２１６は、ホストコンピュータ２０２をＳＡＮ２０６に結合している。ＮＩＣ２１８は、ホストコンピュータ２０２をＬＡＮ２０８に結合している。ディスクアレイ２２０は、第１のホストコンピュータ２０２Ａに結合している。ディスクアレイ２２０は、第１のホストコンピュータ２０２Ａのダイレクトアタッチドストレージを備える。このダイレクトアタッチドストレージは、第１のホストコンピュータ２０２Ａのローカルストレージを備える。ホストコンピュータ２０２は、ディスクアレイ２０４にアクセスするクライアントとすることができる。或いは、ホストコンピュータ２０２は、クライアント（図示せず）のディスクアレイ２０４にアクセスするサーバとすることができる。
【００１２】
一実施の形態によれば、方法１００（図１）の第１のステップ１０２は、第１のコンピューティングプラットフォーム及び第２のコンピューティングプラットフォームを仮想コンピュータクラスタに割り当てる。第１のコンピューティングプラットフォーム及び第２のコンピューティングプラットフォームは、第１のホストコンピュータ２０２Ａ及び第２のホストコンピュータ２０２Ｂにそれぞれ存在する。第１のコンピューティングプラットフォーム及び第１のホストコンピュータ２０２Ａは、第１のコンピュータシステムを構成する。第２のコンピューティングプラットフォーム及び第２のホストコンピュータ２０２Ｂは、第２のコンピュータシステムを構成する。
【００１３】
第１のコンピュータシステムの一実施の形態を図３に概略的に示す。第１のコンピュータシステム３００は、第１のホストコンピュータ２０２Ａ（ブロックとして図示）、第１の仮想マシンモニタ３０４、及び第１のコンピューティングプラットフォーム３０６を備える。第１の仮想マシンモニタ３０４は、第１のコンピューティングプラットフォーム３０６への仮想マシンインターフェース３０５を提供する。この点で、第１のコンピューティングプラットフォーム３０６は、オペレーティングシステムカーネル３０８を含む第１の仮想マシンである。仮想コンピュータクラスタの動作時には、第１のコンピューティングプラットフォーム３０６は、オペレーティングシステムカーネル３０８を含むオペレーティングシステムをブートする。仮想コンピュータクラスタのユーザには、コンピューティングプラットフォーム３０６への管理アクセス（たとえば、Ｕｎｉｘ（登録商標）システムにおけるルートアカウント又はＷｉｎｄｏｗｓ（登録商標）システムにおけるアドミニストレータアカウントへのアクセス）が与えられる。ユーザは、その後、オペレーティングシステムカーネル３０８をカスタマイズすることができ、オペレーティングシステムカーネル又はユーザレベル３１０においてアプリケーション（複数可）又はサービス（複数可）を実行することができる。仮想マシンインターフェース３０５は、仮想コンピュータクラスタのユーザによる第１のホストコンピュータ２０２Ａのハードウェアへの直接アクセスを排除する。仮想コンピュータクラスタのユーザには、第１のコンピューティングプラットフォーム３０６内に位置するオペレーティングシステムへのルートアクセスを与えることはできるが、このユーザが第１のホストコンピュータ２０２Ａのハードウェアに直接アクセスすることは、第１の仮想マシンモニタ３０４によって阻止される。
【００１４】
一般に、仮想コンピュータクラスタのクラスタアドミニストレータには、第１のコンピューティングプラットフォーム３０６内に位置するオペレーティングシステムへのルートアクセスが与えられる一方、仮想コンピュータクラスタの他のユーザには、より多く制限されたアクセスが与えられる。それら他のユーザがルートアクセスを受け取るのか、それともより多く制限されたアクセスを受け取るのかは、クラスタアドミニストレータの裁量の範囲内、又は、クラスタアドミニストレータが、使用するように指示を受けているポリシーの範囲内にある。
【００１５】
一実施の形態では、第１のコンピュータシステム３００は、別の仮想マシン３１２をさらに備える。この仮想マシン３１２は、別のユーザが別のコンピューティングプラットフォームとして使用することができる。動作時には、第１のコンピューティングプラットフォーム３０６（すなわち、第１の仮想マシン）のユーザ及びこの別のコンピューティングプラットフォーム（すなわち、別の仮想マシン３１２）の別のユーザは、通常、それぞれオペレーティングシステム及び１つ又は複数のアプリケーションを実行する。これらのオペレーティングシステム及び１つ又は複数のアプリケーションは、他方のユーザの仮想マシンから隔離されており、且つ、他方のユーザの仮想マシンに対してトランスペアレントである。別の実施の形態では、第１のコンピュータシステム３００は、複数の追加仮想マシンをさらに備える。
【００１６】
第２のコンピュータシステムの一実施の形態を図４に概略的に示す。第２のコンピュータシステム４００は、第２のホストコンピュータ２０２Ｂ（ブロックとして図示）、第２の仮想マシンモニタ４０４、及び第２のコンピューティングプラットフォーム４０６を備える。第２の仮想マシンモニタ４０４は、第２のコンピューティングプラットフォーム４０６への仮想マシンインターフェース４０５を提供する。この点で、第２のコンピューティングプラットフォーム４０６は第２の仮想マシンである。代替的な実施の形態では、第２のコンピュータシステム４００は、１つ又は複数の追加仮想マシンをさらに備える。
【００１７】
一実施の形態によれば、方法１００（図１）は、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６（図３及び図４）を含む仮想コンピュータクラスタを、共有コンピューティング環境２００（図２）の残りの部分から隔離する第３のステップ１０６で終了する。第３のステップ１０６は、第１のホストコンピュータ２０２Ａ及び第２のホストコンピュータ２０２Ｂを含む、仮想コンピュータクラスタのホストコンピュータに位置するゲートキーパソフトウェアを使用して隔離を行う。ゲートキーパソフトウェアは、仮想コンピュータクラスタのコンピューティングプラットフォーム間の通信を可能にする一方で、共有コンピューティング環境内の他のコンピューティングプラットフォームとの通信を排除する。また、ゲートキーパソフトウェアは、コンピュータクラスタの入力オペレーション及び出力オペレーションも制御する。
【００１８】
一実施の形態では、ゲートキーパは、仮想コンピュータクラスタの資源（たとえば、コンピューティングプラットフォーム及び仮想ストレージ）のテーブルを保持して、テーブルで特定された資源内でのみネットワークトラフィック及び入出力トラフィックを可能にすることによって、仮想コンピュータクラスタを共有コンピューティング環境の残りの部分から隔離する。このテーブルは、ネットワークアドレス、ハードウェア識別子、内部で生成された番号、一意の識別子（たとえば、仮想サーバＩＤ）、ベンダに特有の一意の識別子（たとえば、ワールドワイド名）、又は他の識別子として資源を特定することができる。仮想コンピュータクラスタのユーザは、テーブルの資源にのみアクセスすることができる。好ましくは、仮想コンピュータクラスタのユーザは、テーブルに列挙されていない共有コンピューティング環境の資源を検出することも阻止される。
【００１９】
一実施の形態では、ゲートキーパソフトウェアは、第１のコンピュータシステム３００（図３）の第１の仮想マシンモニタ３０４及び第２のコンピュータシステム４００（図４）の第２の仮想マシンモニタ４０４内に存在する。第１の仮想マシンモニタ３０４は、第１の仮想マシンモニタ３０４へのアクセスを防ぐ仮想マシンインターフェースによって第１のコンピューティングプラットフォーム３０６から切り離され、第２の仮想マシンモニタ４０４は、第２の仮想マシンモニタ４０４へのアクセスを防ぐ仮想マシンインターフェースによって第２のコンピューティングプラットフォーム４０６から切り離されているので、ゲートキーパソフトウェアは、仮想コンピュータクラスタのユーザによる非物理的な不正変更（tampering）から保護される。一実施の形態では、仮想コンピュータクラスタのユーザは、共有コンピューティング環境２００への物理アクセスを認められていない。これによって、ゲートキーパソフトウェアは、仮想コンピュータクラスタのユーザによる物理的な不正変更から保護される。別の実施の形態では、共有コンピューティング環境２００のホストコンピュータ２０２は、共有コンピューティング環境２００のユーザによるゲートキーパソフトウェアへの物理的な不正変更に対して保護を行う信頼できるコンピューティングモジュールを含む。好ましくは、この信頼できるコンピューティングモジュールは、業界標準化団体であるトラステッドコンピューティンググループ（Trusted Computing Group）によって提案された標準規格を満たす。
【００２０】
代替的な実施の形態では、方法１００は、共有コンピューティング環境内から仮想コンピュータクラスタにストレージ容量を割り当てる第４のステップ１０８をさらに含む。
【００２１】
仮想コンピュータクラスタの一実施の形態を図５に概略的に示す。仮想コンピュータクラスタは、仮想ネットワーク５０２によって互いに結合された第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６を備える。第１の仮想マシンインターフェース３０５（図３）及び第１の仮想マシンモニタ３０４は、第１のコンピューティングプラットフォーム３０６にトランスペアレントであり、第２の仮想マシンインターフェース４０５（図４）及び第２の仮想マシンモニタ４０４は、第２のコンピューティングプラットフォーム４０６にトランスペアレントである。したがって、これら、第１の仮想マシンインターフェース３０５及び第１の仮想マシンモニタ３０４、並びに、第２の仮想マシンインターフェース４０５及び第２の仮想マシンモニタ４０４は、仮想コンピュータクラスタ５００（図５）には現れない。その代わり、仮想コンピュータクラスタ５００のユーザは、第１の仮想コンピュータ５０６及び第２の仮想コンピュータ５０８を仮想コンピュータクラスタのコンピューティングプラットフォームとして認識する。第１の仮想マシンインターフェース３０５（図３）は、仮想コンピュータ５００（図５）のユーザが第１の仮想マシンモニタ３０４（図３）のゲートキーパソフトウェアにアクセスすること、又は、当該ゲートキーパソフトウェアを見ることさえも防ぎ、第２の仮想マシンインターフェース４０５（図４）は、仮想コンピュータ５００（図５）のユーザが第２の仮想マシンモニタ４０４（図４）のゲートキーパソフトウェアにアクセスすること、又は、当該ゲートキーパソフトウェアを見ることさえも防ぐ。これは、ゲートキーパソフトウェアと共に、仮想コンピュータクラスタ５００のユーザが、共有コンピューティング環境２００（図２）の残りの部分内の資源にアクセスすることを防ぎ、これらの資源は、仮想コンピュータクラスタ５００（図５）の外側にある（is outside）。
【００２２】
一実施の形態では、仮想コンピュータクラスタは、仮想ストレージ５０４をさらに備える。仮想ストレージ５０４は、仮想ＳＡＮ５０６によって第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６に結合されている。仮想ストレージ５０４を含む一実施の形態では、ゲートキーパソフトウェアは、共有コンピューティング環境２００（図２）のストレージ資源の一部へのアクセスを可能にする一方、ストレージ資源の残りの部分へのアクセスを排除することによって仮想ストレージを形成する。別の実施の形態では、仮想コンピュータクラスタ５００は、１つ又は複数の追加コンピューティングプラットフォーム（図示せず）をさらに備える。
【００２３】
一実施の形態では、仮想コンピュータクラスタ５００（図５）は、共有コンピューティング環境２００（図２）内の複数の仮想コンピュータクラスタの１つを構成する。この点で、方法１００（図１）は、仮想コンピュータクラスタのそれぞれを形成するのに使用される。各仮想コンピュータクラスタは、他の仮想コンピュータクラスタのユーザによるその仮想コンピュータクラスタへのアクセスを排除する安全な環境を形成する。仮想コンピュータクラスタのうちの１つのユーザには、他の仮想コンピュータが検出不可能となっている（すなわち、他の仮想コンピュータクラスタ及びそれらに関連した仮想ストレージは、その仮想コンピュータクラスタ内からは見えない）。
【００２４】
また、第１の仮想マシンモニタ３０４のゲートキーパソフトウェアは、共有コンピューティング環境２００の他のユーザによる第１のコンピューティングプラットフォーム３０６へのアクセスも防ぎ、第２の仮想マシンモニタ４０４のゲートキーパソフトウェアは、共有コンピューティング環境２００の他のユーザによる第２のコンピューティングプラットフォーム４０６へのアクセスも防ぐ。一実施の形態では、ゲートキーパソフトウェアは、互いにトラフィックを送信することを許可されているコンピューティングプラットフォームのリスト及びコンピューティングプラットフォームがアクセス（たとえば、データの読み出し及び書き込み）できるストレージ資源のリストを認識するテーブルを使用することによって、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６への認可されていないアクセスを防ぐ。テーブル内に存在しないコンピューティングプラットフォームを発信源とする、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６へのアクセスの試みは拒絶される。また、テーブル内に存在しないコンピューティングプラットフォームを発信源とする、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６に割り当てられたストレージ資源へのアクセスの試みも拒絶される。
【００２５】
第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６と、仮想ストレージ５０４のＩ／Ｏ（入出力）との間の仮想ネットワーク５０２を介したネットワークトラフィックは、さまざまな方法の１つで、他のユーザによる認可されていないアクセスから保護される。一実施の形態では、共有コンピューティング環境２００のアドミニストレータ以外のすべてのユーザは、ゲートキーパソフトウェアによって、それらユーザ自身の仮想コンピュータクラスタ内に隔離される。別の実施の形態では、第１の仮想マシンモニタ３０４及び第２の仮想マシンモニタ４０４のゲートキーパソフトウェアは、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６と仮想ストレージ５０４のＩ／Ｏとの間のネットワークトラフィックの暗号化を使用して、仮想コンピュータクラスタ５００に属するデータへの認可されていないアクセスを防ぐ一方、そのデータは、第１のコンピューティングプラットフォーム３０６及び第２のコンピューティングプラットフォーム４０６の外側にある。
【００２６】
一実施の形態によれば、共有コンピューティング環境２００（図２）の管理局が方法１００（図１）を実行する。ゲートキーパソフトウェアは、管理局が、信頼できるソースであることを認識している。一実施の形態では、管理局は、共有コンピューティング環境２００のスタンドアロンコンピュータ（図示せず）である。別の実施の形態では、管理局は、共有コンピューティング環境２００のホストコンピュータ２０２の１つにおける仮想マシン内に存在する。たとえば、管理局は、第３の仮想マシン３１２（図３）に存在する場合がある。この例によれば、管理局は、管理ＡＰＩ（アプリケーションプログラムインターフェース）３１４を通じて、共有コンピューティング環境２００の仮想マシンモニタ３０４及び他の仮想マシンモニタとインターフェースする。管理ＡＰＩ３１４は、共有コンピューティング環境２００のホストコンピュータ２０２のゲートキーパソフトウェアへのアクセスを管理局に提供する。
【００２７】
一実施の形態では、共有コンピューティング環境２００（図２）内の複数の管理局が協調して、方法１００（図１）を実行する。たとえば、第１の管理局が第１のコンピュータシステム３００（図３）内に存在し、第２の管理局が第２のコンピュータシステム４００（図４）内に存在する場合がある。これら第１の管理局及び第２の管理局は、協調して方法１００を実行する。
【００２８】
第１のコンピュータシステムの１つの代替的な実施の形態を図６に概略的に示す。第１のコンピュータシステム６００は、第１のホストコンピュータ２０２Ａ（ブロックとして図示）、第１のオペレーティングシステム６０２、第１の仮想マシンモニタ６０４、及び第１のコンピューティングプラットフォーム６０６を備える。第１の仮想マシンモニタ６０４は、第１のコンピューティングプラットフォーム６０６への仮想マシンインターフェース６０５を提供する。この点で、第１のコンピューティングプラットフォーム６０６は第１の仮想マシンである。
【００２９】
仮想コンピュータクラスタの動作時には、オペレーティングシステムカーネル６０８を含む第２のオペレーティングシステムが、通常、第１のコンピューティングプラットフォーム６０６にインストールされ、ユーザは、通常、第１のコンピューティングプラットフォーム６０６のユーザレベル６１０において１つ又は複数のアプリケーションを実行する。仮想マシンインターフェース６０５は、仮想コンピュータクラスタのユーザによる第１のオペレーティングシステム６０２又は第１のホストコンピュータ２０２Ａのハードウェアへの直接アクセスを排除する。仮想コンピュータクラスタのユーザには、第１のコンピューティングプラットフォーム６０６内に位置する第２のオペレーティングシステムへのルートアクセスを与えることができる。しかし、ルートアクセスによっても、仮想マシンインターフェース６０５は、ユーザが、第１のオペレーティングシステム６０２又は第１のホストコンピュータ２０２Ａのハードウェアにアクセスすることを防ぐ。
【００３０】
また、第１のコンピュータシステム６００は、１つ又は複数の追加仮想マシン（図示せず）を含むこともできる。一実施の形態では、ゲートキーパソフトウェアは、第１のオペレーティングシステム６０２に存在する。別の実施の形態では、ゲートキーパソフトウェアは、第１の仮想マシンモニタ６０４に存在する。一実施の形態では、管理局は、第１のコンピュータシステムの管理プラットフォーム６１２に存在する。この点で、管理プラットフォーム６１２は、第１のオペレーティングシステム６０２と直接（すなわち、第１の仮想マシンモニタ６０４を通じないで）インターフェースする。
【００３１】
第１のコンピュータシステムの別の代替的な実施の形態を図７に概略的に示す。第１のコンピュータシステム７００は、第１のホストコンピュータ２０２Ａ（ブロックとして図示）及び第１のコンピューティングプラットフォーム７０６を備える。第１のコンピュータ２０２Ａは、信頼できるコンピューティングモジュール７０５を含む。第１のコンピューティングプラットフォーム７０６は、オペレーティングシステムカーネル７０２を含む第１のオペレーティングシステム、及び、ユーザレベル７１０を備える。第１のオペレーティングシステムは、ＯＳ（オペレーティングシステム）デーモン７０４を含む。ＯＳデーモン７０４はゲートキーパソフトウェアを含む。信頼できるコンピューティングモジュール７０５は、仮想コンピュータクラスタのユーザによる非物理的な不正変更を防ぐ。この点で、第１のコンピューティングプラットフォーム７０６はリアルマシンである（すなわち、第１のコンピューティングプラットフォームは、ハードウェア資源を他のコンピューティングプラットフォームと共有しない）。
【００３２】
仮想コンピュータクラスタの動作時には、ユーザは、通常、第１のコンピューティングプラットフォーム７０６のユーザレベル７１０において１つ又は複数のアプリケーションを実行する。仮想コンピュータクラスタのユーザには、第１のオペレーティングシステム７０２へのルートアクセスを与えることができるが、信頼できるコンピューティングモジュール７０５によって、ＯＳデーモン７０４の非物理的な不正変更から排除される。この点で、ＯＳデーモン７０４を除いて、仮想コンピュータクラスタのユーザは、第１のコンピュータシステム７００の利用可能なコンピューティング環境（すなわち、第１のコンピューティングプラットフォーム７０６）の残りの部分にアクセスできるので、管理局は第１のコンピュータに存在しない。第１のコンピューティングプラットフォーム７０６のユーザが、ＯＳデーモン７０４を不正変更しようと試みた場合、信頼できるコンピューティングモジュール７０５は、管理局に警報を出すことができる。このような状況において、管理局は、第１のコンピューティングプラットフォームを隔離して、悪意のあるアクティビティを試みているユーザが共有コンピューティング環境内で損害を引き起こすことを確実に防止するようにすることができる。一実施の形態では、仮想コンピュータクラスタのユーザは、信頼できるコンピューティングモジュール７０５への物理アクセスを認められていない。これによって、仮想コンピュータクラスタのユーザによるＯＳデーモン７０４への物理的な不正変更が防がれる。
【００３３】
仮想コンピュータを形成する方法１００（図１）及び本発明の他の方法を使用する１つの代替的な共有コンピューティング環境は、共有コンピューティング環境２００（図２）及び追加ホストコンピュータを備える。これら追加ホストコンピュータは、ＬＡＮ２０８に結合しているが、ＳＡＮ２０６には接続していない。その代わり、追加ホストコンピュータは、ＬＡＮ２０８及びホストコンピュータ２０２を介してＳＡＮ２０６に結合している。
【００３４】
仮想コンピュータクラスタを形成する方法１００（図１）及び本発明の他の方法を使用する別の代替的な共有コンピューティング環境は、共有コンピューティング環境２００（図２）及び追加ホストコンピュータを備える。これら追加ホストコンピュータは、ＷＡＮ２１０を介して共有コンピューティング環境２００に結合している。
【００３５】
仮想コンピュータクラスタを形成する方法１００（図１）及び本発明の他の方法を使用する別の代替的な共有コンピューティング環境を図８に概略的に示す。この代替的な共有コンピューティング環境８００は、ＬＡＮ８０８によって互いに結合された複数のホストコンピュータ８０２（たとえば、デスクトップコンピュータ）を備える。各ホストコンピュータ８０２は、プロセッサ８１２、メモリ８１４、ネットワークインターフェース８１８、及びストレージ８２０を備える。一実施の形態では、代替的な共有コンピューティング環境８００はＷＡＮ８１０に結合している。
【００３６】
多数の共有コンピューティング環境が、本発明の方法の例示に適していることが当業者には容易に明らかであろう。さらに、本明細書で解説した共有コンピューティング環境は、本発明の方法の例示に適した、可能な共有コンピューティング環境のほんのわずかでしかないことも当業者には容易に明らかであろう。
【００３７】
本発明のコンピュータシステム（たとえば、ホストコンピュータシステム）を管理する方法の一実施の形態を図９にフローチャートとして示す。方法９００は、仮想マシンモニタをコンピュータに設置する第１のステップ９０２から開始する。この仮想マシンモニタは、モジュールへのインターフェースを含む。このインターフェースは、コンピュータコードを含む。このコンピュータコードは、そのモジュールを認識し、仮想マシンモニタ及びモジュールが通信することを可能にし、モジュールのセキュリティ鍵を認識する。このセキュリティ鍵は、モジュールを仮想マシンモニタに追加することを許可されている、信頼できるソースによって、モジュールが提供されていることを検証する。方法９００は、コンピューティングプラットフォームをコンピュータに形成する第２のステップ９０４に続く。仮想マシンモニタは、コンピューティングプラットフォームとコンピュータのハードウェア資源との間に介入し、コンピューティングプラットフォームで実行されるソフトウェアのハードウェア資源に対するアクセス制御を提供する。
【００３８】
方法９００によって管理されるコンピュータシステムの一実施の形態を図１０に概略的に示す。コンピュータシステム１０００は、コンピュータハードウェア１００２（たとえば、プロセッサ、メモリ、及びネットワークインターフェース）、仮想マシンモニタ１００４、及びコンピューティングプラットフォーム１００６を備える。この点で、コンピューティングプラットフォーム１００６は、オペレーティングシステムカーネル１００８を含んだオペレーティングシステムを含む仮想マシンである。通常、動作時に、コンピューティングプラットフォーム１００６のユーザは、コンピューティングプラットフォーム１００６のユーザレベル１０１０において１つ又は複数のアプリケーションを実行する。仮想マシンモニタ１００４は仮想マシンインターフェース１００５を含む。この仮想マシンインターフェース１００５は、コンピューティングプラットフォーム１００６のユーザによる仮想マシンモニタ１００４又はコンピュータハードウェア１００２の非物理的な不正変更を防ぐ。コンピュータシステム１０００は、１つ又は複数の追加コンピューティングプラットフォーム（すなわち、１つ又は複数の追加仮想マシン）をさらに備えることができる。
【００３９】
一実施の形態によれば、方法９００（図９）は、インターフェースを通じてモジュール１０１２（図１０）を仮想マシンモニタ１００４に追加する第３のステップ９０６で終了する。第３のステップ９０６は、コンピュータシステム１０００のアドミニストレータがコンピュータシステム１０００の管理局から実行することができる。コンピューティングプラットフォーム１００６のユーザがインストールできる（たとえばオペレーティングシステム用の）ロード可能モジュールと異なり、モジュール１０１２は、インストールの認可を必要とする。モジュール１０１２をロード可能モジュールと区別することがこの機能である。この点で、管理局は、モジュール１０１２をインストールする権限を有する。好ましくは、仮想マシンモニタ１００４及びモジュール１０１２は、コンピューティングプラットフォーム１００６のユーザにトランスペアレントである。モジュール１０１２は、（たとえば、ゲートキーパソフトウェアの機能を強化することによって）仮想マシンモニタの機能を強化する。これについては、以下でより十分に説明する。
【００４０】
１つの代替的な実施の形態によれば、方法９００（図９）は、仮想マシンモニタ１００４に１つ又は複数の追加モジュール１０１４（図１０）を追加することをさらに含む。これら追加モジュール１０１４は、仮想マシンモニタ１００４の他のインターフェースに結合することができる。或いは、追加モジュール１０１４は、スタッキングメカニズムを通じてインターフェースすることもできる。このスタッキングメカニズムでは、モジュール１０１２が仮想マシンモニタ１００４のインターフェースに結合し、第１の追加モジュールが、モジュール１０１２の一部である第２のインターフェースを通じてモジュール１０１２に結合し、第２の追加モジュールが、第１の追加モジュールの一部である第３のインターフェースを介して第１の追加モジュールに結合する。
【００４１】
一実施の形態では、仮想マシンモニタ１００４は、共有コンピューティング環境の仮想コンピュータクラスタ内にコンピューティングプラットフォーム１００６を設置するゲートキーパソフトウェアを含む。この点で、１つ又は複数の他の仮想マシンモニタ内に位置する他のゲートキーパソフトウェアは、仮想コンピュータクラスタ内に他のコンピューティングプラットフォームを設置する。モジュール１０１２は、ゲートキーパソフトウェアの機能を強化する。これについては、以下でより十分に説明する。
【００４２】
ゲートキーパ強化の一実施の形態では、モジュール１０１２は、コンピュータプラットフォーム１００６を離れるアウトバウンドデータを暗号化し、コンピューティングプラットフォーム１００６を宛先とするインバウンドデータを解読する。このような実施の形態によれば、管理局は、暗号化鍵及び解読鍵をモジュール１０１２に提供する。
【００４３】
ゲートキーパ強化の別の実施の形態では、モジュール１０１２は、共有コンピューティング環境の仮想コンピュータクラスタ内の仮想ストレージへのアクセスを提供する。このストレージアクセスは、仮想ストレージへ出力されるデータを暗号化すること、及び仮想ストレージから受信されたデータを解読することを含むことができる。仮想ストレージは、データセンターのストレージ資源の仮想化され且つ統合された（consolidated）部分を備えることができる。
【００４４】
ゲートキーパ強化の別の実施の形態では、モジュール１０１２は、コンピューティングプラットフォーム１００６のトラフィック監視を行う。ゲートキーパ強化のさらに別の実施の形態では、モジュール１０１２は、コンピューティングプラットフォーム１００６のトラフィック制御を行う。たとえば、モジュール１０１２は、コンピューティングプラットフォーム１００６へのトラフィックアドミッション制御を行うことができる。或いは、モジュール１０１２は、トラフィックスロットリングを行うこともできる。ゲートキーパソフトウェアの管理局は、モジュール１０１２にトラフィック制御パラメータを提供することができる。管理局は、トラフィック制御パラメータを定期的に更新することができる。
【００４５】
ゲートキーパ強化の別の実施の形態では、モジュール１０１２は、コンピューティングプラットフォーム１００６内において動作時にオペレーティングシステムを監視する。ゲートキーパ強化のさらに別の実施の形態では、モジュール１０１２は、コンピュータハードウェア１００２を監視する。
【００４６】
ゲートキーパ強化の別の実施の形態では、モジュール１０１２は、コンピューティングプラットフォーム１００６内で実行されているアプリケーションを別のコンピューティングプラットフォームへマイグレーションする。この別のコンピューティングプラットフォームは、コンピュータハードウェア１００２に存在する場合がある。或いは、この別のコンピューティングプラットフォームは、他のコンピュータハードウェア（たとえば、仮想コンピュータクラスタの別のコンピュータ）に存在する場合もある。オペレーティングシステムをアップグレードするために、アプリケーションをマイグレーションすることができる。このような状況では、アップグレードされたオペレーティングシステムはまず、別のコンピューティングプラットフォーム上に展開され、次に、アプリケーションが、オペレーティングシステム及びアップグレードされたオペレーティングシステムによって行われる調整を通じてマイグレーションされる。或いは、ホストコンピュータ間の負荷をバランスさせるためにアプリケーションをマイグレーションすることもできる。
【００４７】
方法９００によって管理されるコンピュータシステムの１つの代替的な実施の形態を図１１に概略的に示す。コンピュータシステム１１００は、コンピュータハードウェア１１０２（たとえば、プロセッサ、メモリ、及びネットワークインターフェース）、仮想マシンモニタ１１０４、第１のコンピューティングプラットフォーム１１０６、及び第２のコンピューティングプラットフォーム１１１４を備える。通常、オペレーティングシステムカーネル１１０８を含むオペレーティングシステムは、コンピューティングプラットフォーム１１１４に設置される。通常、動作時に、コンピューティングプラットフォーム１１０６のユーザは、コンピューティングプラットフォーム１１０６のユーザレベル１１１０において１つ又は複数のアプリケーションを実行する。仮想マシンモニタ１１０４は仮想マシンインターフェース１１０５を含む。この仮想マシンインターフェース１１０５は、コンピューティングプラットフォーム１１０６のユーザによる仮想マシンモニタ１１０４又はコンピュータハードウェア１１０２の非物理的な不正変更を防ぐ。
【００４８】
一実施の形態によれば、方法９００（図９）の第２のステップ９０４は、仮想マシンモニタ１１０４にモジュール１１１２を追加する。一実施の形態では、第２のコンピューティングプラットフォーム１１１４は管理局１１１６を含む。管理局１１１６は、仮想マシンモニタ１１０４にモジュール１１１２を追加することができる。このような状況において、仮想マシンモニタ１１０４は、管理ＡＰＩ１１１８を含む。管理ＡＰＩ１１１８によって、管理局１１１６は、仮想マシンモニタ１１０４にアクセスすることが可能になり、仮想マシンモニタ１１０４にモジュール１１１２を追加することが可能になる。管理局１１１６は、コンピュータシステム１１００が存在する共有コンピューティング環境の他のコンピュータシステムの仮想マシンモニタにアクセスすることが可能な場合がある。このような状況では、管理局１１１６は、それら他のコンピュータシステムの仮想マシンモニタの少なくともいくつかにモジュールを追加することができる。
【００４９】
本発明の共有コンピューティング環境内において仮想コンピュータクラスタにストレージを提供する方法の一実施の形態を図１２にフローチャートとして示す。方法１２００は、共有コンピューティング環境内のストレージ資源を仮想ストレージプール内に結合する第１のステップ１２０２から開始する。この仮想ストレージプールは、ストレージデバイスの少なくとも１つが、当該ストレージデバイスのいずれかに直接アクセスするすべてのコンピュータによって直接アクセス可能であるとは限らない、ストレージデバイスの少なくとも一部を含む。以下の第１の例及び第２の例がこの概念を示す。
【００５０】
第１の例では、方法１２００は、共有コンピューティング環境２００（図２）において使用される。この例によれば、ストレージ資源は、ディスクアレイ２０４（すなわち、ネットワークアタッチドストレージ）及びディスクアレイ２２０（すなわち、特定のホストコンピュータのダイレクトアタッチドストレージ）を備える。ホストコンピュータ２０２は、それぞれ、ＳＡＮ２０６を介してディスクアレイ２０４に結合している。これによって、ディスクアレイ２０４はホストコンピュータ２０２によって直接アクセス可能になる。対照的に、ディスクアレイ２２０は、第１のホストコンピュータ２０２Ａのみによって直接アクセス可能である。ディスクアレイ２２０は、ホストコンピュータ２０２の他のものによって直接アクセス可能でなく、ホストコンピュータ２０２のすべては、ディスクアレイ２０４に直接アクセスすることができるので、ディスクアレイ２０４及びディスクアレイ２２０を備えるストレージ資源は、ディスクアレイ２０４及びディスクアレイ２２０に直接アクセスするコンピュータのすべてによって直接アクセス可能であるとは限らないストレージデバイスを備える。
【００５１】
第２の例では、方法１２００（図１２）は、代替的な共有コンピューティング環境８００（図８）において使用される。この例によれば、第１のステップ１２０２は、第１のストレージディスク８２０Ａ及び第２のストレージディスク８２０Ｂを含むストレージ資源をプールする。これら第１のストレージディスク８２０Ａ及び第２のストレージディスク８２０Ｂは、第１のホストコンピュータ８０２Ａの一部及び第２のホストコンピュータ８０２Ｂの一部をそれぞれ形成する。この点で、第１のホストコンピュータ８０２Ａは、第１のストレージディスク８２０Ａに直接アクセスするが、第２のストレージディスク８２０Ｂには直接アクセスせず、第２のホストコンピュータ８２０Ｂは、第２のストレージディスク８２０Ｂに直接アクセスするが、第１のストレージディスク８２０Ａには直接アクセスしない。
【００５２】
方法１２００（図１２）は、プールされたストレージ資源からの仮想ストレージボリュームをパーティショニングする第２のステップ１２０４に続く。たとえば、第２のステップ１２０４は、ディスクアレイ２０４（図２）からの第１のＬＵＮ（論理ユニット）及びディスクアレイ２２０からの第２のＬＵＮをそれぞれパーティショニングする。この例によれば、仮想ストレージボリュームは、第１のＬＵＮ及び第２のＬＵＮを備える。これは、第１のＬＵＮ及び第２のＬＵＮを連結して仮想ストレージボリュームを形成することにより、又は、第１のＬＵＮ及び第２のＬＵＮに対してストライピングの技法を使用して仮想ストレージボリュームを形成することにより行うことができる。或いは、仮想ストレージボリュームを第１のＬＵＮ及び第２のＬＵＮにおいてミラーリングすることもできる。
【００５３】
第３のステップ１２０６では、方法１２００は、仮想ストレージボリュームを仮想コンピュータクラスタに割り当てる。方法１２００は、仮想ストレージボリュームを、仮想コンピュータクラスタ内のコンピューティングプラットフォームにアクセス可能にする第４のステップ１２０８で終了する。第４のステップ１２０８は、仮想コンピュータクラスタのユーザによる非物理的な不正変更から保護されるゲートキーパソフトウェアを使用する。このゲートキーパソフトウェアは、仮想コンピュータクラスタのコンピューティングプラットフォームをホスティングする複数のコンピュータのそれぞれに存在する。一実施の形態では、ゲートキーパソフトウェアの主要部が第４のステップ１２０８を実行する。別の実施の形態では、ゲートキーパソフトウェアを強化するモジュールが第４のステップ１２０８を実行する。
【００５４】
一実施の形態では、ゲートキーパソフトウェアは仮想ボリュームマネージャを備える。この仮想ボリュームマネージャは第４のステップ１２０８を実行する。仮想ボリュームマネージャは、ストレージ資源（たとえば、図２の共有コンピューティング環境２００内のストレージ資源）内におけるＬＵＮへの仮想ＬＵＮのマッピングを提供する。仮想ＬＵＮは、仮想コンピュータクラスタを形成するコンピューティングプラットフォームのオペレーティングシステムに提供される。オペレーティングシステムは、仮想ストレージボリューム内のデータの読み出し時及び書き込み時に仮想ＬＵＮを使用する。仮想ボリュームマネージャは、仮想ストレージボリュームのアクセス要求を受信すると、オペレーティングシステムから受信された仮想ＬＵＮを、共有コンピューティング環境のストレージ資源内の特定のＬＵＮへ変換する。ゲートキーパソフトウェアは、次に、それに応じて、その要求をルーティングする。
【００５５】
一例示の実施の形態では、仮想コンピュータクラスタは、第１のホストコンピュータ２０２Ａ及び第２のホストコンピュータ２０２Ｂ（図２）にそれぞれ存在する第１のコンピューティングプラットフォーム及び第２のコンピューティングプラットフォームを備える。別の例示の実施の形態では、第１のコンピューティングプラットフォームは第２のホストコンピュータ２０２Ｂに存在し、第２のコンピューティングプラットフォームは第３のホストコンピュータ２０２Ｃに存在する。さらに別の実施の形態では、第１のコンピューティングプラットフォーム及び第２のコンピューティングプラットフォームは、代替的な共有コンピューティング環境８００の第１のホストコンピュータ８０２Ａ及び第２のホストコンピュータ８０２Ｂ（図８）にそれぞれ存在する。
【００５６】
一実施の形態によれば、方法１２００（図１２）は、仮想ストレージボリュームへのアクセスを制御するステップをさらに含む。一実施の形態では、ゲートキーパが、仮想ストレージボリュームを宛先とした書き込みデータを暗号化し、仮想ストレージボリュームから到着した読み出しデータを解読することによって、仮想ストレージボリュームへのアクセスを制御するステップを実行する。好ましくは、これら暗号化及び解読は、データの送信及び受信を行うコンピューティングプラットフォーム内から見ることはできない。
【００５７】
別の実施の形態では、共有コンピューティング環境内のホストコンピュータ２０２のそれぞれにおけるゲートキーパソフトウェアが、仮想ストレージボリュームへのアクセスを制御するステップを実行する。この点で、ホストコンピュータ２０２は、それぞれ、ホストコンピュータのそれぞれにおけるユーザアクセス可能なコンピューティングプラットフォームをハードウェアから切り離す仮想マシンモニタを備える。ゲートキーパソフトウェアは、ホストコンピュータ２０２のそれぞれの仮想マシンモニタに存在する。ゲートキーパソフトウェアは、ユーザアクセス可能なコンピューティングプラットフォームのそれぞれについて割り当てられた仮想ストレージボリューム内にないストレージ資源へのアクセスを排除することによって、仮想ストレージボリュームへのアクセスを制御する。
【００５８】
一実施の形態によれば、方法１２００（図１２）は、複数のストレージデバイスにわたって仮想ストレージボリュームをストライピングするステップをさらに含む（たとえば、ＲＡＩＤ０）。別の実施の形態によれば、方法１２００は、複数のストレージデバイスにわたって仮想ストレージボリュームをミラーリングすることをさらに含む（たとえば、ＲＡＩＤ１）。
【００５９】
一実施の形態によれば、方法１２００は、複数のストレージデバイスにわたって仮想ストレージボリュームをイレーシャ符号化（erasure coding）することをさらに含む（たとえば、ＲＡＩＤ５）。このイレーシャ符号化によって、１つ又は複数の喪失したデータブロックを、残りのデータブロックから再構成することが可能になる。一実施の形態によれば、方法１２００は、仮想コンピュータクラスタと仮想ストレージボリュームとの間のストレージトラフィックをシェーピングするステップをさらに含む。このストレージトラフィックをシェーピングするステップは、ストレージトラフィックを遅延させることを含むことができる。ストレージトラフィックをシェーピングするステップは、ストレージトラフィックをバッチ処理することを含むことができる。或いは、ストレージトラフィックをシェーピングするステップは、ストレージトラフィック要求を再配列することを含むことができる。
【００６０】
一実施の形態によれば、方法１２００は、ソースストレージデバイスからデスティネーションストレージデバイスへ仮想ストレージボリュームの少なくとも一部をマイグレーションするステップをさらに含む。ソースストレージデバイスからデスティネーションストレージデバイスへ仮想ストレージボリュームの少なくとも一部をマイグレーションしている間、方法１２００は、第１の追加ステップ及び第２の追加ステップを含むことができる。第１の追加ステップは、ソースストレージデバイス及びデスティネーションストレージデバイスの双方に書き込みデータを記憶することを含む。第２の追加ステップは、ソースストレージデバイスからの読み出しデータにアクセスすることを含む。
【００６１】
本発明の上記詳細な説明は、例示の目的で提供されたものであり、網羅的であることを目的するものでもなければ、開示した実施の形態に本発明を限定することを目的とするものでもない。したがって、本発明の範囲は、添付の特許請求の範囲によって規定される。
【図面の簡単な説明】
【００６２】
【図１】本発明の共有コンピューティング環境内に仮想コンピュータクラスタを形成する方法の一実施の形態をフローチャートとして示す図である。
【図２】本発明の方法が使用される共有コンピューティング環境の一実施の形態を概略的に示す図である。
【図３】本発明の第１のコンピュータシステムの一実施の形態を概略的に示す図である。
【図４】本発明の第２のコンピュータシステムの一実施の形態を概略的に示す図である。
【図５】本発明の方法によって形成される仮想コンピュータクラスタの一実施の形態を概略的に示す図である。
【図６】本発明の１つの代替的なコンピュータシステムの一実施の形態を概略的に示す図である。
【図７】本発明の別の代替的なコンピュータシステムの一実施の形態を概略的に示す図である。
【図８】本発明の方法が使用される共有コンピューティング環境の別の実施の形態を概略的に示す図である。
【図９】本発明のコンピュータシステムを管理する方法の一実施の形態をフローチャートとして示す図である。
【図１０】本発明のコンピュータシステムの一実施の形態を概略的に示す図である。
【図１１】本発明の別のコンピュータシステムの一実施の形態を概略的に示す図である。
【図１２】本発明の仮想コンピュータクラスタにストレージを提供する方法をフローチャートとして示す図である。
【符号の説明】
【００６３】
２００・・・共有コンピューティング環境
２０２・・・ホストコンピュータ
２０４・・・ディスクアレイ
２０６・・・ＳＡＮ
２０８・・・ＬＡＮ
２１０・・・ワイドエリアネットワーク
２１２・・・プロセッサ
２１４・・・メモリ
２１６・・・ＨＢＡ
２１８・・・ＮＩＣ
２２０・・・ディスクアレイ
３００・・・コンピュータシステム
３０４・・・仮想マシンモニタ
３０５・・・仮想マシンインターフェース
３０６・・・コンピューティングプラットフォーム
３０８・・・オペレーティングシステムカーネル
３１０・・・ユーザレベル
３１２・・・仮想マシン
４００・・・コンピュータシステム
４０４・・・仮想マシンモニタ
４０５・・・仮想マシンインターフェース
４０６・・・コンピューティングプラットフォーム
５００・・・仮想コンピュータクラスタ
５０４・・・仮想ストレージ
５０６・・・仮想コンピュータ
５０８・・・仮想コンピュータ
６００・・・コンピュータシステム
６０２・・・オペレーティングシステム
６０４・・・仮想マシンモニタ
６０６・・・コンピューティングプラットフォーム
６０８・・・オペレーティングシステムカーネル
６１０・・・ユーザレベル
６１２・・・管理プラットフォーム
７００・・・コンピュータシステム
７０２・・・オペレーティングシステムカーネル
７０４・・・デーモン
７０５・・・コンピューティングモジュール
７０６・・・コンピューティングプラットフォーム
７１０・・・ユーザレベル
８００・・・共有コンピューティング環境
８０２・・・ホストコンピュータ
８０８・・・ＬＡＮ
８１２・・・プロセッサ
８１４・・・メモリ
８１８・・・ネットワークインターフェース
８２０・・・ストレージ
１０００・・・コンピュータシステム
１００２・・・コンピュータハードウェア
１００４・・・仮想マシンモニタ
１００６・・・コンピューティングプラットフォーム
１００８・・・オペレーティングシステムカーネル
１０１０・・・ユーザレベル
１０１２・・・モジュール
１０１４・・・追加モジュール
１１００・・・コンピュータシステム
１１０２・・・コンピュータハードウェア
１１０４・・・仮想マシンモニタ
１１０６・・・コンピューティングプラットフォーム
１１０８・・・オペレーティングシステムカーネル
１１１０・・・ユーザレベル
１１１２・・・モジュール
１１１４・・・コンピューティングプラットフォーム
１１１６・・・管理局
１１１８・・・管理ＡＰＩ
【図１】
2008516344.tif 000003
【図２】
2008516344.tif 000004
【図３】
2008516344.tif 000005
【図４】
2008516344.tif 000006
【図５】
2008516344.tif 000007
【図６】
2008516344.tif 000008
【図７】
2008516344.tif 000009
【図８】
2008516344.tif 000010
【図９】
2008516344.tif 000011
【図１０】
2008516344.tif 000012
【図１１】
2008516344.tif 000013
【図１２】
2008516344.tif 000014
【国際調査報告】
2008516344.tif 000015
2008516344.tif 000016