(57)【要約】【課題】  コンピュータの電力消費を管理するための方法及び製品、並びに電力消費が管理されるコンピュータを提供する。【解決手段】  コンピュータの電力消費を管理するための方法及び製品、並びに電力消費が管理されるコンピュータを提供する。コンピュータは、コンピュータ・プロセッサを含むコンピュータを含み、本発明の実施形態は、イン・バンド電力マネージャによって、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供することと、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、提案されたｐ−状態を承認するかどうかを決定することと、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することとを含む。【選択図】      図１
2011526018.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・プロセッサを含むコンピュータの電力消費を管理する方法であって、前記方法は、
イン・バンド電力マネージャにより、前記コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供することと、
前記アウト・オブ・バンド電力マネージャにより、前記コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、前記提案されたｐ−状態を承認するかどうかを決定することと、
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認した場合、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することと、
を含む方法。
【請求項２】
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認した場合、
前記方法は、前記イン・バンド電力マネージャに前記承認を通知することをさらに含み、
前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することは、前記イン・バンド電力マネージャにより、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することをさらに含む、請求項１に記載の方法。
【請求項３】
前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することは、前記アウト・オブ・バンド電力マネージャにより、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することをさらに含む、請求項１に記載の方法。
【請求項４】
前記アウト・オブ・バンド電力マネージャが前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの前記動作パラメータを設定したとき、前記イン・バンド電力マネージャに前記承認されたｐ−状態を通知することをさらに含む、請求項３に記載の方法。
【請求項５】
前記イン・バンド電力マネージャにより、前記アウト・オブ・バンド電力マネージャから、前記コンピュータ・プロセッサの現在のｐ−状態を定期的に要求することと、
前記イン・バンド電力マネージャが前記現在のｐ−状態を要求したときにのみ、前記イン・バンド電力マネージャに前記承認されたｐ−状態を通知することと、
をさらに含む、請求項３に記載の方法。
【請求項６】
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認しない場合にのみ、前記イン・バンド電力マネージャに通知するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記方法は、前記アウト・オブ・バンド電力マネージャにより、前記イン・バンド電力マネージャにおいて、ｐ−状態の通常の動作範囲を設定することをさらに含み、
前記イン・バンド電力マネージャにより、提案されたｐ−状態を前記アウト・オブ・バンド電力マネージャに提供することは、前記提案されたｐ−状態が前記通常の動作範囲内にある場合にのみ、前記提案されたｐ−状態を提供することをさらに含む、請求項１に記載の方法。
【請求項８】
電力消費を管理するためのコンピュータ・システムであって、前記コンピュータはコンピュータ・プロセッサ及びサービス・プロセッサ、並びに前記コンピュータ・プロセッサ及び前記サービス・プロセッサに動作可能に結合されたコンピュータ・メモリを含み、前記コンピュータ・メモリには、
イン・バンド電力マネージャにより、前記コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供し、
前記アウト・オブ・バンド電力マネージャにより、前記コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、前記提案されたｐ−状態を承認するかどうかを決定し、
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認した場合、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定する、
ことができるコンピュータ・プログラム命令が内部に配置されている、コンピュータ・システム。
【請求項９】
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認した場合、
前記コンピュータは、前記イン・バンド電力マネージャに前記承認を通知することができるコンピュータ・プログラム命令をさらに含み、
前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することは、前記イン・バンド電力マネージャにより、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することをさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することは、前記アウト・オブ・バンド電力マネージャにより、前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの動作パラメータを設定することをさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１１】
前記アウト・オブ・バンド電力マネージャが前記承認されたｐ−状態に従って前記コンピュータ・プロセッサの前記動作パラメータを設定したとき、前記イン・バンド電力マネージャに前記承認されたｐ−状態を通知することができるコンピュータ・プログラム命令をさらに含む、請求項１０に記載のコンピュータ・システム。
【請求項１２】
前記イン・バンド電力マネージャにより、前記アウト・オブ・バンド電力マネージャから、前記コンピュータ・プロセッサの現在のｐ−状態を定期的に要求し、
前記イン・バンド電力マネージャが前記現在のｐ−状態を要求したときにのみ、前記イン・バンド電力マネージャに前記承認されたｐ−状態を通知する、
ことができるコンピュータ・プログラム命令をさらに含む、請求項１０に記載のコンピュータ・システム。
【請求項１３】
前記アウト・オブ・バンド電力マネージャが前記提案されたｐ−状態を承認しない場合にのみ、前記イン・バンド電力マネージャに通知することができるコンピュータ・プログラム命令をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１４】
前記コンピュータは、前記アウト・オブ・バンド電力マネージャにより、前記イン・バンド電力マネージャにおいて、ｐ−状態の通常の動作範囲を設定することができるコンピュータ・プログラム命令をさらに含み、
前記イン・バンド電力マネージャにより、提案されたｐ−状態を前記アウト・オブ・バンド電力マネージャに提供することは、前記提案されたｐ−状態が前記通常の動作範囲内にある場合にのみ前記提案されたｐ−状態を提供することをさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１５】
デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記コンピュータ上で実行されたとき、請求項１から請求項７までに記載の前記方法の全てのステップの実行を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、データ処理であり、又は、より具体的には、コンピュータの電力消費を管理するための方法及び製品、並びに電力消費が管理されるコンピュータである。
【背景技術】
【０００２】
１９４８年のＥＤＶＡＣコンピュータの開発は、コンピュータ時代の始まりとしてよく引用される。その時以来、コンピュータは、極めて複雑な装置に発展してきた。今日のコンピュータは、ＥＤＶＡＣのような初期のシステムに比べて、はるかに高性能である。コンピュータは、典型的には、ハードウェア・コンポーネント及びソフトウェア・コンポーネントの組み合わせ、アプリケーション・プログラム、オペレーティング・システム、プロセッサ、バス、メモリ、入力／出力装置等を含む。半導体処理及びコンピュータ・アーキテクチャの進歩がコンピュータの高性能化をさらに押し進めるにつれて、ハードウェアのより高い性能を生かすために、より高度なコンピュータ・ソフトウェアが発展し、その結果、現在のコンピュータは、ほんの数年前よりもはるかに強力なものになっている。
【０００３】
今日のコンピュータ・システムは大量の電力を消費し、大量の熱を発生させることがある。コンピュータの電力消費及び熱の発生を制御するために、オペレーティング・システム（「ＯＳ」）及びコンピュータ・プロセッサの設計者は、大部分の現代のオペレーティング・システムのＡｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（「ＡＣＰＩ」）モジュールのような、ＯＳによって実行される電力管理（power management)技術を実施している。このようなＯＳベースの電力管理技術は、コンピュータ・プロセッサの性能に基づいてコンピュータの電力消費を管理する。他の電力管理技術は、ＯＳの一部として実行されるのではなく、ソフトウェアの形でコンピュータに実装される。実際に、このような非ＯＳベースの電力管理技術は、典型的には、コンピュータの一次プロセッサではない、サービス・プロセッサ等のプロセッサ上で実行されるソフトウェアの形で実装される。このような非ＯＳベースの電力管理技術は、コンピュータ・プロセッサの性能に基づくのではなく、測定された温度、電流、電力値等のみに基づいて、コンピュータ・プロセッサの電力消費を管理する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つのコンピュータにおいて、ＯＳベースの電力管理技術と非ＯＳベースの電力管理技術の両方が、電力消費の管理を同時に行なうことは可能であるが、現在のところ、このようなＯＳベースの電力管理技術と非ＯＳベースの電力管理技術との間の協働は存在しない。従って、コンピュータ・システムの電力消費を管理する際に、ＯＳベースの電力管理技術と非ＯＳベースの電力管理技術が競合することが多い。
【課題を解決するための手段】
【０００５】
コンピュータの電力消費を管理するための方法及び製品、並びに電力消費が管理されるコンピュータを提供する。このコンピュータは、コンピュータ・プロセッサを含むコンピュータを含み、本発明の実施形態は、イン・バンド電力マネージャにより、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供することと、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、提案されたｐ−状態を承認するかどうかを決定することと、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することとを含む。
【０００６】
本発明の上記及び他の目的、特徴、並びに利点は、一般的に同様の参照符号が本発明の例示的な実施形態の同様の部分を表す添付図面に示されるような、本発明の例示的な実施形態の以下のより具体的な説明から明らかになるであろう。
【０００７】
第１の態様から見ると、本発明は、コンピュータ・プロセッサを含むコンピュータの電力消費を管理する方法を提供し、本方法は、イン・バンド電力マネージャにより、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供することと、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、提案されたｐ−状態を承認するかどうかを決定することと、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することとを含む。
【０００８】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合に、方法がイン・バンド電力マネージャに承認を通知することをさらに含み、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することは、イン・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、方法を提供する。
【０００９】
好ましくは、本発明は、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することが、アウト・オブ・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、方法を提供する。
【００１０】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定したとき、イン・バンド電力マネージャに承認されたｐ−状態を通知することをさらに含む、方法を提供する。
【００１１】
好ましくは、本発明は、イン・バンド電力マネージャにより、アウト・オブ・バンド電力マネージャから、コンピュータ・プロセッサの現在のｐ−状態を定期的に要求することと、イン・バンド電力マネージャが現在のｐ−状態を要求したときにのみ、イン・バンド電力マネージャに承認されたｐ−状態を通知することをさらに含む、方法を提供する。
【００１２】
本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認しない場合にのみ、イン・バンド電力マネージャに通知することをさらに含む、方法を提供することが好ましい。
【００１３】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャにより、イン・バンド電力マネージャにおいて、ｐ−状態の通常の動作範囲を設定することをさらに含み、イン・バンド電力マネージャにより、提案されたｐ−状態をアウト・オブ・バンド電力マネージャに提供することが、提案されたｐ−状態が通常の動作範囲内にある場合にのみ提案されたｐ−状態を提供することをさらに含む、方法を提供する。
【００１４】
第２の態様から見ると、本発明は、電力消費を管理するためのコンピュータ・システムを提供し、コンピュータは、コンピュータ・プロセッサと、サービス・プロセッサと、コンピュータ・プロセッサ及びサービス・プロセッサに動作可能に結合されたコンピュータ・メモリとを含み、コンピュータ・メモリには、イン・バンド電力マネージャにより、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供し、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、提案されたｐ−状態を承認するかどうかを決定し、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することができるコンピュータ・プログラム命令が内部に配置されている。
【００１５】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、コンピュータが、イン・バンド電力マネージャに承認を通知することができるコンピュータ・プログラム命令をさらに含み、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することが、イン・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、コンピュータ・システムを提供する。
【００１６】
好ましくは、本発明は、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することが、アウト・オブ・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、コンピュータ・システムを提供する。
【００１７】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定したときに、イン・バンド電力マネージャに承認されたｐ−状態を通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・システムを提供する。
【００１８】
好ましくは、本発明は、イン・バンド電力マネージャにより、アウト・オブ・バンド電力マネージャから、コンピュータ・プロセッサの現在のｐ−状態を定期的に要求し、イン・バンド電力マネージャが現在のｐ−状態を要求したときにのみ、イン・バンド電力マネージャに承認されたｐ−状態を通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・システムを提供する。
【００１９】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認しない場合にのみ、イン・バンド電力マネージャに通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・システムを提供する。
【００２０】
好ましくは、本発明は、コンピュータが、アウト・オブ・バンド電力マネージャにより、イン・バンド電力マネージャにおいて、ｐ−状態の通常の動作範囲を設定することができるコンピュータ・プログラム命令をさらに含み、イン・バンド電力マネージャにより、提案されたｐ−状態をアウト・オブ・バンド電力マネージャに提供することは、提案されたｐ−状態が通常の動作範囲内にある場合にのみ提案されたｐ−状態を提供することをさらに含む、コンピュータ・システムを提供する。
【００２１】
第３の態様から見ると、本発明は、コンピュータ・プロセッサを含むコンピュータの電力消費を管理するための、コンピュータ可読媒体内に配置されたコンピュータ・プログラムを提供し、このコンピュータ・プログラムは、イン・バンド電力マネージャにより、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）をアウト・オブ・バンド電力マネージャに提供し、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、提案されたｐ−状態を承認するかどうかを決定し、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することができるコンピュータ・プログラム命令を含む。
【００２２】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認した場合、コンピュータ・プログラムが、イン・バンド電力マネージャに承認を通知することができるコンピュータ・プログラム命令をさらに含み、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することが、イン・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、コンピュータ・プログラムを提供する。
【００２３】
好ましくは、本発明は、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することが、アウト・オブ・バンド電力マネージャにより、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することをさらに含む、コンピュータ・プログラムを提供する。
【００２４】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定したとき、イン・バンド電力マネージャに承認されたｐ−状態を通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・プログラムを提供する。
【００２５】
好ましくは、本発明は、イン・バンド電力マネージャにより、アウト・オブ・バンド電力マネージャから、コンピュータ・プロセッサの現在のｐ−状態を定期的に要求し、イン・バンド電力マネージャが現在のｐ−状態を要求したときにのみ、イン・バンド電力マネージャに承認されたｐ−状態を通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・プログラムを提供する。
【００２６】
好ましくは、本発明は、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認しない場合にのみ、イン・バンド電力マネージャに通知することができるコンピュータ・プログラム命令をさらに含む、コンピュータ・プログラムを提供する。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態による、電力消費が管理されるコンピュータを含む例示的なシステムの機能ブロック図を示す。
【図２】本発明の実施形態による、コンピュータの電力消費を管理するための例示的な方法を示すフロー・チャートを示す。
【図３】本発明の実施形態による、コンピュータの電力消費を管理するための更に別の例示的な方法を示すフロー・チャートを示す。
【発明を実施するための形態】
【００２８】
本発明による、コンピュータにおける電力管理のための例示的な方法、コンピュータ、及び製品が、図１で始まる添付図面を参照して説明される。図１は、本発明の実施形態による、電力消費が管理されるコンピュータ（１５２）を含む例示的なシステムの機能ブロック図を示す。
【００２９】
コンピュータ（１５２）は、本発明の実施形態による、電力消費が管理される自動計算機を含む。本発明の実施形態による、電力消費を管理することができるこうした自動計算機の一例は、ブレード・サーバである。サーバとは、この用語が本明細書に用いられるとき、一般に、ネットワーク接続上でサービス（例えば、データベース・アクセス、ファイル転送、リモート・アクセス）又はリソース（例えば、ファイル空間）を提供するマルチ・ユーザ・コンピュータを指す。「サーバ」という用語は、文脈上、サーバのコンピュータ・ハードウェア、及びサーバ上で実行されるいずれかのサーバ・アプリケーション・ソフトウェア又はオペレーティング・システム・ソフトウェアを包括的に指す。サーバ・アプリケーションは、接続を受け入れ、応答を送り返すことによってユーザからの要求にサービスする、アプリケーション・プログラムである。サーバ・アプリケーションは、それを用いるクライアント・アプリケーションと同じコンピュータ上で実行することができ、或いは、サーバ・アプリケーションは、コンピュータ・ネットワークを通じて接続を受け入れることができる。サーバ・アプリケーションの例には、ファイル・サーバ、データベース・サーバ、バックアップ・サーバ、プリント・サーバ、メール・サーバ、ウェブ・サーバ、ＦＴＰサーバ、アプリケーション・サーバ、ＶＰＮサーバ、ＤＨＣＰサーバ、ＤＮＳサーバ、ＷＩＮＳサーバ、ログオン・サーバ、セキュリティ・サーバ、ドメイン・コントローラ、バックアップ・ドメイン・コントローラ、プロキシ・サーバ、ファイアウォール等が含まれる。
【００３０】
ブレード・サーバは、高密度のために設計された自己完結型のサーバである。ブレード・エンクロージャは、電力供給、冷却、ネットワーク化、種々の相互接続及び管理といったサービスを提供するが、異なるブレード提供業者は、ブレード自体の中に、時にはエンクロージャの中に一緒に、何を含ませるべきか、含ませるべきではないかについて異なる原理を有している。同時に、１組のブレード・サーバが、ブレード・エンクロージャ、又はブレード・システムのための「ブレード・センター」に取り付けられる。実際問題として、全てのコンピュータには、電力を必要とし、熱を発生する電気部品が実装される。プロセッサ、メモリ、ハード・ドライブ、電源装置、ストレージ及びネットワーク接続、キーボード、ビデオ・コンポーネント、マウス等のコンポーネントは、単に基本的な計算機能をサポートするにすぎず、さらに、これらは全て、嵩、熱、複雑性、及び固体構成部品より故障しやすい可動部品を付加する。ブレード・パラダイムにおいて、これらの機能の大部分は、ブレード・コンピュータから取り除かれ、ブレード・エンクロージャ（ＤＣ電力）により提供されるか、仮想化されるか（ｉＳＣＳＩストレージ、リモート・コンソール・オーバーＩＰ）、又は完全に廃棄される（シリアル・ポート）。ブレード自体は、より単純、より小型になり、単一のブレード・エンクロージャ内に多数のブレード・サーバを有する高密度の取り付けに適している。
【００３１】
図１のコンピュータ（１５２）は、少なくとも１つのコンピュータ・プロセッサ（１５６）又は「ＣＰＵ」、並びに高速メモリ・バス（１６６）及びバス・アダプタ（１５８）を通じて、プロセッサ（１５６）及びコンピュータ（１５２）の他のコンポーネントに接続されるランダム・アクセス・メモリ（１６８）（「ＲＡＭ」）を含む。アプリケーション（１２６）、すなわちユーザ・レベルのデータ処理のためのコンピュータ・プログラム命令の組が、ＲＡＭ（１６８）内に格納される。当業者であれば思い付くように、そうしたソフトウェア・アプリケーションの例には、サーバ・アプリケーション、ワード・プロセッサ、スプレッドシート・アプリケーション、メディア・プレイヤー等が含まれる。
【００３２】
オペレーティング・システム（１５４）も、ＲＡＭ（１６８）内に格納される。本発明の実施形態に従ってコンピュータの電力消費を管理するのに有用なオペレーティング・システムは、ＵＮＩＸ（商標）、Ｌｉｎｕｘ（商標）、Ｍｉｃｒｏｓｏｆｔ  ＸＰ（商標）、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｔａ（商標）、ＡＩＸ（商標）、ＩＢＭ社のｉ５／ＯＳ（商標）、及び当業者であれば思い付くような他のものを含む。図１の例におけるオペレーティング・システム（１５４）は、イン・バンド（in-band）電力マネージャ（１３０）を含む。イン・バンド電力マネージャ（１３０）は、イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサ（１５６）についての提案される性能状態（「ｐ−状態」）（２０４）をアウト・オブ・バンド電力マネージャ（１３２）に与えることによって、本発明の実施形態に従ってコンピュータ（１５２）の電力消費を管理するコンピュータ・プログラム命令の組である。
【００３３】
本明細書に用いられる「イン・バンド」という用語は、本発明の実施形態に従ってコンピュータの電力消費を管理する際に、動作パラメータが変化するコンピュータ・プロセッサ上で実行されるコンピュータの電力マネージャを指す。分かりやすくするために、このようなコンピュータ・プロセッサは、ユーザ・レベルのソフトウェア・アプリケーション、オペレーティング・システム等を実行する、「一次」プロセッサ、「メイン」プロセッサ、又は「イン・バンド」プロセッサと考えることができる。図１のコンピュータにおいて、イン・バンド電力マネージャは、本発明の実施形態に従ってコンピュータ（１５２）の電力消費を管理する際に、動作パラメータが変化するプロセッサである、プロセッサ（１５６）上で実行される。対照的に、アウト・オブ・バンド電力マネージャは、動作パラメータが変化するコンピュータ・プロセッサによって実行されるのではなく、代わりに、別のコンピュータ・プロセッサ上で実行される。分かりやすくするために、アウト・オブ・バンド電力マネージャを実行するこのようなコンピュータ・プロセッサは、類推によって、ユーザ・レベルのアプリケーションではなく、システム・レベルのファームウェアを実行する「二次」プロセッサ、「アウト・オブ・バンド」プロセッサ、又は「サービス」プロセッサと考えることができる。アウト・オブ・バンド電力マネージャ（１３２）は、図１の例において、コンピュータ（１５２）の電力消費を管理する際に動作パラメータが変化するプロセッサである、サービス・プロセッサ（１３８）上で実行される。
【００３４】
イン・バンド電力マネージャ（１３０）は、コンピュータ・プロセッサの性能評価指標（performance metrics）に基づいて、提案するｐ−状態を決定することができる。コンピュータ・プロセッサ（１５６）の性能評価指標（１２８）は、コンピュータ・プロセッサの実際の性能を記述する情報である。性能評価指標（１２８）の例は、コンピュータ・プロセッサの利用の尺度、ハードウェア性能カウンタの値、及び当業者であれば思い付くような他のものを含む。ハードウェア・カウンタとも呼ばれるハードウェア性能カウンタは、コンピュータ内のハードウェア関連の活動のカウントを格納するために、多くのマイクロプロセッサ内に実装される１組の専用レジスタである。ハードウェア性能カウンタ内に格納されるハードウェア関連の活動のカウントの例は、データ・キャッシュ・ミス、命令キャッシュ、ミス、メモリ・アクセスを待つストールしたサイクル、命令が出されていないサイクル、最大の命令が出されたサイクル、及び当業者であれば思い付くような他のものを含む。
【００３５】
性能状態（「ｐ−状態」）は、コンピュータ・プロセッサについてのコア電圧レベルと、コンピュータ・プロセッサのクロック速度を指定することによって、コンピュータ・プロセッサの動作状態を定める。コンピュータ・プロセッサのコア電圧とは、コンピュータ・プロセッサの電圧調整器の電圧レベルである。Ｐ−状態を多数の異なるレベルに編成することができ、そこでは、より低いレベルのｐ−状態は、一般に、プロセッサによるより高い性能、より高いコア電圧レベル、及びより高いクロック速度を表し、より高いレベルのｐ−状態は、一般に、プロセッサによるより低い性能、より低いコア電圧レベル、及びより低いクロック速度を表す。コンピュータ・プロセッサの電力は、プロセッサのクロック速度及びコア電圧と比例する。次いで、コンピュータ・プロセッサのコア電圧は、クロック速度の変動に影響を受ける。当業者であれば、コア電圧及びクロック速度は可変であり、どちらかの値を下げることによりコンピュータ・プロセッサの電力消費が低減されることを直ちに認識するであろう。コンピュータ・プロセッサの性能評価指標（１２８）で示されるように、コンピュータ・プロセッサが低負荷下にあるとき、イン・バンド電力マネージャ（１３０）は、コンピュータ・プロセッサの現在のｐ−状態をより高いｐ−状態に設定し、これにより、コンピュータ・プロセッサによる性能の低下が、あったとしても殆どない状態で、コンピュータ・プロセッサによる電力消費を低減させることができる。コンピュータ・プロセッサのｐ−状態を変える技術の例には、Ｉｎｔｅｌ社のＳｐｅｅｄＳｔｅｐ（商標）技術、ＡＭＤ社のＰｏｗｅｒＮｏｗ！（商標）及びＣｏｏｌ’ｎ’Ｑｕｉｅｔ（商標）技術、ＶＩＡ社のＬｏｎｇＨａｕｌ（商標）技術等が含まれる。当業者であれば、本発明の実施形態に従ってコンピュータの電力消費を管理するのに役立つように、これらの技術の各々を改善できることを認識するであろう。
【００３６】
説明を簡単にするために、図１の例において、イン・バンド電力マネージャ（１３０）は、オペレーティング・システム（１５４）のソフトウェア・コンポーネントとして示される。しかしながら、当業者であれば、イン・バンド電力マネージャ（１３０）は、代替的に、オペレーティング・システムのＡｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（「ＡＣＰＩ」）モジュールのコンポーネントとして、又はオペレーティング・システムとは分離したスタンドアロン型ソフトウェア・アプリケーションとして実装できることを認識するであろう。図１の例において、オペレーティング・システム（１５４）、イン・バンド電力マネージャ（１３０）及び他のソフトウェア・モジュールは、ＲＡＭ（１６８）の中に示されているが、こうしたソフトウェアの多くのコンポーネントは、典型的には、例えばディスク・ドライブ（１７０）上又はフラッシュ・メモリ（１３３）内といった不揮発性メモリ内にも格納される。
【００３７】
上述したように、図１のコンピュータ（１５２）は、アウト・オブ・バンド電力マネージャを実行するサービス・プロセッサ（１３８）を含む。図１のコンピュータ（１５２）において、サービス・プロセッサ（１３８）は、アウト・オブ・バンド・バス（１４０）を通してプロセッサ（１５６）に接続される。このようなアウト・オブ・バンド・バス（１４０）は、Ｌｏｗ  Ｐｉｎ  Ｃｏｕｎｔ（「ＬＰＣ」）バス、Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（「Ｉ２Ｃ」）バス、システム管理バス（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ、「ＳＭＢｕｓ」）、シリアル・ペリフェラル・インターフェース（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ、「ＳＰＩ」）バス、及び当業者であれば思い付くような他のものとして実装することができる。
【００３８】
サービス・プロセッサ（１３８）は、コンピュータのマザーボード上に埋め込むことができる専用マイクロコントローラである。コンピュータに内蔵された異なるタイプのセンサが、温度、冷却ファン速度、オペレーティング・システムの状態等といった評価指標についてサービス・プロセッサに報告する。サービス・プロセッサ（１３８）は、センサを監視し、監視された評価指標のいずれかが、コンピュータの潜在的な故障を示す所定の限界値を超えた場合には、ネットワークを介してシステム管理者に警告を送る。管理者はまた、サービス・プロセッサと遠隔通信して、ストールしたオペレーティング・システムを適切に実行させるための、コンピュータのリセット又は電力サイクリングといった是正措置をとることもできる。
【００３９】
サービス・プロセッサの一例は、多数のブレード・サーバに用いられるベースボード管理コントローラ（「ＢＭＣ」）である。ＢＭＣの基本機能は、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｆａｃｅ（「ＩＰＭＩ」）アーキテクチャにより定められる。ＢＭＣは、システム管理ソフトウェアとプラットフォーム・ハードウェアとの間のインターフェースを管理することができる。ＢＭＣへの物理インターフェースは、ＳＭＳＢｕｓバス、ＲＳ−２３２シリアル・コンソール、アドレス及びデータ・ライン、並びに、ＢＭＣがシステム内の他の管理コントローラからのＩＰＭＩ要求メッセージを受け入れるのを可能にするＩｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ（「ＩＰＭＢ」）を含むことができる。
【００４０】
図１の例において、サービス・プロセッサ（１３８）は、コンピュータ・プロセッサ（１５６）の電力設定値（１４４）及び現在測定されている動作評価指標（１３４）に基づいて、提案されたｐ−状態（２０４）を承認するかどうかを判断することによって、本発明の実施形態に従ってコンピュータの電力消費を管理するコンピュータ・プログラム命令の組であるアウト・オブ・バンド電力マネージャ（１３２）を格納することができる、ＲＡＭ又はフラッシュ・メモリのようなコンピュータ・メモリを含む。
【００４１】
コンピュータ・プロセッサ（１５６）の現在測定されている動作評価指標（１３４）とは、動作しているコンピュータ・プロセッサのパラメータの測定値である。現在測定されている動作評価指標（１３４）の例は、コンピュータ・プロセッサの電流の引き込み、電力使用効率、ケース温度、及び当業者であれば思い付くような他のものを含む。
【００４２】
設定値（set point）は、アウト・オブ・バンド電力マネージャがコンピュータ・プロセッサの制御を通して達成しようと試みる目標値である。電力設定値は、コンピュータ・プロセッサの特定の動作状態（１４５）についての１つ又は複数の好ましい動作点を定めるデータ構造である。アウト・オブ・バンド電力マネージャは、電力設定値を用いて、電力消費、ケース温度、及びプロセッサの動作中のコンピュータ・プロセッサの他の動作評価指標を制御する。
【００４３】
コンピュータ・プロセッサの動作状態（１４５）は、プロセッサのコア電圧及びクロック速度のような、コンピュータ・プロセッサの１つ又は複数の動作パラメータによって定めることができる。アウト・オブ・バンド電力マネージャは、コンピュータ・プロセッサの動作全体にわたって、コンピュータ・プロセッサの動作状態（１４５）を変えることによって、すなわち、コンピュータ・プロセッサの動作パラメータを変えることによって、電力設定値を達成しようと試みる。ここで用いられる電力設定値を「達成する」とは、電力設定値の好ましい動作評価指標と同じタイプの現在測定されている動作評価指標が、その好ましい動作評価指標とほぼ等しいことを意味する。例えば、コンピュータ・プロセッサの電力消費についての好ましい動作評価指標を１０ワットに定める電力設定値を考える。コンピュータ・プロセッサの電力消費についての現在測定されている動作評価指標が１０．０００１ワットであった場合、現在測定されている動作評価指標は、電力設定値において定められた好ましい動作評価指標とほぼ等しく、電力設定値についての好ましい動作評価指標が「達成される」。
【００４４】
アウト・オブ・バンド電力マネージャ（１３２）は、省電力、ケース温度、及びコンピュータ・プロセッサの性能の最適な組み合わせを達成するために、コンピュータ・プロセッサの動作中に動的に動作状態を変えることができる。アウト・オブ・バンド電力マネージャ（１３２）は、コンピュータ・プロセッサの動作パラメータのいずれかについての値を計算し、設定することによって、動作状態を変えることができる。
【００４５】
イン・バンド電力マネージャ及びアウト・オブ・バンド電力マネージャを有する従来技術のコンピュータにおいては、イン・バンド電力マネージャとアウト・オブ・バンド電力マネージャとの間の協働は存在しない。代わりに、ｐ−状態は、コンピュータ・プロセッサの電力設定値にも又は現在測定されている動作評価指標にも基づかず、性能評価指標のみに基づいて、イン・バンド電力マネージャにより完全に設定される。対照的に、本発明の実施形態に従って電力消費が管理されるコンピュータにおいては、ｐ−状態は、性能評価指標に基づいて、イン・バンド電力マネージャにより提案され、かつ、コンピュータ・プロセッサの電力設定値及び現在測定されている動作評価指標に基づいて、アウト・オブ・バンド電力マネージャにより承認される。つまり、本発明の実施形態に従って電力消費が管理されるコンピュータにおいて、ｐ−状態は、単に性能評価指標に基づくだけではなく、イン・バンド電力マネージャとアウト・オブ・バンド電力マネージャの間の協働を通じて、コンピュータ・プロセッサに対して設定される。
【００４６】
図１の例におけるアウト・オブ・バンド電力マネージャ（１３２）はまた、イン・バンド電力マネージャに、提案されたｐ−状態（２０４）の承認を通知することができる。コンピュータ・プロセッサの現在のｐ−状態は、コンピュータ・プロセッサの性能に影響を与える１つの要因になり得るので、イン・バンド電力マネージャにより、別の提案されたｐ−状態を判断する際に、現在のｐ−状態は有用なものとなり得る。
【００４７】
アウト・オブ・バンド電力マネージャ（１３２）が提案されたｐ−状態を承認した場合、図１のシステムは、承認されたｐ−状態（２２６）に従って、コンピュータ・プロセッサの動作パラメータを設定すること（２２４）ができる。承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することは、アウト・オブ・バンド電力マネージャ（１３２）又はイン・バンド電力マネージャ（１３０）によって実行することができる。イン・バンド電力マネージャ（１３０）は、提案されたｐ−状態（２０４）の承認が通知されると、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することができる。代替的に、アウト・オブ・バンド電力マネージャは、提案されたｐ−状態（２０４）が承認されると、承認されたｐ−状態自体に従ってコンピュータ・プロセッサの動作パラメータを設定することができる。承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定することは、コンピュータ・プロセッサについてのコア電圧レベル及びクロック速度を表す値を、コンピュータ・プロセッサのレジスタのような、こうした目的のために指定されたコンピュータ・メモリ内に格納することによって達成することができる。
【００４８】
図１のコンピュータ（１５２）はまた、拡張バス（１６０）及びバス・アダプタ（１５８）を通して、プロセッサ（１５６）及びコンピュータ（１５２）の他のコンポーネントに結合されたディスク・ドライブ・アダプタ（１７２）も含む。ディスク・ドライブ・アダプタ（１７２）は、不揮発性データ・ストレージを、ディスク・ドライブ（１７０）の形態でコンピュータ（１５２）に接続する。本発明の実施形態に従って電力消費が管理されるコンピュータに有用なディスク・ドライブ・アダプタには、Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（「ＩＤＥ」）アダプタ、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（「ＳＣＳＩ」）アダプタ、及び当業者であれば思い付くような他のものが含まれる。不揮発性コンピュータ・メモリはまた、当業者であれば思い付くように、光ディスク・ドライブ、電気的消去可能プログラマブル読み出し専用メモリ（いわゆる「ＥＥＰＲＯＭ」又は「フラッシュ」メモリ）（１３３）、ＲＡＭドライブ等として実装することもできる。
【００４９】
図１の例示的なコンピュータ（１５２）は、１つ又は複数の入力／出力（「Ｉ／Ｏ」）アダプタ（１７８）を含む。Ｉ／Ｏアダプタは、例えば、コンピュータのディスプレイ画面のようなディスプレイ装置への出力、並びに、キーボード及びマウスのようなユーザ入力装置（１８１）からのユーザ入力を制御するために、ソフトウェア・ドライバ及びコンピュータ・ハードウェアを介して、ユーザ指向の入力／出力を実施する。図１の例示的なコンピュータ（１５２）は、ディスプレイ画面又はコンピュータ・モニタのようなディスプレイ装置（１８０）への図形出力のために特別に設計されたＩ／Ｏアダプタの一例であるビデオ・アダプタ（２０９）を含む。ビデオ・アダプタ（２０９）は、高速ビデオ・バス（１６４）、バス・アダプタ（１５８）、及び同じく高速バスであるフロント・サイド・バス（１６２）を通じて、プロセッサ（１５６）に接続される。
【００５０】
図１の例示的なコンピュータ（１５２）は、データ通信ネットワーク（１００）及び他のコンピュータ（１３６）とのデータ通信のための通信アダプタ（１６７）を含む。こうしたデータ通信は、ＲＳ−２３２接続、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（「ＵＳＢ」）のような外部バス、ＩＰデータ通信ネットワークのようなデータ通信ネットワーク、及び当業者であれば思い付くような他の方法を介して、シリアル方式で実行することができる。通信アダプタは、１つのコンピュータが、直接又はデータ通信ネットワークを通してデータ通信を別のコンピュータに送る、ハードウェア・レベルのデータ通信を実施する。本発明の実施形態に従って電力消費が管理されるコンピュータに有用な通信アダプタの例には、有線ダイアルアップ通信用のモデム、有線データ通信のネットワーク通信用イーサネット（ＩＥＥＥ８０２．３）アダプタ、及び無線データ通信のネットワーク通信用の８０２．１１アダプタが含まれる。
【００５１】
図１に示される例示的なシステムを構成するコンピュータ、サーバ、ネットワーク、及び他の装置の構成は、説明のためのものであり、制限のためのものではない。本発明の種々の実施形態に従った有用なデータ処理システムは、当業者であれば思い付くような、図１には図示されない付加的なサーバ、ルータ、他の装置、及びピア・ツー・ピア・アーキテクチャを含むことができる。このようなデータ処理システムにおけるネットワークは、例えば、ＴＣＰ（転送制御プロトコル、Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＩＰ（インターネット・プロトコル、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＷＡＰ（ワイヤレス・アクセス・プロトコル、Ｗｉｒｅｌｅｓｓ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＨＤＴＰ（ハンドヘルド機器転送プロトコル、Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、及び当業者であれば思い付くような他のものを含む、多数のデータ通信プロトコルをサポートすることができる。本発明の種々の実施形態は、図１に示されるものに加えて、様々なハードウェア・プラットフォーム上で実施することができる。
【００５２】
更なる説明のために、図２は、本発明の実施形態に従ってコンピュータの電力消費を管理するための例示的な方法を示すフロー・チャートを示す。図２の方法において、電力消費が管理されるコンピュータ（図１の１５２）は、コンピュータ・プロセッサ（図１の１５６）を含む。
【００５３】
図２の方法は、イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）（２０４）をアウト・オブ・バンド電力マネージャ（１３２）提供すること（２０２）を含む。イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）（２０４）をアウト・オブ・バンド電力マネージャ（１３２）に提供すること（２０２）は、イーサネット、ＴＣＰ、ＩＰ、ポイント・ツー・ポイント・プロトコルのようなアウト・オブ・バンド・バス・プロトコルに従って、アウト・オブ・バンド・バス（図１の１４０）上のデータ・パケット内の提案されたｐ−状態の値を、イン・バンド電力マネージャからアウト・オブ・バンド電力マネージャに直接伝送することを含む、種々の方法で実行することができる。イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）（２０４）をアウト・オブ・バンド電力マネージャ（１３２）に提供すること（２０２）は、例えば、イン・バンド電力マネージャにより、アウト・オブ・バンド電力マネージャにおいて、新たに提案されたｐ−状態を示す割込みを生じさせるアウト・オブ・バンド・バス（図１の１４０）の信号ラインをアサートし、割込みに応答して、アウト・オブ・バンド電力マネージャにより、コンピュータ・プロセッサの特定のレジスタ又はＲＡＭ内の特定のメモリ・アドレスのような、コンピュータ・メモリ内の指定位置から、提案されたｐ−状態の値を読み取ることによって実行することもできる。当業者であれば、コンピュータ・プロセッサについての提案されたｐ−状態（２０４）を提供する（２０２）２つの例のみがここに説明されるが、本発明の実施形態に従ってコンピュータ・プロセッサについての提案されたｐ−状態（２０４）を提供すること（２０２）は、他の方法で実行することもでき、こうした方法の各々は十分に本発明の範囲内にあることを認識するであろう。
【００５４】
図２の方法はまた、アウト・オブ・バンド電力マネージャ（１３２）により、コンピュータ・プロセッサの電力設定値（１４４）及び現在測定されている動作評価指標（１３４）に基づいて、提案されたｐ−状態（２０４）を承認するかどうかを決定すること（２０６）も含む。アウト・オブ・バンド電力マネージャ（１３２）により、コンピュータ・プロセッサの計算された電力設定値（１４４）及び現在測定されている動作評価指標（１３４）に基づいて、提案されたｐ−状態（２０４）を承認するかどうかを決定すること（２０６）は、実施された場合、提案されたｐ−状態が、電力設定値と競合するかどうかを判断することによって実行することができる。一例として、コンピュータ・プロセッサの現在測定されているケース温度が摂氏６５度であり、電力設定値が４５度のケース温度を指定すると考える。コンピュータ・プロセッサの現在の性能評価指標が、コンピュータ・プロセッサが高負荷下にあることを示す場合、現在測定されているケース温度を知らないイン・バンド電力マネージャは、プロセッサのクロック速度を増大させるｐ−状態を提案し、そのことにより、ケース温度が上がることがある。つまり、提案されるｐ−状態は、実施された場合、ケース温度の上昇をもたらし、アウト・オブ・バンド電力マネージャは、電力設定値において定められた値までの低いケース温度を達成しようと試みる。こうした場合、アウト・オブ・バンド電力マネージャは、提案されたｐ−状態が電力設定値と競合すると判断することによって、提案されたｐ−状態を承認しないよう決定することができる。
【００５５】
アウト・オブ・バンド電力マネージャ（１３２）が提案されたｐ−状態（２０４）を承認しない場合、図２の方法は、次の提案されたｐ−状態を待つことにより続行する。待っている間、アウト・オブ・バンド電力マネージャ（１３２）は、電力設定値に従ってコンピュータ・プロセッサの動作パラメータ（２２０）を変えることによって、コンピュータの電力消費の管理を続けることができる。アウト・オブ・バンド電力マネージャ（１３２）が提案されたｐ−状態（２０４）を承認した場合、図２の方法は、イン・バンド電力マネージャ（１３０）に承認を通知すること（２１４）により続行する。イン・バンド電力マネージャ（１３０）に承認を通知すること（２１４）は、アウト・バンド電力マネージャにより、イン・バンド電力マネージャにおいて承認を表示する割込みを生じさせるアウト・オブ・バンド・バス（図１の１４０）の信号ラインをアサートし、アウト・オブ・バンド・バス・プロトコルに従って又は当業者であれば思い付くような他の方法で、アウト・オブ・バンド・バス上で承認の通知を送ることによって、実行することができる。
【００５６】
図２の方法はまた、承認されたｐ−状態（２２６）に従ってコンピュータ・プロセッサの動作パラメータを設定する（２２４）、２つの代替的な方法も含む。図２の方法においては、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定すること（２２４）は、イン・バンド電力マネージャにより、提案されたｐ−状態（２０４）の承認が通知されたとき（２１４）、動作パラメータを設定すること（２１８）によって実行することができる。つまり、イン・バンド電力マネージャ（１３０）は、以前の提案されたｐ−状態から承認されたｐ−状態（２２６）への変更を達成することができる。図２の方法においては、イン・バンド電力マネージャによる動作パラメータの設定（２１６）に代わるものとして、アウト・オブ・バンド電力マネージャ（１３２）は、ｐ−状態自体に従って、コンピュータ・プロセッサの動作パラメータを設定すること（２１８）ができる。つまり、イン・バンド電力マネージャは、提案することしかできず、決してｐ−状態の変更を達成することはない。
【００５７】
更なる説明のために、図３は、本発明の実施形態に従ってコンピュータの電力消費を管理するための、更に別の例示的な方法を示すフロー・チャートを示す。図３の方法においては、図２の方法と同様に、電力消費が管理されるコンピュータ（図１の１５２）は、プロセッサ（図１の１５６）を含む。
【００５８】
図３の方法は図２の方法と類似しており、図２の方法のように、イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサについての提案された性能状態（「ｐ−状態」）（２０４）をアウト・オブ・バンド電力マネージャ（１３２）に提供すること（２０２）と、コンピュータ・プロセッサの電力設定値（１４４）及び提案された現在の評価指標に基づいて、アウト・オブ・バンド電力マネージャ（１３２）により、提案されたｐ−状態（２０４）を承認するかどうかを決定すること（２０６）と、アウト・オブ・バンド電力マネージャ（１３２）が提案されたｐ−状態（２０４）を承認した場合、承認されたｐ−状態（２２６）に従ってコンピュータ・プロセッサの動作パラメータを設定すること（２２４）とを含む。
【００５９】
図３の方法は、この図３の方法において、承認されたｐ−状態（２２６）に従ってコンピュータ・プロセッサの動作パラメータを設定すること（２２４）が、アウト・オブ・バンド電力マネージャ（１３２）により、承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定すること（２１８）を含むという点でも、図２の方法と類似している。
【００６０】
しかしながら、図３の方法が、イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサの現在のｐ−状態を、アウト・オブ・バンド電力マネージャ（１３２）から定期的に要求すること（３０６）と、イン・バンド電力マネージャ（１３０）が現在のｐ−状態を要求したときにのみ、イン・バンド電力マネージャ（１３０）に承認されたｐ−状態（２２６）を通知すること（３０８）とを含むという点で、図３の方法は図２の方法と異なる。イン・バンド電力マネージャ（１３０）により、コンピュータ・プロセッサの現在のｐ−状態をアウト・オブ・バンド電力マネージャ（１３２）から定期的に要求すること（３０６）は、アウト・オブ・バンド・バス（図１の１４０）を介してアウト・オブ・バンド電力マネージャから、例えば５分といった所定の時間における現在のｐ−状態を要求することによって、又は、アウト・オブ・バンド・バス（図１の１４０）を介してアウト・オブ・バンド電力マネージャから、後の提案されるｐ−状態を求める前に現在のｐ−状態を要求することによって、或いは当業者であれば思い付くような他の方法で、実行することができる。
【００６１】
現在のｐ−状態を定期的に要求することは、アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認する方が承認しないよりも多い実施形態において、通信及び処理のオーバーヘッドを低減させるのにも有用であり得る。このような実施形態は、動作中、コンピュータ・プロセッサの動作評価指標が通常の範囲内のままであり、コンピュータ・プロセッサの負荷が変化するが、極端には変化しないときに生じ得る。例えば、１０個の提案されたｐ−状態中９個の割合で承認されるような実施形態を考える。イン・バンド電力マネージャに全ての承認を通知することは、イン・バンド電力マネージャに定期的にしか通知しないのと比較すると、イン・バンド電力マネージャとアウト・オブ・バンド電力マネージャとの間の通信が増大する。このような実施形態において、イン・バンド電力マネージャは、提案されたｐ−状態を提供した後、ｐ−状態がアウト・オブ・バンド電力マネージャによって承認され、実装されたとの仮定の下で動作することができる。
【００６２】
イン・バンド電力マネージャ（１３０）が現在のｐ−状態を要求したときにのみ、イン・バンド電力マネージャ（１３０）に承認されたｐ−状態（２２６）を通知すること（３０８）の代替案として、図３の方法はまた、アウト・オブ・バンド電力マネージャ（１３２）が提案されたｐ−状態（２０４）を承認しない場合にのみ、イン・バンド電力マネージャ（１３０）に通知すること（３１０）を含む。再び、例えば１０個の提案されたｐ−状態中９個の割合で承認されるような実施形態を考える。提案されたｐ−状態の不承認だけをイン・バンド電力マネージャに通知することは、イン・バンド電力マネージャとアウト・オブ・バンド電力マネージャの間の通信を、この例では９０パーセント低減させる。
【００６３】
イン・バンド電力マネージャ（１３０）が現在のｐ−状態を要求したときにのみ、承認されたｐ−状態（２２６）をイン・バンド電力マネージャ（１３０）に通知すること（３０８）の別の代替案として、図３の方法はまた、アウト・オブ・バンド電力マネージャ（１３２）が承認されたｐ−状態に従ってコンピュータ・プロセッサの動作パラメータを設定したときに（２１８）、承認されたｐ−状態（２２６）をイン・バンド電力マネージャ（１３０）に通知すること（３０２）を含む。アウト・オブ・バンド電力マネージャが提案されたｐ−状態を承認する方が承認しないよりも多い上述の実施形態とは異なり、アウト・オブ・バンド電力マネージャが、提案されるｐ−状態を承認したとしてもめったに承認することがない他の実施形態が存在する。これらの実施形態においては、ｐ−状態が承認されたときだけイン・バンド電力マネージャに通知することによって、イン・バンド電力とアウト・オブ・バンド電力マネージャとの間の通信並びに処理オーバーヘッドを低減させることができ、アウト・オブ・バンド電力マネージャは、承認されたｐ−状態に従って動作パラメータを設定する。
【００６４】
本発明の例示的な実施形態は、大部分が、コンピュータの電力消費を管理するための完全に機能的なコンピュータとの関連で説明されている。しかしながら、当業者であれば、本発明はまた、いずれかの適切なデータ処理システムと共に用いるための信号支持媒体上に配置されたコンピュータ・プログラム製品の形で具体化できることを認識するであろう。こうした信号支持媒体は、磁気媒体、光媒体、又は他の適切な媒体を含む、機械可読情報のための伝送媒体又は記録可能媒体とすることができる。記録可能媒体の例は、ハード・ドライブ内の磁気ディスク又はディスケット、光ドライブのためのコンパクト・ディスク、磁気テープ、及び当業者であれば思い付くような他のものを含む。伝送媒体の例は、音声通信のための電話網と、例えばイーサネット（商標）及びインターネット・プロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）並びにＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂと通信するネットワークのようなデジタル・データ通信ネットワークと、例えばＩＥＥＥ８０２．１１ファミリーの仕様に従って実装されたネットワークのような無線伝送媒体とを含む。当業者であれば、適切なプログラム手段を有する如何なるコンピュータも、プログラム製品の形で具体化される本発明の方法のステップを実行できることを直ちに認識するであろう。当業者であれば、本明細書に記載された例示的な実施形態の幾つかは、インストールされ、コンピュータ・ハードウェア上で実行されるソフトウェアに向けられているが、それにも関わらず、ファームウェア又はハードウェアとして実装された代替的な実施形態も十分に本発明の範囲内にあることを認識するであろう。
【図１】
2011526018.tif 000003
【図２】
2011526018.tif 000004
【図３】
2011526018.tif 000005
【国際調査報告】
2011526018.tif 000006
2011526018.tif 000007