(57)【特許請求の範囲】
【請求項１】
バーチャル・マシン・ファームにおける電力管理のためのシステムであって、
各プラットフォームが複数のバーチャル・マシンを備え前記複数のバーチャル・マシンを制御するためのプラットフォーム・ハイパーバイザを含む、複数のバーチャル・マシン・プラットフォームのファームと、
各セットが、前記複数のバーチャル・マシン・プラットフォームの一つの中の前記バーチャル・マシンにそれぞれ連結されている複数のクライアント・デバイスを含む、複数のセットと、
前記バーチャル・マシン・プラットフォームの間でワークロードを分配、調整するためのバーチャル・マシン・ファーム管理サーバと、
前記バーチャル・マシン・ファーム管理サーバの中で、前記プラットフォーム・ハイパーバイザの各々に動作可能に関連付けられ、拡張プラットフォーム・ハイパーバイザを提供する手段であって、前記拡張プラットフォーム・ハイパーバイザは、
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定するための手段、
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの一つのクライアント・デバイスが非アクティブ状態にあるときは、前記一つのクライアント・デバイスが連結された前記バーチャル・マシンをＳ３状態に切り替えるための手段、および
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態にあるときは、前記拡張プラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームを前記Ｓ３状態に切り替えるための手段、
を包含する、前記提供する手段と、
を含み、
前記拡張プラットフォーム・ハイパーバイザは、前記拡張プラットフォーム・ハイパーバイザが、前記拡張プラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームをモニタし、前記拡張プラットフォーム・ハイパーバイザに制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態になった後所定の時間に、前記プラットフォームを前記Ｓ３状態にするように、前記拡張プラットフォーム・ハイパーバイザを構成するためのデータを入力する手段を前記バーチャル・マシン・ファーム管理サーバ中に含む、電力管理のためのシステム。
【請求項２】
前記拡張プラットフォーム・ハイパーバイザを構成するためのデータを入力するための前記バーチャル・マシン・ファーム管理サーバ中の前記手段は、マニュアル構成インタフェースである、請求項１に記載の電力管理のためのシステム。
【請求項３】
バーチャル・マシン・ファームにおける電力管理のためのシステムであって、
各プラットフォームが複数のバーチャル・マシンを備え前記複数のバーチャル・マシンを制御するためのプラットフォーム・ハイパーバイザを含む、複数のバーチャル・マシン・プラットフォームのファームと、
各セットが、前記複数のバーチャル・マシン・プラットフォームの一つの中の前記バーチャル・マシンにそれぞれ連結されている複数のクライアント・デバイスを含む、複数のセットと、
前記バーチャル・マシン・プラットフォームの間でワークロードを分配、調整するためのバーチャル・マシン・ファーム管理サーバと、
前記バーチャル・マシン・ファーム管理サーバの中で、前記プラットフォーム・ハイパーバイザの各々に動作可能に関連付けられ、拡張プラットフォーム・ハイパーバイザを提供する手段であって、前記拡張プラットフォーム・ハイパーバイザは、
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定するための手段、
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの一つのクライアント・デバイスが非アクティブ状態にあるときは、前記一つのクライアント・デバイスが連結された前記バーチャル・マシンをＳ３状態に切り替えるための手段、および
前記拡張プラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態にあるときは、前記拡張プラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームを前記Ｓ３状態に切り替えるための手段、
を包含する、前記提供する手段と、
を含み、
前記拡張プラットフォーム・ハイパーバイザは、前記拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたあるクライアント・デバイスがアクティブ化され次第、前記拡張プラットフォーム・ハイパーバイザの各々によって制御される前記バーチャル・マシン・プラットフォームを、全出力状態に戻し切り替えるための手段を、前記バーチャル・マシン・ファーム管理サーバ中にさらに含む、電力管理のためのシステム。
【請求項４】
各プラットフォームが複数のバーチャル・マシンを備え前記複数のバーチャル・マシンを制御するためのプラットフォーム・ハイパーバイザを含む、複数のバーチャル・マシン・プラットフォームのファームと、各セットが、前記複数のバーチャル・マシン・プラットフォームの一つの中の前記バーチャル・マシンにそれぞれ連結されている複数のクライアント・デバイスを含む、複数のセットと、前記バーチャル・マシン・プラットフォームの間でワークロードを分配、調整するためのバーチャル・マシン・ファーム管理サーバと、を包含するバーチャル・マシン・ファーム・システムにおいて、選択された任意のプラットフォーム・ハイパーバイザと前記バーチャル・マシン・ファーム管理サーバとの間で電力管理を共有する方法であって、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定するステップと、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの一つのクライアント・デバイスが非アクティブ状態にあるときは、前記一つのクライアント・デバイスが連結された前記バーチャル・マシンをＳ３状態に切り替えるステップと、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態にあるときは、前記選択されたプラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームを前記Ｓ３状態に切り替えるステップと、
を含むステップを実行し、
前記バーチャル・マシン・ファーム管理サーバは、データを入力することによって、前記選択された拡張プラットフォーム・ハイパーバイザが、前記選択された拡張ハイパーバイザの前記バーチャル・マシン・プラットフォームをモニタし、前記拡張プラットフォーム・ハイパーバイザに制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態になった後所定の時間に、前記プラットフォームを前記Ｓ３状態にするように前記拡張プラットフォーム・ハイパーバイザを構成することを可能にする、方法。
【請求項５】
前記バーチャル・マシン・ファーム管理サーバは、前記バーチャル・マシン・ファーム管理サーバにデータを入力することによって、前記バーチャル・マシン・ファーム管理サーバ中のマニュアル構成インタフェースを介して前記選択された拡張プラットフォーム・ハイパーバイザの構成を行うことを可能にする、請求項４に記載の方法。
【請求項６】
各プラットフォームが複数のバーチャル・マシンを備え前記複数のバーチャル・マシンを制御するためのプラットフォーム・ハイパーバイザを含む、複数のバーチャル・マシン・プラットフォームのファームと、各セットが、前記複数のバーチャル・マシン・プラットフォームの一つの中の前記バーチャル・マシンにそれぞれ連結されている複数のクライアント・デバイスを含む、複数のセットと、前記バーチャル・マシン・プラットフォームの間でワークロードを分配、調整するためのバーチャル・マシン・ファーム管理サーバと、を包含するバーチャル・マシン・ファーム・システムにおいて、選択された任意のプラットフォーム・ハイパーバイザと前記バーチャル・マシン・ファーム管理サーバとの間で電力管理を共有する方法であって、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定するステップと、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの一つのクライアント・デバイスが非アクティブ状態にあるときは、前記一つのクライアント・デバイスが連結された前記バーチャル・マシンをＳ３状態に切り替えるステップと、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態にあるときは、前記選択されたプラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームを前記Ｓ３状態に切り替えるステップと、
を含むステップを実行し、
前記選択された拡張プラットフォーム・ハイパーバイザは、前記拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたあるクライアント・デバイスがアクティブ化され次第、前記選択された拡張プラットフォーム・ハイパーバイザの各々によって制御される前記バーチャル・マシン・プラットフォームを、全出力状態にさらに戻し切り替える、方法。
【請求項７】
各プラットフォームが複数のバーチャル・マシンを備え前記複数のバーチャル・マシンを制御するためのプラットフォーム・ハイパーバイザを含む、複数のバーチャル・マシン・プラットフォームのファームと、各セットが、前記複数のバーチャル・マシン・プラットフォームの一つの中の前記バーチャル・マシンにそれぞれ連結された複数のクライアント・デバイスを含む、複数のセットと、前記バーチャル・マシン・プラットフォームの間でワークロードを分配、調整するためのバーチャル・マシン・ファーム管理サーバと、を包含するバーチャル・マシン・ファームにおける電力管理のために、選択された任意のプラットフォーム・ハイパーバイザと前記バーチャル・マシン・ファーム管理サーバとの間で電力管理を共有させるコンピュータ・プログラムであって、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定し、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの一つのクライアント・デバイスが非アクティブ状態にあるときは、前記一つのクライアント・デバイスが連結された前記バーチャル・マシンをＳ３状態に切り替え、
前記選択されたプラットフォーム・ハイパーバイザによって制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態にあるときは、前記選択されたプラットフォーム・ハイパーバイザの前記バーチャル・マシン・プラットフォームを前記Ｓ３状態に切り替える、
ことを、前記バーチャル・マシン・ファーム管理サーバに実行させ、
前記コンピュータ・プログラムは、実行されたとき、前記バーチャル・マシン・ファーム管理サーバが、データを入力することによって、前記選択された拡張プラットフォーム・ハイパーバイザが前記選択された拡張ハイパーバイザの前記バーチャル・マシン・プラットフォームをモニタし、前記拡張プラットフォーム・ハイパーバイザに制御される前記複数のバーチャル・マシンに連結された前記複数のクライアント・デバイスの全てが非アクティブ状態になった後所定の時間に、前記プラットフォームを前記Ｓ３状態にするように前記拡張プラットフォーム・ハイパーバイザを構成することを可能にするようにさせる、コンピュータ・プログラム。
【請求項８】
前記コンピュータ・プログラムは、実行されたとき、前記バーチャル・マシン・ファーム管理サーバ中に前記データを入力することによって、前記バーチャル・マシン・ファーム管理サーバ中のマニュアル構成インタフェースを介して前記選択された拡張プラットフォーム・ハイパーバイザを構成することを可能にする、請求項７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｊａｍｅｓ  Ｊ．Ｂｏｚｅｋらによる２００９年２月２６日出願の、同一譲受人に譲渡された、同時係属出願第１２／３９３，４７５号、名称「Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  ｔｏ  Ｍａｘｉｍｉｚｅ  Ｒｅｄｕｃｅｄ  Ｐｏｗｅｒ  Ｓｔａｔｅ  Ｆｏｒ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｐｌａｔｆｏｒｍｓ」に関連している。
【０００２】
技術分野
本発明は、各々がそれぞれ複数の別個のコンピュータおよびコンピュータ・デバイスに連結された複数のバーチャル・マシンを包含する、バーチャル・マシン・プラットフォーム群の電力管理に関し、具体的には、バーチャル・マシン・ファーム管理サーバ（Ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｆａｒｍ  ｍａｎａｇｅｍｅｎｔ  ｓｅｒｖｅｒｓ）を介して制御されるかかるバーチャル・マシン・プラットフォーム群のファーム（ｆａｒｍｓ）に対する電力管理に関する。
【背景技術】
【０００３】
過去１０年の間、ワールド・ワイド・ウェブ・システムの大幅な増加とともに、組織によって必要とされるコンピュータ処理の能力は、毎年幾何級数的に増大してきており、今や、百台さらには数千台ものサーバが必要となっている。このことは、ますます大きなメイン・フレーム・コンピュータ、特に、バーチャル・マシン（ＶＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）モードで作動するメインフレームおよび類似の大型コンピュータの復活を招いており、これらの中では、オペレーティング・システムおよび関連するアプリケーション・プログラムの複数のインスタンスが同一の物理ハードウエア中に駐在している。
【０００４】
かかるバーチャル・マシンは、多数のサーバに対する需要を満たしており、これらは多くの場合バーチャル・マシン・サーバ・ファームとして配列される。さらなる背景については、非特許文献１の記事、および非特許文献２の記事を参照することができる。複数のユーザ・コンピュータが、クライアント・コンピュータおよびコンピュータ制御デバイスの上記複数のユーザにそれぞれ接続された複数のバーチャル・マシンを備えた、各バーチャル・マシン・プラットフォームに連結されている、こういったバーチャル・マシン環境では、電力管理は制御が困難である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】２００５年７月発行ＩＢＭシステムズ・ジャーナル掲載、Ｄ．Ｔｕｒｋ「Ｖｉｒｔｕａｌ  Ｌｉｎｕｘ  ｓｅｒｖｅｒｓ  ｕｎｄｅｒ  ｚ／ＶＭ：  ｓｅｃｕｒｉｔｙ，  ｐｅｒｆｏｒｍａｎｃｅ，  ａｎｄ  ａｄｍｉｎｉｓｔｒａｔｉｖｅ  ｉｓｓｕｅｓ」。
【非特許文献２】２００７年９月発行ＩＢＭシステムズ・マガジン掲載、Ｊｉｍ  Ｆａｌｌ「Ｍｏｒｅ  ＰＯＷＥＲ  ｔｏ  Ｙａ，  Ｅｘｐａｎｄｅｄ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｍａｎａｇｅｒ  ｃａｐａｂｉｌｉｔｉｅｓ  ｈｅｌｐ  ｃｕｓｔｏｍｅｒｓ  ｇｒｏｗ  ａｎｄ  ｍａｎａｇｅ  ｖｉｒｔｕａｌｉｚｅｄ  ｅｎｖｉｒｏｎｍｅｎｔｓ」。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
バーチャル・マシン・セッションの開始に先立って、各バーチャル・マシン・プラットフォームでは全出力が必要となる。バーチャル・マシン・プラットフォームは、適切なバーチャル・マシンへのアクセスが必要な遠隔のユーザ・コンピュータに常に利用可能でなければならないので、どのオンライン・プラットフォームも全出力モードで連続的に作動するのが慣行となっている。浪費される電力消費は、バーチャル・マシン・プラットフォーム群がバーチャル・マシン・サーバ・ファームとして配列されるとき、特に言挙される。
【課題を解決するための手段】
【０００７】
本発明は、かかるバーチャル・マシン・プラットフォームのファームで、ユーザ・コンピュータがバーチャル・マシン・プラットフォームに一台も連結されていないときでもアクティブの全出力モードにおいて、各バーチャル・マシン・プラットフォームを維持する上での電力消費問題に対処する。
【０００８】
この目的ため、本発明は、電力管理のためのシステム、方法、およびコンピュータ・プログラムを提供し、これらにおいて、ファームで各バーチャル・マシン・プラットフォームにそれぞれサーブしている各ハイパーバイザに対して、それぞれ各バーチャル・マシン・プラットフォームを管理するために全体的バーチャル・マシン・ファーム管理サーバから与えられている機能とともに、各プラットフォームが低電力状態にある時間を最大化するため協働する、拡張ハイパーバイザ機能が提供される。
【０００９】
複数のセットが与えられ、各セットは、上記複数のバーチャル・マシン・プラットフォームの一つの中のバーチャル・マシンにそれぞれ連結された複数のクライアント・デバイスを含む。クライアント・デバイスは、ユーザ・コンピュータ、並びにプリンタ、ディスク・ドライブ、および、とりわけシリアル・ポートを含むコンピュータ・サブシステムを包含していると理解される。以下の本発明の説明において、ユーザ・コンピュータという用語が用いられた場合は、それはかかる全てのクライアント・デバイスを含むものと想定する。
【００１０】
ワークロードをバーチャル・マシン・プラットフォームの間に分配、調整するための、バーチャル・マシン・ファーム管理サーバが設けられる。該管理サーバ中には、拡張プラットフォーム・ハイパーバイザを提供するためプラットフォーム・ハイパーバイザの各々に作動可能に関連付けられた手段が含まれており、該拡張ハイパーバイザは、
該拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたクライアント・デバイスの各々がアクティブ状態にあるかどうかを判定するための手段と、該拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたクライアント・デバイスの全てが非アクティブ状態にあるときは、該拡張プラットフォーム・ハイパーバイザのバーチャル・マシン・プラットフォームを低電力消費状態に切り替えるための手段と、を含む。
【００１１】
本発明の拡張ハイパーバイザ機能を提供するために、ファーム管理サーバは、拡張ハイパーバイザに対し、拡張プラットフォーム・ハイパーバイザが、該拡張ハイパーバイザのバーチャル・マシン・プラットフォームをモニタし、該拡張プラットフォーム・ハイパーバイザに制御されるバーチャル・マシンに連結されたクライアント・デバイスの全てが非アクティブ状態になった後所定の時間に、該プラットフォームを低電力消費状態にするように、該ハイパーバイザを構成するためのデータを入力するための手段であるマニュアル構成インタフェースを提供する。
【００１２】
また、バーチャル・マシン・ファーム管理サーバは、拡張ハイパーバイザに対し、管理サーバのコネクション・ブローカの中に、該拡張ハイパーバイザのバーチャル・マシン・プラットフォームの上記低電力消費状態を追跡するための機能を提供する。
【００１３】
バーチャル・マシン・ファーム管理サーバは、拡張ハイパーバイザに対し、該拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたあるクライアント・デバイスがアクティブ化され次第、該拡張プラットフォーム・ハイパーバイザの各々によって制御されるバーチャル・マシン・プラットフォームを、全出力状態に戻し切り替えるための機能をさらに提供する。
【００１４】
当業者は、添付の図面と併せ、以下の明細書を参照することにより、本発明をよりよく理解し、その数多の目的および利点をより明確にすることができよう。
【図面の簡単な説明】
【００１５】
【図１】それぞれ、ユーザ・コンピュータまたはコンピュータ制御デバイスの複数のセットに連結された、バーチャル・マシン・ファーム管理サーバに管理される複数のバーチャル・マシン・プラットフォームのファームを示す、ネットワーク部分の一般化されたダイアグラム表現である。
【図２】単一の典型的バーチャル・マシン・プラットフォームと、プラットフォーム中のバーチャル・マシンに連結された遠隔ユーザ・コンピュータまたはクライアント・デバイスのセットとを含む、図１のものと類似のダイアグラム表現であり、ユーザ・コンピュータの非アクティブ状態のモニタリングを示す。
【図３】バーチャル・マシン環境における電力管理のための本発明を実施するため設定されたプログラムの一般的フローチャートであり、拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたクライアント・デバイスの全てが非アクティブ状態にあるとき、バーチャル・マシン・プラットフォームの低電力状態への切り替えを示す。
【図４】バーチャル・マシン環境における電力管理のための本発明を実施するため設定されたプログラムの一般的フローチャートであり、拡張プラットフォーム・ハイパーバイザによって制御されるバーチャル・マシンに連結されたクライアント・デバイスの一つ以上がアクティブ状態に復帰したとき、バーチャル・マシン・プラットフォームの全出力状態への切り替えを示す。
【発明を実施するための形態】
【００１６】
図１を参照すると、境界枠１３内に図示された、複数のバーチャル・マシン・ユニット１０、１１、および１２のバーチャル・ファームを含むネットワークが示されている。各ユニットは、バーチャル・マシン・プラットフォーム（Ｉ〜Ｎ）１４、１５、および１６、並びに、後記で説明するように、拡張ハイパーバイザとして機能することになる、それぞれのハイパーバイザＩ〜Ｎ、１７〜１９を含む。各ユニットは、標準的なＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（拡張構成および電源インタフェース））ＢＩＯＳ２０〜２２を含む。
【００１７】
それぞれのプラットフォーム（Ｉ−Ｎ）、１４、１５、および１６によって規定される各バーチャル・マシン・ユニットは、ネットワーク・コネクタ３０を介して連結されたユーザ・コンピュータすなわちクライアント・デバイス、デスクトップ１、２、およびｎ、２６〜２８（これらは遠隔にできる）のそれぞれのセット２３〜２５を制御し、連結はウェブを介してバーチャル・マシン、ＶＭ１、ＶＭ２、およびＶＭｎに行うことができ、これらは各ユニットのプラットフォーム１４〜１６中の各々のオペレーティング・システムＯＳ１、ＯＳ２、およびＯＳｎを使用する。
【００１８】
バーチャル・マシン・ファーム１３は、企業ネットワーク４０を介し、バーチャル・ファーム管理サーバ４１によって制御される。このファーム管理機能は、ｘ８６型のサーバによって実施することができる。例えば、このインプリメンテーションは、ＩＢＭのＢｌａｄｅＣｅｎｔｅｒ（ＩＢＭ社の登録商標）ＨＳ２２ブレード・サーバを用い、ＩＢＭのＳｙｓｔｅｍｓ  Ｄｉｒｅｃｔｏｒ（ＩＢＭ社の登録商標）６．１を使って構成することができる。管理サーバ４１は、適切なオペレーティング・システム４３を備え、サーバ・プラットフォーム４２にサポートされて一般的に図示されており、該適切なオペレーティング・システムは、とりわけ次の機能ユニット、すなわち、コネクション・ブローカ４４と、複数のバーチャル・マシン・ファームが制御される場合、バーチャルの実行を管理するために大域バーチャル・ファーム・マネージャ４５が利用可能であることと、ハイパーバイザ管理コンソール４７が管理サーバに対しハイパーバイザ機能を提供することと、マニュアル構成インタフェース４６と、をオペレーティングする。
【００１９】
図２は、図１のバーチャル・ファームの一部であり、図３および４に関連して説明するプログラムと併せ、バーチャル・マシン・ファームに対する電力管理を提供するための本発明の電力管理インプリメンテーションを説明するため用いられ、バーチャル・マシン・ファームでは、ファーム中の各バーチャル・マシン・プラットフォームにそれぞれサーブしている各ハイパーバイザに対し、それぞれのバーチャル・マシン・プラットフォームを管理するために全体的バーチャル・マシン・ファーム管理サーバから与えられている機能とともに協働する、各プラットフォームが低電力状態にある時間を最大化するための拡張ハイパーバイザ機能が提供される。
【００２０】
この説明を簡明化するために、図２の、プラットフォームＩ、１４によってサポートされた単一のバーチャル・マシン・ユニット１０に関連させて本発明を説明することにする。
【００２１】
次に、図３に示すステージにおいて、本発明のプログラムの実行を説明することとし、図２のバーチャル・マシン・ファームの図示部分においても、適用される場合、これらのステージを参照することとする。
【００２２】
ステージ１で、管理サーバ４１の管理構成インタフェース４６を使い、バーチャル・マシン・プラットフォーム１４に対するハイパーバイザ１７は、ＶＭ１〜ＶＭｎの全てが非アクティブ状態になってからＨ秒遅れの後、ハイパーバイザＩ、１７がステージ２でプラットフォーム１４のファーム・ユニット１０を低電力状態Ｓ３「スリープ」状態に入らせるように、構成される。ステージ２で、ハイパーバイザ１７中にデータが格納され、該ハイパーバイザは、管理サーバ４１中の管理構成インタフェース４６と協働して「拡張ハイパーバイザ」として機能し、ハイパーバイザ１７はＶＭ１〜ＶＭｎのモニタリングを開始し、ステージ３において、Ｖ＿Ｃｏｕｎｔ＝アクティブ・デバイス１〜ｎ（図２の２６〜２８）の合計数に設定される。ステージ４において、あるデバイス１〜ｎが期間Ｓの間非アクティブであったかどうかの判定がされる。「はい」の場合には、ステージ５で、それぞれのデバイスに対するＶＭ１〜ｎ／ＯＳ１〜ｎは低電力Ｓ３状態にされる。これは、図２のＡＣＰＩ  ＢＩＯＳ２０によって遂行され、これは、非アクティブなデバイスをサポートしているＶＭ、例えばデバイス２６をサポートしているＶＭ１などの実行を自動的に一時停止させ、ハイパーバイザ１７は、デバイス２６がアクティブに戻ったときはいつでも利用可能なように、ＶＭ１の状態を標準的な仕方で保存する。
【００２３】
ステージ６において、ハイパーバイザ１７中でＶ＿Ｃｏｕｎｔが１デクリメントされ、ステージ７において、ハイパーバイザ１７中でＶ＿Ｃｏｕｎｔ＞０かどうかの判定が行われる。「はい」の場合、プロセスはステージ４に戻り、プラットフォームのバーチャル・マシン・ユニットは、全出力「Ｓ５」状態で作動を続ける。その後、デバイス１〜ｎ（２６〜２８）の全てが非アクティブになり、ステージ７における判定が「いいえ」の場合、ステージ８において、所定の遅延時間ＨがＨ＞０かどうかさらなる判定が行われる。「いいえ」の場合、このときステージ９で、ハイパーバイザ１７は、管理サーバ４１中のマニュアル構成インタフェース４６およびコネクション・ブローカ４４に通知する。ハイパーバイザ１７は、上記の状態を、サポートしているデバイスがアクティブになったとき利用できるように、保存し、ステージ１０においてプラットフォーム１４を低電力Ｓ３状態にする。
【００２４】
次に、図４に関連させて、図２のファーム１３中のバーチャル・プラットフォーム１４を、デスクトップ・デバイス１〜ｎの一つがアクティブ化されたとき、全出力状態に回復するための、本発明のプログラムの作動を説明する。図４のエントリ点において、プラットフォームＩ、１４（図２）は低Ｓ３電力レベルにあり、セット２３中のデバイス１〜ｎの全ては非アクティブである。ステージ１１において、あるデバイスがアクティブ化されたか、そしてＶＭへの接続を要求したかどうか初回の判定が行われる。「はい」の場合、次いでステージ１２において、管理サーバ４１中のコネクション・ブローカ（ＣＢ：ｃｏｎｎｅｃｔｉｏｎ  ｂｒｏｋｅｒ）４４、望ましくは、ＬｅｏＳｔｒｅａｍ（Ｒ）コネクション・ブローカは、プラットフォーム１４にサーブしている拡張機能ハイパーバイザ１７上で、あるＶＭ、すなわち（まだＳ３状態の）ＶＭ２、が用いられるべきと判定し、該コネクション・ブローカは、ステージ１３で、プラットフォーム１４上のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ（ネットワーク・インタフェース・カード））のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（メディア・アクセス制御））アドレスに覚醒パケットを送信する。次いでステージ１５において、プラットフォーム１４は、拡張ハイパーバイザＩ（１７）を全出力Ｓ５状態に移行させる。ステージ１６で、ハイパーバイザＩは、ＣＢ４４に自分が全出力状態にあることを通知し、これに応じ、ステージ１７において、ＣＢ４４は、拡張ハイパーバイザＩに対し、Ｖ＿Ｃｏｕｎｔを０＋１＝１に引き上げるよう命令する。ステージ１８で、ＯＳ２およびＶＭ２が始動し、ステージ１９で、例えばデスクトップ２７などのアクティブ化されたデスクトップ・デバイスが作動可能になる。
【００２５】
この点において、覚醒したプラットフォームＩ（１４）は、次のアクティブ化したデスクトップによって図４ステージ２０が「はい」の判定となるのを待つ。前述においては、要求しているデスクトップ・デバイスは新規のユーザ・デバイスであった。次に、徹底した説明のために、２０における判定が「はい」であり、次に要求しているデスクトップは以前のユーザ・デスクトップ、例えばセット２３中のデスクトップ１（２６）であることを想定する。ステージ２１において、デスクトップ・デバイス２６でのセッションの再開が始まり、任意のＨＩＤ（Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅ（ヒューマン・インタフェース・デバイス））の動きによってそれが示される。ステージ２２で、デバイス２６は、以前に接続していたＶＭ１のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（メディア・アクセス制御））アドレスに、覚醒パケットを送信する。ステージ２３において、拡張ハイパーバイザ１７は、ＶＭ１のアクティブ化を再開させ、ステージ２４でＶ＿Ｃｏｕｎｔに１を加える。ステージ２５で、ＯＳ１およびＶＭ１が始動し、ステージ２６において、アクティブ化されたデスクトップ・デバイス、例えばデスクトップ２６が作動可能となる。この点において、プロセスは、分岐「Ａ」を介してステージ２０に経路し、プロセッシングが続く。
【００２６】
特定の好適な実施形態を示し説明してきたが、添付の請求項の範囲および意図から逸脱することなく、これらに多くの変更および修改を加えることかできることが理解されよう。
【図１】
0005681171.tif 000002
【図２】
0005681171.tif 000003
【図３】
0005681171.tif 000004
【図４】
0005681171.tif 000005