(57)【要約】【課題】プロセッサをシステム管理モードにすることなくシステム管理機能を実施することが可能な手段の提供。【解決手段】システム管理要求を処理するためのコンピューティングシステム及び方法。コンピューティングシステムは、仮想マシンモニタにより管理されるトラステッドドメインに、仮想高特権モードを含む。仮想高特権モードは、システム管理要求を処理する。【選択図】図１
2014527674.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
トラステッドドメインを管理するための仮想マシンモニタと、
前記トラステッドドメインにおいてシステム管理要求を処理するための仮想高特権モードと
を含むコンピューティングシステム。
【請求項２】
前記仮想高特権モードは、システム管理要求を処理するための仮想システム管理割り込みモードである、請求項１に記載のシステム。
【請求項３】
前記プロセッサは、システム管理モードに入らない、請求項１に記載のシステム。
【請求項４】
前記仮想高特権モードは、仮想アプライアンスである、請求項１に記載のシステム。
【請求項５】
前記仮想マシンモニタ又は前記特権ドメインは、前記仮想高特権モードを含む、請求項１に記載のシステム。
【請求項６】
前記システム管理要求は、前記仮想基本入出力システム（ｖＢＩＯＳ）によって受信されるか、Ｗｉｎｏｄｏｗｓ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ（ＷＭＩ）ラッパーに入れて前記仮想高特権モードに与えられるか、及び、リモート・プロシージャ・コール（ＲＰＣ）によって前記仮想高特権モードに与えられるかのうちの何れか１つである、請求項１に記載のシステム。
【請求項７】
コンピューティングシステムにおいてシステム管理要求を処理する方法であって、
システム管理要求を受信するために、仮想高特権モードのためのトラステッドドメインを、仮想マシンモニタによって管理するステップと、
前記システム管理要求がシステム管理モードを開始することを防止するステップと、
前記システム管理要求を仮想高特権モード環境において処理するステップと
を含む方法。
【請求項８】
システム構成を変更するステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記仮想マシンモニタは、ゲストドメインにとって使用できない前記システム構成を変更する、請求項８に記載の方法。
【請求項１０】
ゲストドメインからシステム管理割り込みを発行するステップをさらに含む、請求項７に記載の方法。
【請求項１１】
前記ドメインは、ゲストドメイン又は特権ドメインである、請求項１０に記載の方法。
【請求項１２】
プロセッサにより実行されたときにコンピューティングシステムに、
仮想マシンモニタを用いてトラステッドドメインを管理させ、
前記トラステッドドメインにおいて、システム管理要求を仮想高特権モード環境によって受信させ、
前記システム管理要求がシステム管理モードを開始することを防止させ、
前記システム管理要求を前記仮想高特権モード環境において処理させるコード
を含むコンピュータ読取可能媒体。
【請求項１３】
実行されたときにコンピューティングデバイスに、
ゲストドメインにとって使用できないシステム構成を変更させるコード
をさらに含む、請求項１２に記載のコンピュータ読取可能媒体。
【請求項１４】
実行されたときにコンピューティングデバイスに、
前記システム管理要求を仮想基本入出力システム（ｖＢＩＯＳ）から仮想高特権モードへ転送させるコード
をさらに含む、請求項１２に記載のコンピュータ読取可能媒体。
【請求項１５】
実行されたときにコンピューティングデバイスに、
前記システム管理要求を発行するためにドメインを生成させるコード
をさらに含み、前記ドメインは、ゲストドメイン又は特権ドメインである、請求項１２に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータ又は他のタイプの装置のような電子装置は、電子装置の起動について責任を負う基本入出力システム（ＢＩＯＳ）を含むことができる。起動の際に、ＢＩＯＳは、電子装置の種々の構成要素を初期化し、構成し、オペレーティングシステムを電子装置にロードする。また、ＢＩＯＳは、電力管理サービス、熱管理サービス、及びＢＩＯＳアップデートサービス等のような他のサービスをさらに提供することができる。
【０００２】
一部の実施形態は、下記の図面を参照して説明される。
【図面の簡単な説明】
【０００３】
【図１】仮想高特権モードの例示的実施形態によるコンピューティングシステムを示すブロック図である。
【図２】仮想高特権モードの例示的実施形態によるコンピューティングシステムを示すブロック図である。
【図３】例示的実施形態によるシステム管理要求を処理する方法を示すフロー図である。
【図４】例示的実施形態によるシステム管理要求を処理する方法を示すフロー図である。
【図５】コンピュータ読取可能媒体の例示的実施形態によるコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【０００４】
詳細な説明
基本入出力システム（ＢＩＯＳ）は通常、電子装置が起動したときに、電子装置によって実行される最初のコードである。電子装置の例としては、コンピュータ（例えば、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、サーバコンピュータなど）、携帯装置（例えば、携帯情報端末（ＰＤＡ）、スマートフォンなど）、電子アプライアンス、ゲームコンソール、又は、他のタイプの電子装置が挙げられる。ＢＩＯＳは、電子装置の種々のハードウェア構成要素を初期化し、構成し、電子装置のオペレーティングシステム（ＯＳ）をロードし、開始する。ＢＩＯＳのコードは通常、フラッシュメモリデバイス、又は、他のタイプのプログラマブル・リード・オンリー・メモリ（ＲＯＭ）のような不揮発性メモリに記憶される。
【０００５】
ＢＩＯＳは、電子装置において実施することが可能な他の機能も提供する。電子装置において、ＢＩＯＳのそのような他の機能の多くは、ＯＳの実行がサスペンド（一時停止）される動作モードであるシステム管理モード（ＳＭＭ）に入ることによって、実行されることが多い。また、複数のプロセッサ又はプロセッサコアを有する電子装置の場合、ＳＭＭモードにおいて、それらのプロセッサ又はプロセッサコアの１つを除く全てが無効化されることがある。ＳＭＭモードに入るためには、システム管理割り込み（ＳＭＩ）をアサートし、個々の機能（複数可）を実施するために、大抵は比較的高い特権モードで、ＳＭＩハンドラ（これは、ＢＩＯＳの一部である）を実行する。
【０００６】
ＢＩＯＳ機能を実施するためにＳＭＭモードに入ることは、種々の問題を伴うことがある。第１に、ＯＳの実行がサスペンドされるため、通常の電子装置動作を進めることができない。また、ＳＭＭモードにある間、プロセッサ（複数可）又はプロセッサコア（複数可）が無効化される電子装置では、電子装置の処理能力の一部が一時的に無力化され、その結果、処理能力のそのような部分を他のタスクの実施に利用することができないことを意味する。また、ＳＭＭ処理にどの程度の時間がかかるのかを予測することは難しい場合があり、その結果、電子装置の動作に不確定性が生じることがある。さらに、ＢＩＯＳ機能によっては、完了するのに比較的長い時間（例えば、数分程度）を要することがあり、電子装置のユーザは、ステータス情報を入手できない場合があり、その結果、ユーザを動揺させることがある。なぜなら、ユーザは、電子装置が適切に機能しているか否かを究明することができないからである。
【０００７】
セキュリティもまた問題となる場合がある。なぜなら、マルウェア（悪意のあるソフトウェア）が、ＳＭＭ動作中に攻撃を仕掛ける場合があり、それが、システム破壊をもたらすことがあるからである。ＳＭＭ動作に対するそのような攻撃を回避するためにとられる種々のセキュリティ対策は、電子装置の設計の複雑さを増大させる原因となることがある。かかるセキュリティ対策の例としては、種々のレジスタ、及び／又は、フラッシュメモリデバイス若しくは他のタイプのプログラマブル・リード・オンリー・メモリのような不揮発性メモリの一部のような、特定の記憶領域をロックすることが挙げられる。また、セキュリティ対策は、ＢＩＯＳコードアップデートのような特定のＢＩＯＳ機能の性能に制限を課す場合があり、制限は、そのようなＢＩＯＳ機能をシステム再起動のような特定時点にのみ実施すべきことを強制することがある。
【０００８】
ＳＭＭにおいてよく実施される種々の機能の例には、次のうちの何れか１つ、又はそれらの組み合わせが含まれ得る。すなわち、ＢＩＯＳコードをアップデートするためのサービス；ＢＩＯＳの設定にアクセスし又はその設定を変更するためのサービス；熱管理を実施する（例えば、電子装置においてファンのような冷却装置を制御する）ための熱管理サービス；（特定のハードウェア構成要素に対する電力の除去又は復旧をする）電力管理サービス；異なる電力状態（例えば、ハイバネーション状態、スリープ状態、及び完全オン状態等）間において電子装置を遷移させるためのサービス；電子装置のボタン又はボタンシーケンス（例えば、無線インタフェース構成要素をオン／オフするためのボタンや、一部の所定のタスクを実施するためのホットキーシーケンスなど）の駆動（複数ボタンの一部の組み合わせの駆動を含む）を処理するサービス；（電子装置の周りの周囲光を検出するための）電子装置の周囲光センサに関連するサービス；電子装置におけるハードウェア構成要素の設定を変更するためのサービス；電子装置のブート装置のブート順序を変更するためのサービス；ＯＳとＢＩＯＳとの間の特定タイプの呼び出し（例えば、割り込み１５呼び出し）を処理するサービス；内蔵コントローラのコマンドを実行するためのサービス；及び、特定条件下でレガシー周辺機器をサポートするためのサービスである。
【０００９】
種々のＢＩＯＳ機能の例を上に列挙したが、実施形態によっては、他のＢＩＯＳ機能又は代替のＢＩＯＳ機能が使用される場合もある。
【００１０】
実施形態によっては、より強固なシステム挙動を得るために、ＢＩＯＳの種々機能は、電子装置の特権ドメインに設けられることがある。特権ドメインは、比較的安全で、かつ、電子装置の他のエンティティは入手することができないある所定の特権（複数可）を有する、電子装置の一領域（ドメイン）である。一般に、「特権ドメイン」とは、当該ドメイン内のエンティティに対しては、電子装置の種々の機能を実施することを許可し、他のエンティティ（例えば、ＯＳ、アプリケーションプログラムなど）に対しては、そのような実施を許可しない、所定の特権（複数可）を有するドメインのことを言う。また、特権ドメインは、権限を有しないアクセス又は攻撃から特権ドメインを保護するためのセキュリティメカニズムをさらに有する。
【００１１】
ＳＭＭモードの種々の機能を仮想高特権モードに移すことにより、電子装置は、仮想高特権モードに移されたそのようなＢＩＯＳ機能を実施するために、ＳＭＭモードに入る必要はなくなる。実施形態によっては、ＳＭＭ処理をハードウェアから完全に無くすことができる。実施形態によっては、特定のＢＩＯＳ機能を実施するためのＳＭＭ処理は依然として可能であるが、残りのＢＩＯＳ機能は、仮想高特権モードを通して実施される場合がある。
【００１２】
特権ドメインの例としては、次のうちの任意の、又は一部の組み合わせが挙げられる。すなわち、ドメイン０（これは、管理タスクを実施するために仮想マシンモニタ（ハイパーバイザーとも呼ばれる）によって開始される最初のドメインであることが多い）；仮想マシンモニタ（又はハイパーバイザー）の一部；拡張された特権及び／又はセキュリティをゲスト仮想マシンに与えるための所定の設定を有するゲスト仮想マシン；又は、所定の特別な特権及び／又はセキュリティメカニズムを有する、電子装置における他のタイプのドメインである。安全な特権ドメインは、トラステッド（高い信頼性を有する）ランタイムＢＩＯＳを含むことがあり、当該ＢＩＯＳは、ピアレベルの構成要素を有することなく、仮想高特権モードを他のドメインから分離し、保護するためのシステム管理モード転送モニタのような仮想マシンモニタを用いて、システム管理命令を安全に処理するための、仮想高特権モードを有することができる。
【００１３】
「仮想マシン」（「仮想アプライアンス」又は「仮想パーティション」とも呼ばれる）とは、物理マシンを仮想化し、又はエミュレートするために設けられた物理マシン（電子装置）の一部のパーティション又はセグメントのことを言う。ユーザ又はアプリケーションから見れば、仮想マシンは、物理マシンのように見える。仮想マシンは、オペレーティングシステム（ゲストオペレーティングシステムと呼ばれる）、及び少なくとも１つのアプリケーションプログラムを含む。
【００１４】
ハイパーバイザーとも呼ばれる仮想マシンモニタ（ＶＭＭ）は、電子装置のハードウェア構成要素のような物理リソースの仮想マシンによる共有を管理する。ＶＭＭは、物理リソースを仮想化する。各仮想マシンは、ＶＭＭによって管理される関連仮想化物理リソースを有する。ＶＭＭは、物理リソースの要求を処理する。
【００１５】
図面を参照すると、図１は、仮想高特権モードの例示的実施形態によるコンピューティングシステムを示すブロック図である。コンピューティングシステム１００は、プロセッサ１１０を含むことができる。プロセッサ１１０は、コンピューティングシステム１００のハードウェア１０５の一部である。プロセッサ１１０は、汎用プロセッサであってもよいし、特定用途向けプロセッサであってもよい。例えば、ハードウェア１０５は、Ｉ／Ｏデバイス、揮発性メモリ、二次記憶装置、フラッシュメモリ、ネットワークインタフェースコントローラ、及びグラフィックスアダプタ等をさらに含むことができる。システムは、種々のハードウェア構成要素の物理リソースを管理し、当該物理リソースを仮想化するための仮想マシンモニタをさらに含むことができる。コンピューティングシステムは、ゲストドメイン１３０に取り付けられた仮想基本入出力システム（ｖＢＩＯＳ）１３５を含む。ゲストドメイン１３０は、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、ＵＮＩＸ（登録商標）、又は他のオペレーティングシステムのようなオペレーティングシステムを実行することがある仮想マシンである。
【００１６】
一部の例において、特権ドメイン１２０は、ドメイン０である。ドメイン０は、システム起動時にＶＭＭ１０２によって開始される管理ドメインであり、拡張された特権及びセキュリティメカニズムを有する。ドメイン０により実施されるタスクの例としては、ゲストドメインを作成し、設定することが挙げられる。ドメイン０及びゲストドメインはそれぞれ、対応する仮想マシンとみなされる。特権ドメイン１２０は、ＶＭＭ１１５から分離することができる。代替実施形態において、特権ドメイン１２０は、ＶＭＭ１１５の一部であってもよい。そのような代替実施形態では、トラステッドランタイムＢＩＯＳ機能１２５は、ＶＭＭ１１５の一部である。特権ドメイン１２０は、トラステッドＶＭＭ１１５により生成され、管理されるため、トラステッドドメインである場合がある。
【００１７】
特権ドメイン１２０にＢＩＯＳ機能１２５を与えることにより、「トラステッドランタイムＢＩＯＳ１２５」又はＢＩＯＳ．ｖとも呼ばれる「クラウド状ＢＩＯＳ」を実施する。「クラウド」とは、特権ドメイン１２０（又は何らかの他のトラステッドドメイン）のことを言う場合がある。クラウドは、コンピューティングシステム１００に配置されてもよいし、コンピューティングシステム１００の外部に配置されてもよい。例えば、トラステッドランタイムＢＩＯＳ１２５機能を含むクラウドは、ネットワークを介してコンピューティングシステム１００によりアクセス可能とされる場合がある。ネットワークは、例えば、ローカルネットワークであっても、ワイドネットワークであっても、ワールドワイドネットワークであってもよい。
【００１８】
コンピューティングシステム１００は、システム管理要求を処理するための仮想高特権モード１４０を含む場合がある。システム管理要求は、システム管理割り込み、及びシステム管理命令のうちの少なくとも一方を含む。システム管理要求は、例えば、ゲストドメイン１３０により発行される場合もあれば、又は特権ドメイン１２０により発行される場合もある。仮想高特権モード１４０は、特権ドメイン内のトラステッドランタイムＢＩＯＳの中に示されているが、仮想高特権モード１４０は、ＶＭＭ１１５により生成若しくは管理される如何なるトラステッドドメインであってもよく、あるいは、ＶＭＭ１１５自体に含まれてもよい。ＶＭＭにより生成又は管理される他のドメインであってトラステッドドメインであり得るものには、特権ドメイン１２０、仮想アプライアンス、ゲストドメイン１３０が含まれ得る。
【００１９】
システム管理要求を処理するための仮想高特権モード１４０は、プロセッサ１１０又は他のハードウェア１０５がシステム管理モードに入ることを防止することができる。システム管理モードは、システム管理要求が処理されるまで、処理の停止を引き起こす。例えば、ゲストドメイン１３０がシステム管理要求を生成した場合、仮想マシンモニタ１１５は、そのシステム管理要求によってプロセッサ１１０がシステム管理モードにされることを防止し、当該要求を処理するために、そのシステム管理要求を仮想高特権モード１４０へリダイレクトすることができる。仮想高特権モードは、通常ならばプロセッサのシステム管理モードにおいて実施されることになるシステム構成変更を実施するためのハードウェアへのアクセスを有する場合がある。一例として、ハードウェア１０５へのアクセスは、仮想マシンモニタ１１５によって与えられる場合がある。
【００２０】
図２は、仮想高特権モードの例示的実施形態によるコンピューティングシステムを示すブロック図である。コンピューティングシステム２００は、プロセッサ２１０を含むことができる。プロセッサ２１０は、コンピューティングシステム２００のハードウェア２０５の一部である。ハードウェアは、ファームウェア２４５を含むことができ、ファームウェア２４５は、基本入出力システム（ＢＩＯＳ）２５０、及び拡張可能なファームウェアインタフェース（ＥＦＩ）２５５を含む場合がある。ＢＩＯＳ２５０は、物理ＢＩＯＳと呼ばれることがある。「物理ＢＩＯＳ」とは、フラッシュメモリ又は他のプログラマブル・リード・オンリー・メモリのような不揮発性メモリに置かれたＢＩＯＳコードであって、コンピューティングシステム２００の起動時に実行されるべきものを言う。一部の実施形態において、物理ＢＩＯＳは、ＢＩＯＳの軽量（簡略）バージョンである場合がある。なぜなら、システム管理モードの少なくとも一部が、仮想高特権モードへ移されるからである。トラステッドランタイムＢＩＯＳ２２５が実施される場合、トラステッドランタイムＢＩＯＳ２２５に信用が付随するため、変更を可能にするために、物理ＢＩＯＳ２５０は、アンロック状態に留まる場合がある。プロセッサ２１０は、汎用プロセッサであってもよいし、特定用途向けプロセッサであってもよい。システムは、ハードウェア構成要素の物理リソースを管理し、当該物理リソースを仮想化するために、仮想マシンモニタＶＭＭ２１５を含むことができる。コンピューティングシステム１００は、ゲストドメイン２３０に取り付けられた仮想基本入出力システム（ｖＢＩＯＳ）２３５を含む。ゲストドメイン２３０は、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、ＵＮＩＸ（登録商標）、又は他のオペレーティングシステムのようなオペレーティングシステムを実行することがある仮想マシンである。
【００２１】
一部の例において、特権ドメイン２２０は、ドメイン０、すなわち、起動時にＶＭＭ２０２によって開始される管理ドメインであり、このドメインは、拡張された特権及びセキュリティメカニズムを有する。ドメイン０により実施されるタスクの例としては、ゲストドメインを作成し、設定することが挙げられる。ドメイン０及びゲストドメインはそれぞれ、対応する仮想マシンとみなされる。特権ドメイン２２０は、ＶＭＭ２１５から分離することができる。代替実施形態において、特権ドメイン２２０は、ＶＭＭ２１５の一部であってもよい。そのような代替実施形態では、トラステッドランタイムＢＩＯＳ２２５は、ＶＭＭ２１５の一部である。
【００２２】
仮想システム管理モード２４０は、システム管理要求を処理するためのものであり、仮想システム管理モード２４０は、システムハードウェア２０５をシステム管理モードにするための種々の機能を実施することが可能な仮想高特権モードである。システム管理モードの種々の機能を仮想システム管理モード２４０で処理することにより、プロセッサがシステム管理モードに入らないことから、システム管理モードにあるときにプロセッサ２１０が種々の命令及びデータの処理を停止することを、防止することができる。実施形態によっては、プロセッサ２１０は、システム管理モードを有しない場合がある。
【００２３】
種々の実施形態において、仮想システム管理モード２４０は、ＶＭＭ２１５自体又は仮想アプライアンス２６０のようなＶＭＭ２１５により生成され又は管理される何れのトラステッドドメインにあっても、特権ドメイン２２０にあってもよく、あるいは、ゲストドメイン２３０にあってもよい。一例において、システム管理要求が生成される。システム管理要求は、システム管理要求を処理するために、仮想システム管理モード２４０へ転送される。一実施形態において、システム管理要求は、仮想基本入出力システム（ｖＢＩＯＳ）２３５によって受信され、仮想システム管理モード２４０へと転送される場合がある。システム管理要求は、ウェブサービスのアプリケーション・プログラミング・インタフェース（ＡＰＩ）によって送信されることができる。他の実施形態として、システム管理要求は、Ｗｉｎｄｏｗｓ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ（ＷＭＩ）ラッパーの中に詰め込まれる場合がある。他の実施形態としては、リモート・プロシージャ・コール（ＲＰＣ）を使用して、システム管理要求を仮想システム管理モードへ転送することが挙げられる。
【００２４】
一部の実施形態において、クラウド状ＢＩＯＳは、ＶＭＭベースのアーキテクチャの次のような前提に基づく。すなわち、物理ＢＩＯＳは、物理ＢＩＯＳがブートしているメイン・ランタイム・エンティティ（ＶＭＭ２１５）を知っていて、当該エンティティを信用していること、及び、ＢＩＯＳに信用されたＶＭＭは、特権ドメインからやって来るものを除き、（ＢＩＯＳ機能にアクセスするための）全てのＩ／Ｏ要求を捕捉し、当該Ｉ／Ｏ要求をオフにする機能を有することである。一部の実施形態では、コンピューティングシステムによりブートすべきＶＭＭの出所を確認するために、ＢＩＯＳ検査メカニズムが設けられる場合がある。そのような検査メカニズムによれば、管理者又は他のユーザは、コンピューティングシステムにおいて権限を有するＶＭＭのみがブートできるように指定することができる。検査メカニズムによれば、コンピューティングシステムにおけるＶＭＭイメージが悪意により変更されていないこと、及びＶＭＭが信用できるものであることを確認することができる。物理ＢＩＯＳは、ＶＭＭイメージを検査し、ＶＭＭが、以前に指定された既知の一組の制御された動作設定を使用してブートされることを確認することができる。その後、ＶＭＭは、ハードウェア２０５をシステム管理モードにすることなく、トラステッド環境においてシステム管理要求を処理するために、仮想高特権モード２４０を生成し、管理する場合がある。
【００２５】
権限を有するＶＭＭがブートされたことを確認した後、物理ＢＩＯＳは、権限を有しない、又は悪意のあるコードによる破壊を防止するために物理ＢＩＯＳが通常実施するであろう種々のセキュリティ測定の実行を、延期又は省略することができる。例えば、物理ＢＩＯＳは、ＢＩＯＳフラッシュレジスタ及び／又はフラッシュメモリの種々の部分をロックしないことを選択することができる。
【００２６】
実施形態によっては、トラステッドランタイムＢＩＯＳ２２５は、コンピューティングシステム２００の内部に設けられる場合もあるが、トラステッドランタイムＢＩＯＳ２２５は、コンピューティングシステムの外部に設けられる場合もある。ゲスト仮想マシン、又は、ＢＩＯＳサービスにアクセスすることを望むコンピューティングシステムの他のエンティティから見れば、ＢＩＯＳサービスを含むクラウドは、どこに配置されてもよく、例えば、コンピューティングシステムの外部の場所に配置されてもよい。
【００２７】
トラステッドランタイムＢＩＯＳを備えた一実施形態では、特権ドメインでも他のトラステッドドメインでもない他のドメインは、ＢＩＯＳと通信することができない。これは、ゲストドメインからＢＩＯＳへの通信手段を全て捕捉し、受信及び処理のための適当なフィルタのために、特権ドメイン部分へルーティングすることを確保することによって可能となる。そして、特権ドメインにある仮想高特権モードは、要求を処理することができ、フラッシュメモリ又はＢＩＯＳに対して直接的又は間接的な呼び出しを行うことができる。その後、特権ドメインからＢＩＯＳへのこの呼び出しは、ハイパーバイザーによって、通過することを許可される。なぜなら、ハイパーバイザーは、ゲストドメインではなく、特権ドメインから発せられた呼び出しを検出することができるからである。物理ＢＩＯＳに対するオープンかつ排他的なアクセスが与えられた場合、特権ドメインから物理ＢＩＯＳへの通信の安全性が確保され、特権ドメインは今や、実行時にＢＩＯＳの全設定を読み書きすることができ、従って、プロセッサがシステム管理モードに入ることになる状況を無くすことができる。
【００２８】
システム管理要求の処理を仮想高特権モードに移すことは、仮想マシンモニタが、より多くのシステム情報、及びコンテキストを入手できるという利点を有する。例えば、コンピューティングシステムが、熱イベントを処理するためのシステム管理要求を常にトリガリングしている場合、仮想マシンモニタは、そのリソース・スケジューリングを適宜調節し、仮想高特権モードがプロセッサを常にＳＭＭにしておくことなく、システムの冷却を可能にするための調節を自動的に提供することを、決定する場合がある。
【００２９】
図３は、例示的実施形態によるシステム管理要求を処理する方法３００を示すフロー図である。この方法は、３０５において、システム管理要求を受信するために、仮想高特権モードのためのトラステッドドメインを、仮想マシンモニタによって管理することができる。トラステッドドメインは、特権ドメイン１２０であってもよいし、他のドメインであってもよい。システム管理要求は、プロセッサ１１０をシステム管理モードにし、プロセッサ１１０のリアルモードにおいて実行されている全ての処理を停止させることができるものであってもよい。３１０において、システム管理要求がシステム管理モードを開始することは、防止される。システム管理要求は、仮想高特権モード環境１４０へルーティングされる場合がある。システム管理要求のルーティングは、例えば、ｖＢＩＯＳによってシステム管理要求を仮想高特権モードへ送信すること、システム管理要求をＷＭＩラッパーに詰め込むこと、又は、リモート・プロシージャ・コール（ＲＰＣ）を行い、若しくはウェブサービスＡＰＩを作成することによってなされる場合がある。３１５において、システム管理要求は、仮想高特権モード環境において処理されることができる。仮想高特権モード環境は、ゲストドメインにとって使用できない方法でシステム構成を変更するためのハードウェアへのアクセスを有することができる。
【００３０】
図４は、例示的実施形態によるシステム管理要求を処理する方法を示すフロー図である。この方法は、４０２において、ドメインがシステム管理要求を発行することによって、開始されることができる。ドメインは、例えば、ゲストドメイン１３０であってもよいし、又は、特権ドメイン１２０であってもよい。
【００３１】
４０５において、仮想マシンモニタは、システム管理要求を受信するために、仮想高特権モードのためのトラステッドドメインを管理することができる。仮想高特権モードは、システム管理要求を受信することができ、当該システム管理要求は、ＶＭＭ１１５又は特権ドメイン１２０のような他の構成要素によってルーティングされたものである場合がある。システム管理要求は、プロセッサをシステム管理モードにし、プロセッサ１１０のリアルモードにおいて実行されている全ての処理を停止させるものであってもよい。４１０において、システム管理要求がシステム管理モードを開始することは、防止される。システム管理要求が仮想高特権モード以外の何かによって受信された場合、システム管理要求は、仮想高特権モード環境１４０へルーティングされる場合がある。システム管理要求のルーティングは、例えば、ｖＢＩＯＳがシステム管理要求を仮想高特権モードへ送信すること、システム管理要求をＷＭＩラッパーに詰め込むこと、又は、リモート・プロシージャ・コール（ＲＰＣ）を行うことによってなされる場合がある。４１５において、システム管理要求は、仮想高特権モード環境において処理されることができる。仮想高特権モード環境は、ゲストドメインにとって使用できない方法でシステム構成を変更するためのハードウェアへのアクセスを有することができる。
【００３２】
図５は、コンピュータ読取可能媒体５１５〜５１６の例示的実施形態によるコンピュータシステム５００を示すブロック図である。コンピュータ読取可能媒体５１５〜５１６は、プロセッサ５０５により実行されたときに、コンピューティングシステムに仮想マシンモニタを実行させるコードを含むことができる。コードはさらに、仮想高特権モードにシステム管理要求を受信させることができる。システム管理要求がプロセッサのシステム管理モードを開始することは、防止される。コードは、システム管理要求を仮想高特権モード環境において処理させることができる。
【００３３】
このコードは、ゲストドメインにより変更することができないシステム構成を、仮想高特権モードに変更させることができる。プロセッサのリアルモードにあるドメインにとって使用可能ではないシステム構成を実施するために、ゲストドメイン又は特権ドメインのようなドメインにより、システム管理要求を生成することができる。
【００３４】
他の図に示したもののような種々のモジュールは、１又は複数のプロセッサ上で実行することが可能な機械読取可能命令として実施されてもよい。プロセッサには、マイクロプロセッサ、マイクロコントローラ、プロセッサモジュール若しくはサブシステム、プログラマブル集積回路、プログラマブルゲートアレイ、又は他の制御若しくは計算装置が含まれる得る。
【００３５】
機械読取可能命令は、機械読取可能又はコンピュータ読取可能な記憶媒体に記憶することができ、当該記憶媒体は、１又は複数のコンピュータ読取可能又は機械読取可能な記憶媒体として実施されてもよい。記憶媒体には、ダイナミック若しくはスタティック・ランダム・アクセス・メモリ（ＤＲＡＭ若しくはＳＲＡＭ）、消去可能なプログラマブル・リードオンリー・メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル・リードオンリー・メモリ（ＥＥＰＲＯＭ）及びフラッシュメモリのような半導体メモリデバイスを含む種々の形のメモリ；固定ディスク、フロッピー（登録商標）ディスク及びリムーバブルディスクのような磁気ディスク；テープのような他の磁気媒体；コンパクトディスク（ＣＤ（登録商標））又はデジタルビデオディスク（ＤＶＤ（登録商標））のような光学媒体；又は他のタイプの記憶装置が含まれ得る。なお、上で述べた命令は、１つのコンピュータ読取可能な記憶媒体若しくは機械読取可能な記憶媒体に設けられてもよいし、あるいは、複数のノードを有することがある大型システムにおいて分散された複数のコンピュータ読取可能な記憶媒体若しくは機械読取可能な記憶媒体に設けられてもよい。そのようなコンピュータ読取可能な記憶媒体若しくは機械読取可能な記憶媒体又は媒体（複数可）は、物品（又は製品）の一部とみなされる。物品又は製品とは、任意の製造された単一の構成要素、又は複数の構成要素を意味することがある。記憶媒体又は媒体は、機械読取可能な命令を実行する機械に配置されてもよいし、又は、リモートサイトに配置されてもよく、当該リモートサイトからネットワークを介して機械読取可能命令をダウンロードし、実行してもよい。
【００３６】
上記の説明において、本明細書に開示した事項を理解してもらうために、多数の詳細を説明した。しかしながら、実施形態は、それらの詳細の一部又は全部がなくても、実施される場合がある。実施形態によっては、上で説明した詳細からの修正又は変更を含む場合がある。添付の特許請求の範囲は、そのような修正及び変更をカバーすることを意図している。
【図１】
2014527674.tif 000003
【図２】
2014527674.tif 000004
【図３】
2014527674.tif 000005
【図４】
2014527674.tif 000006
【図５】
2014527674.tif 000007
【国際調査報告】
2014527674.tif 000008
2014527674.tif 000009