(57)【特許請求の範囲】
【請求項１】
自機の各デバイスに電力を供給する電力供給手段と、
前記自機の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出手段と、
前記検出手段で検出された自機の全消費電力および各デバイスのデバイス情報を動的に重回帰分析して、各デバイスの消費電力を推定する消費電力推定手段と、
を備えたことを特徴とする電子機器。 
【請求項２】
前記全消費電力をＰ、前記各デバイスのアイドル時消費電力をＰo、デバイス情報をＩj、前記全消費電力Ｐおよび前記デバイス情報Ｉjを動的に重回帰分析して算出した、デバイス情報Ｉjに対する比例係数をｐjとした場合、前記全消費電力Ｐは、下式で近似されることを特徴とする請求項１に記載の電子機器。
【数１】
0004410278.tif 000012
【請求項３】
ユーザ操作に応答して、前記電力供給手段であるバッテリの希望動作時間を設定する希望動作時間設定手段と、
前記バッテリの残量を検出するバッテリ残量検出手段と、
前記希望動作時間設定手段で設定されたバッテリの希望動作時間と、前記バッテリ残量検出手段で検出されたバッテリ残量に基づいて、目標消費電力の範囲を算出し、前記検出手段で検出した全消費電力が前記目標消費電力の範囲外の場合には、前記全消費電力が、前記目標消費電力の範囲内となるように、前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各デバイスの動作状態を制御する消費電力制御手段と、
を備えたことを特徴とする請求項１または請求項２に記載の電子機器。 
【請求項４】
前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各電力モードでの全消費電力の予測値を算出し、当該全消費電力の予測値に基づいて各電力モードでのバッテリ使用可能時間を推定して表示画面に表示するバッテリ使用可能時間提示手段を備えたことを特徴とする請求項１〜請求項３のいずれか１つに記載の電子機器。 
【請求項５】
前記消費電力推定手段で推定したデバイスの消費電力に基づいて、当該デバイスへの電力の供給を停止させた場合のバッテリ延長時間を算出して、表示画面に表示する第１のバッテリ延長時間提示手段を備えたことを特徴とする請求項１〜請求項４のいずれか１つに記載の電子機器。 
【請求項６】
各プロセスについてデバイスの利用状況をモニタし、前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各プロセスを停止させた場合に延長できるバッテリ延長時間を算出して、表示画面に表示する第２のバッテリ延長時間提示手段を備えたことを特徴とする請求項１〜請求項５のいずれか１つに記載の電子機器。 
【請求項７】
自機の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出工程と、
前記検出工程で検出された自機の全消費電力および各デバイスのデバイス情報を動的に重回帰分析して、各デバイスの消費電力を推定する消費電力推定工程と、
を含むことを特徴とする電子機器の電力制御方法。 
【請求項８】
電子機器に搭載されるプログラムにおいて、
自機の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出工程と、
前記検出工程で検出された自機の全消費電力および各デバイスのデバイス情報を動的に重回帰分析して、各デバイスの消費電力を推定する消費電力推定工程と、
をコンピュータに実行させることを特徴とするコンピュータが実行するためのプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラムに関し、詳細には、バッテリ駆動型の電子機器において、消費電力を低減することが可能な電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラムに関する。
【背景技術】
【０００２】
近年、各種の電子機器の分野では装置の小型化に伴いバッテリ駆動型の装置が種々登場しており、バッテリ駆動時間に対するユーザの要求は年々大きくなっている。かかるバッテリ駆動型の電式機器では、種々の省電力機能を駆使して駆動時間の長時間化を図る方法が提案されている。
【０００３】
例えば、特許文献１では、非使用状態にある機能部への電源の停止を行う技術が提案されている。特許文献２では、ポータブル・コンピュータにおいて電力関係データをモニタして収集し、収集したデータに基づいて必要なアクションを行って、バッテリを再充電するまでの期間、ユーザの介入を最小にしてポータブル・コンピュータを使用できる時間量を最大にする技術が提案されている。特許文献３では、ユーザによる動作環境の設定を行うこと無く、バッテリ駆動時には省電力動作、ＡＣ電源駆動時には高性能動作させる技術が提案されている。特許文献４では、電池残量が少ないときに付加機能を停止して使用時間を延長する技術が提案されている。特許文献５では、現在の動作可能時間を表示し、使用者が動作時間の延長、短縮または消費電力の制御対象の変更を指示するとこれに応答して制御対象の消費電力を制御する技術が提案されている。
【０００４】
特許文献６では、所望する作業が現時点での電池残量で実行可能かどうかをユーザに通知し、実行不可能であれば、使用デバイスの設定を変更して、予想作業時間を確保する技術が提案されている。特許文献７では、希望使用時間が指定されたとき、動作可能時間がそれ以上である機能組み合わせが記憶されていると判定された場合に、該当する機能組み合わせとそれに対応付けられた動作可能時間とを表示する技術が提案されている。
【０００５】
特許文献８では、バッテリ残量と消費電力とに基づいて処理の実施可否を判断し、実施不可と判断した場合に、制限運用情報に登録されている機能のうち優先度が最も低い機能を代替対象機能として選択し、代替対象機能と同じ構成要素を利用し且つ消費電力が代替対象機能よりも低い機能を代替機能として選択し、制限運用情に登録されている代替対象機能を代替機能に変更すると共に、その優先度を高い値に変更する技術が提案されている。特許文献９では、使用アプリケーションごとにプロファイルを登録し、ユーザの使用状態に応じて必要な機器だけに電源供給を行う技術が提案されている。
【０００６】
【特許文献１】特開平５−３２４１３９号公報
【特許文献２】特開平６−８３４９１号公報
【特許文献３】特開平５−２３３５５１号公報
【特許文献４】特開２０００−２５３１４２号公報
【特許文献５】特開平１１−３１２０２９号公報
【特許文献６】特開２００２−６２９５５号公報
【特許文献７】特開平１０−２６８９８７号公報
【特許文献８】特開２００５−２９３５１９号公報
【特許文献９】特開２００６−４８６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、ポータブル・コンピュータ等の電子機器では、デバイスの増設や使用状況によって消費電力が大きく変動するため、高精度に省電力制御を行うためには、デバイス毎に消費電力を検出し、各デバイスに対して、省電力制御を行うことが望ましい。しかしながら、上記特許文献１〜９では、各デバイスの消費電力を推定する技術に関して、何ら記載されていない。
【０００８】
本発明は、上記に鑑みてなされたものであり、電子機器を構成する各デバイスの消費電力を高精度に推定することが可能な電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラムを提供することを目的とする。 
【課題を解決するための手段】
【０００９】
上記した課題を解決して、本発明の目的を達成するために、本発明は、バッテリ駆動型の電子機器において、各デバイスに電力を供給するバッテリと、機器の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出手段と、前記検出手段で検出された機器の全消費電力および各デバイスのデバイス情報に基づいて、各デバイスの消費電力を推定する消費電力推定手段と、を備えたことを特徴とする。
【００１０】
また、本発明の好ましい態様によれば、ユーザ操作に応答して、前記バッテリの希望動作時間を設定する希望動作時間設定手段と、前記バッテリの残量を検出するバッテリ残量検出手段と、前記希望動作時間設定手段で設定されたバッテリの希望動作時間と、前記バッテリ残量検出手段で検出されたバッテリ残量に基づいて、目標消費電力の範囲を算出し、前記検出手段で検出した全消費電力が前記目標消費電力の範囲外の場合には、前記全消費電力が、前記目標消費電力の範囲内となるように、前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各デバイスの動作状態を制御する消費電力制御手段を備えることが望ましい。
【００１１】
また、本発明の好ましい態様によれば、前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各電力モードでの全消費電力の予測値を算出し、当該全消費電力の予測値に基づいて各電力モードでのバッテリ使用可能時間を推定して表示画面に表示するバッテリ使用可能時間提示手段を備えることが望ましい。
【００１２】
また、本発明の好ましい態様によれば、前記消費電力推定手段で推定したデバイスの消費電力に基づいて、当該デバイスへの電力の供給を停止させた場合のバッテリ延長時間を算出して、表示画面に表示する第１のバッテリ延長時間提示手段を備えることが望ましい。
【００１３】
また、本発明の好ましい態様によれば、各プロセスについてデバイスの利用状況をモニタし、前記消費電力推定手段で推定した各デバイスの消費電力に基づいて、各プロセスを停止させたときに延長できるバッテリ延長時間を算出して、表示画面に表示する第２のバッテリ延長時間提示手段を備えることが望ましい。
【００１４】
上記した課題を解決して、本発明の目的を達成するために、本発明は、バッテリ駆動型の電子機器の電力制御方法において、機器の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出工程と、前記検出工程で検出された機器の全消費電力および各デバイスのデバイス情報に基づいて、各デバイスの消費電力を推定する消費電力推定工程と、を含むことを特徴とする。
【００１５】
上記した課題を解決して、本発明の目的を達成するために、本発明は、バッテリ駆動型の電子機器に搭載されるプログラムにおいて、機器の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出工程と、前記検出工程で検出された機器の全消費電力および各デバイスのデバイス情報に基づいて、各デバイスの消費電力を推定する消費電力推定工程と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、各デバイスに電力を供給するバッテリと、機器の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出する検出手段と、前記検出手段で検出された機器の全消費電力および各デバイスのデバイス情報に基づいて、各デバイスの消費電力を推定する消費電力推定手段と、を備えているので、バッテリ駆動型の電子機器において、電子機器を構成する各デバイスの消費電力を高精度に推定することが可能な電子機器を提供することが可能となるという効果を奏する。 
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラムの最良な実施の形態を詳細に説明する。以下の実施例では、本発明にかかる電子機器をノート型パソコンに適用した場合について説明する。なお、下記実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【００１８】
（実施の形態）
図１は、本発明の実施の形態にかかる電子機器の機能構成を示す図である。本実施の形態にかかる電子機器は、バッテリ駆動型の電子機器であり、図１に示すように、電力制御手段１、バッテリ２、消費電力計測手段３、ＣＰＵ４（デバイス１）、ディスプレイ５（デバイス２）、ハードディスク６（デバイス３）、ネットワークカード７（デバイス４）、外部ポート８、および外部装置９（デバイス５）等を備えている。
【００１９】
バッテリ２は、電子機器の各部に電力を供給する。消費電力計測手段３は、バッテリ２の電圧を検出し、検出したバッテリ電圧に基づいてバッテリ残量および機器の全消費電力Ｐを計測して、計測結果を電力制御手段１に出力する。ＣＰＵ４（デバイス１）は、各種演算処理を実行して、電子機器の各部を制御する。ディスプレイ５（デバイス２）は、ユーザ情報等を表示する。ＨＤＤ（ハードディスク）６（デバイス３）は、ＣＰＵ４が実行するための各種プログラムを格納する。ネットワークカード７（デバイス４）は、無線でデータ通信を実行する。外部ポート８は、外部機器９（デバイス５）を接続するためのインターフェースである。外部ポート８に接続される外部機器９には、バッテリ２から電力が供給される。
【００２０】
電力制御手段１は、プログラムモジュールまたはハードウェアモジュールで構成することができる。かかる電力制御手段１は、機器の全消費電力Ｐおよびデバイスの動作状態を示すデバイス情報を定期的に監視し、全消費電力Ｐおよび各デバイスのデバイス情報に基づいて、各デバイスの消費電力をリアルタイムに推定する消費電力推定手段として機能する。また、電力制御手段１は、ユーザ操作に応答して設定されたバッテリ２の希望動作時間と、バッテリ残量とに基づいて、目標消費電力の範囲を算出し、検出した全消費電力が目標消費電力の範囲外の場合には、全消費電力が、目標消費電力の範囲内となるように、推定した各デバイスの消費電力に基づいて、各デバイスの動作状態を制御する消費電力制御手段として機能する。
【００２１】
また、電力制御手段１は、推定した各デバイスの消費電力に基づいて、各電力モードでの全消費電力の予測値を算出し、当該全消費電力の予測値に基づいて各電力モードでのバッテリ使用可能時間を推定して、ユーザに提示するバッテリ使用可能時間提示手段として機能する。また、電力制御手段１は、推定したデバイスの消費電力に基づいて、デバイスやプロセスを停止させた場合のバッテリ延長時間を算出して、ユーザに提示するバッテリ延長時間提示手段として機能する。ここでは、「プロセス」とは、プログラムやサービスをいい、以下、同様である。
【００２２】
電力制御手段１によるデバイスの消費電力の推定方法について説明する。全消費電力Ｐは、下式（Ａ）に示すように、基礎消費電力Ｐoと各デバイスＤの消費電力ＰDの和として表すことができる。
【００２３】
【数１】
0004410278.tif 000002
【００２４】
各デバイスＤの消費電力ＰDは、モニタするデバイスの指標Ｉj（デバイスの動作状態を示すデバイス情報）を適切に選択することにより、下式（１）の一次式に近似することができる。
【００２５】
【数２】
0004410278.tif 000003
【００２６】
θDも一つの指標として、上式（１）の第２項を組み入れると、各デバイスＤの消費電力ＰDは下式（Ｂ）のように表すことができる。
【００２７】
【数３】
0004410278.tif 000004
【００２８】
したがって、全消費電力Ｐは、下式（２）のように近似することができる。
【００２９】
【数４】
0004410278.tif 000005
【００３０】
本実施の形態では、全消費電力Ｐと各デバイスに対する適切な指標Ｉj（デバイス情報）を定期的にモニタし、計測開始からの全データを最小二乗法で計算することにより、Ｐoおよび比例係数ｐjの最尤値を求める。具体的には、時刻ｔnでの全消費電力Ｐと指標Ｉjを用いて、マトリクスＳ、ベクトルＴを、それぞれ下式（３）、（４）のように表すと、比例係数ｐは、下式（５）となる。
【００３１】
【数５】
0004410278.tif 000006
【００３２】
アイドル時電力Ｐoは、上式（３）、（４）で、Ｉo（ｔn）＝１（ｆｏｒ  Ａｌｌ  ｎ）とすることによって得ることができる。上式（５）の最尤値を各デバイスについて、上式（１）に代入することで、デバイス毎の消費電力の推定値をリアルタイムに算出することができる。
【００３３】
また、上式（２）を利用して、現在とは異なる動作状況における消費電力も推定することができる。また、外部装置９が新たに接続され、消費電力が変化した場合にも、この外部装置９に関連する指標を新たにマトリクスＳ、ベクトルＴ、比例係数ｐｊに取り込むことで、以後の消費電力の推定が可能となる。
【００３４】
本発明を実装する場合には、利用する指標の個数をＮとして、約Ｎ2／２のオーダーの記憶容量とサンプリング毎に約Ｎ2／２回の積和演算が必要とされる。
【００３５】
また、電子機器が実行中のプロセスのそれぞれについて、各デバイスの使用状況、例えば、そのプロセスにおいて使用されるＣＰＵ４の命令数、入出力データ量などを記録する。これらの記録に上記で求めた比例係数ｐjを乗じることによって、プロセスが消費している消費電力を推定することができる。
【００３６】
（実施例１）
図２は、実施例１に係る電子機器の概略のハードウェア構成例を示す図である。実施例１では、本発明に係る電子機器をバッテリ駆動型のノート型パソコンに適用した場合について説明する。
【００３７】
実施例１に係る電子機器は、同図に示すように、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ（ハードディスク）１４、ディスプレイ１５、光学ドライブ装置１６、ネットワークカード１７、入力部１８、ＵＳＢポート１９、バッテリ２０、パワーコントローラ２１、ＤＣ−ＤＣコンバータ２２、およびＡＣアダプタ２３等を備えており、各部はバスを介して接続されている。
【００３８】
ＣＰＵ１２は、バスを介して接続されたＨＤＤ１４に格納されたマルチタスクＯＳ１４ａによりノート型パソコン全体の制御を行うとともに、ＨＤＤ１４に格納された各種のプログラムに基づいて処理を実行する機能を司る。ＲＯＭ１２は、ＢＩＯＳ１２ａやデータ等を格納している。ＲＡＭ１３は、ＣＰＵ１２による各種プログラムの実行時にワークエリアとして利用されるメモリ機能を有している。
【００３９】
ディスプレイ１５は、液晶ディスプレイ、バックライト、バックライトを駆動するインバータ、液晶ディスプレイを駆動するドライバ回路、ビデオコントローラ等を備えている。液晶ディスプレイは、ＣＰＵ１２の各種の処理に伴うメニュー、ステータス、表示遷移等を表示する機能を有している。ビデオコントローラは、ＣＰＵ１２の制御に従って、インバータを制御してバックライトの輝度の調整や、ビデオ信号をドライバ回路に送出して、液晶ディスプレイの表示を制御する。
【００４０】
ネットワークカード１７は、インターネット等のネットワークに接続してデータ通信を行ったり、赤外線で他の機器と通信する機能を司る。
【００４１】
入力部１８は、ユーザが入力操作を行うためのユーザインターフェースであり、文字、コマンド等を入力する各種キーより構成されるキーボードや画面上のカーソルを移動させたり、各種メニューを選択するスライスパッドを備えている。
【００４２】
ＨＤＤ（ハードディスク）１４は、ノート型パソコン全体の制御を行うためのマルチタスクＯＳ１４ａ、各種ドライバ１４ｂ、バッテリ駆動時にノート型パソコンの消費電力を制御するパワーマネージャ１４ｃ、各種アプリケーションプログラム１４ｄ等を記憶する機能を有している。
【００４３】
ＡＣアダプタ２３は、商用電源に接続して、ＡＣ電圧をＤＣ電圧に変換してＤＣ−ＤＣコンバータ２２に出力する。ＤＣ−ＤＣコンバータ２２は、ＡＣアダプタ２３から供給されるＤＣ電圧を所定の電圧に変換して各部に電力を供給し、また、バッテリ２０の充電を行う。バッテリ２０は、ＤＣ−ＤＣコンバータ２２により充電され、充電した電圧を各部に供給する。パワーコントローラ２１は、バッテリ２０およびＤＣ−ＤＣコンバータ２２の動作を制御する。パワーコントローラ２１は、パワーマネージャ１４ｃからバッテリ２０の残存バッテリ容量および全消費電力Ｐの計測要求を受け付けると、バッテリ２０の残存バッテリ容量および全消費電力を計測して、計測結果をパワーマネージャ１４ｃに出力する。バッテリ２０は、ＡＣアダプタ２３が商用電源に接続されていない場合に使用される。
【００４４】
ＣＰＵ１２が、ＨＤＤ１４に格納されるパワーマネージャ１４ｃを読み出して実行することにより実現される機能について図３〜図５を参照しながら説明する。ＣＰＵ１２が、パワーマネージャ１４ｃを実行することにより、検出手段、消費電力推定手段、希望動作時間設定手段、バッテリ残量検出手段、消費電力制御手段として機能する。以下の説明では、ＣＰＵ１２がパワーマネージャ１４ｃを実行することにより実現される機能について、パワーマネージャ１４ｃを動作主体として説明する。
【００４５】
図３は、パワーマネージャ１４ｃの動作を説明するためのフローチャートである。図４は、パワーマネージャ１４ｃがディスプレイ１５に表示するバッテリ希望動作時間設定画面の一例を示す図である。ディスプレイ１５の表示画面のディスクトップに表示される不図示のボタンまたはアイコンが選択されると、パワーマネージャ１４ｃは、ディスプレイ１５にバッテリ希望動作時間設定画面を表示する。バッテリ希望動作時間設定画面では、図４に示すように、現在の残存バッテリ容量、現在の消費電力、目標消費電力、残バッテリ時間、バッテリ希望使用時間入力欄３０が表示されている。ユーザは、入力部１８を操作して、希望動作時間入力欄３０でバッテリ希望使用時間を入力して、バッテリ希望使用時間を設定する。入力可能なバッテリ希望動作時間の上限は、アイドル状態での消費電力によって制限され、ユーザが不快感を抱かずに作業できる最低限の電力は確保されなければならない。なお、ユーザによる入力ではなく、ノート型パソコン内のスケジュール帳と連動して、ユーザのバッテリ希望使用時間を推定してもよい。
【００４６】
図３において、ノート型パソコンの電源状態の変化（電源の投入、レジューム、ＡＣアダプタの切り離し等）によってバッテリ駆動が開始されると、パワーマネージャ１４ｃが起動する。パワーマネージャ１４ｃは、起動と同時に、デバイスの動作状況を示すデバイス情報および全消費電力Ｐを一定の時間間隔（１〜数秒程度）で収集するためにタイマを起動するとともに（ステップＳ１）、バッテリ希望使用時間を取得する（ステップＳ２）。
【００４７】
パワーマネージャ１４ｃは、タイマイベントが発生すると、パワーコントローラ２１を介して、残存バッテリ容量と全消費電力Ｐを検出するとともに、デバイス情報（ＣＰＵ動作周波数、ＣＰＵ使用率、ＨＤＤ使用率、ＨＤＤ読み取りバイト数、ＨＤＤ書き込みバイト数等）を取得する（ステップＳ３）。
【００４８】
パワーマネージャ１４ｃは、検出した残存バッテリ容量とバッテリ希望使用時間とに基づいて、目標消費電力（予定消費電力）の上限と下限を決定する（ステップＳ４）。例えば、目標消費電力の上限＝（残存バッテリ容量−予備電力）／バッテリ希望使用時間、予定消費電力の下限＝予定消費電力の上限×９５％とすることができる。
【００４９】
次に、パワーマネージャ１４ｃは、デバイス情報の計測値から前述のマトリクスＳ、ベクトルＴの値を上式（３）、（４）に従って更新するとともに（ステップＳ５）、全消費電力Ｐが目標消費電力の範囲内（目標消費電力の下限≦全消費電力Ｐ≦目標消費電力の下限）にあるか否かを判断する（ステップＳ６）。全消費電力Ｐが目標消費電力の範囲内にある場合には（ステップＳ６の「Ｙｅｓ」）、ステップＳ３に戻り、次のタイマイベントまで動作を休止する。
【００５０】
パワーマネージャ１４ｃは、全消費電力Ｐが目標消費電力の範囲内にない場合には（ステップＳ６の「Ｎｏ」）、各デバイスの推定電力を求めるための比例係数（ｐ＝Ｓ-1Ｔ）を、上式（５）により算出し、それぞれのデバイス情報に対応して、ＣＰＵ使用率１％当たりの消費電力、ＨＤＤ使用率１％当たりの消費電力、ＨＤＤ読みとり１バイト当たりの消費電力といった、各デバイスに関連する詳細な消費電力を推定する（ステップＳ７）。
【００５１】
つづいて、パワーマネージャ１４ｃは、全消費電力Ｐ＞目標消費電力の上限であるか否かを判断し（ステップＳ８）、全消費電力Ｐ＞目標消費電力の上限である場合には（ステップＳ８の「Ｙｅｓ」）、消費電力減少制御を実行する（ステップＳ１０）。
【００５２】
消費電力減少制御では、例えば、以下の（１）〜（４）の処理を行って、消費電力を削減する。
（１）パフォーマンスの低下によって消費電力を制御できるデバイスの動作状態を変更する（例えば、ディスプレイ輝度、ＣＰＵ周波数の調整）。（２）利用されていないデバイスをパワーダウンする。
【００５３】
上記（１）、（２）では、各デバイスの消費電力の推定結果に基づいて、動作状態の変更による消費電力の削減量を事前に予測できるため、ユーザへの影響が小さいものから順に目標消費電力に到達するまで、デバイスを選択してその動作状態を変更する。
【００５４】
（３）上記（１）、（２）の全てを行っても目標消費電力を達成できない場合には、動作中のプロセスのＣＰＵ１１やＩ／Ｏの使用率を求め、プロセス毎の消費電力を推定する。メンテナンスタスクなどユーザの生産性に影響の少ないバックランドプロセスで消費電力の大きいものがある場合、これらのプロセスの実行を一時停止する。
【００５５】
（４）上記（３）で目標消費電力を達成できない場合、ＣＰＵ１１、ＨＤＤ１４、およびネットワークカード１７等の使用率を、目標消費電力の範囲内に収まるように制御する。各使用率を過去の履歴に従って配分し、目標消費電力から逆算して算出することができる。この場合、フォアグランドでユーザが使用しているプロセスへ資源を優先的に割り当てる。
【００５６】
パワーマネージャ１４ｃは、全消費電力Ｐ＞目標消費電力の上限でない場合には（ステップＳ８の「Ｎｏ」）、すなわち、全消費電力Ｐ＜目標消費電力の下限の場合には、消費電力増加制御を実行する（ステップＳ９）。消費電力増加制御では、上記（１）〜（４）の処理と逆の処理を行って、パフォーマンスを向上させる。バッテリ希望使用時間が経過した場合、または、ＡＣアダプタ２３が商用電源に接続されて、ＡＣ駆動に変更された場合に、パワーマネージャ１４ｃは動作を停止する。
【００５７】
図５は、本実施例の電子機器を６０００秒間バッテリ駆動で使用した際の消費電力の実測値と本発明の方法による推定値を示している。同図において、横軸は時間（ｓ）、縦軸は消費電力（Ｗ）を示している。同図は、消費電力を推定するために、ＣＰＵ動作周波数、ＣＰＵ使用率、ＨＤＤ使用率、ＨＤＤ読み取りバイト数、ＨＤＤ書き込みバイト数をデバイス情報として利用した場合を示しており、推定値は実測値と略一致している。
【００５８】
つぎに、デバイスの消費電力の推定方法の具体的な計算例について説明する。全消費電力Ｐを下式（１１）で近似し、全ての指標Ｉj（デバイス情報）と全消費電力Ｐを繰り返し計測するもとする。時刻ｔnで取得した全消費電力Ｐの計測値をＰnとすると、二乗誤差の総和は下式（１２）となる。
【００５９】
【数６】
0004410278.tif 000007
【００６０】
上式（１２）を最小にする組み合わせが比例係数ｐｊの最尤値と考えられ、下式（Ｃ）から下式（１３）を導出することができる。ここで、マトリクスＳ、ベクトルＴを下式（１４）、（１５）とすると、下式（１６）により、比例係数ｐの組を求めることができる。
【００６１】
【数７】
0004410278.tif 000008
【００６２】
説明を簡単にするために、ここでは、デバイスが、ＣＰＵ１１、ディスプレイ１５、ＨＤＤ（ハードディスク）１４の３つの部分から構成されるシステムを考える。ＣＰＵ１１は、低速、高速の２つの動作周波数ｆo、ｆ1を有し、各動作周波数に応じて異なる電力を消費し、各動作周波数ｆo、ｆ1について、アイドル時消費電力と使用率に比例した電力の和で近似できるものとする。
【００６３】
ディスプレイ１５は、バックライトを明暗２段階で調節でき、各モードではほぼ一定の電力Ｐ0Display、Ｐ1Displayを消費するものとする。ＨＤＤ１４は、アイドル時電力のほかに、時間使用率、書き込みデータ量、読み込みデータ量のそれぞれに比例する電力が消費されるものとする。このとき、全消費電力Ｐ、ＣＰＵ１１の消費電力ＰCPU、ディスプレイ１５の消費電力ＰDisplay、ＨＤＤ１４の消費電力ＰHDDは下式（１７）のように表すことができる。
【００６４】
【数８】
0004410278.tif 000009
【００６５】
上式（１７）を、上式（１１）の形式に揃えると、下式（１８）のように表すことができる。
【００６６】
【数９】
0004410278.tif 000010
【００６７】
ＣＰＵ１１の周波数および使用率、ディスプレイ１５の輝度、ＨＤＤ１４の使用率・書き込みデータ量・読み込みデータ量、および全消費電力Ｐ（Ｐｏｗｅｒ）を定期的に計測し、下表１のような計測結果が得られたものとする。
【００６８】
【表１】
0004410278.tif 000011
【００６９】
上記表１の計測結果を上式（１４）〜（１６）に代入して解を求めると、以下のようになる。
Ｐ0CPU＝８．１５Ｗ、ｐ0CPU＝２４．７ｍＷ／％
Ｐ1CPU＝９．９５Ｗ、ｐ1CPU＝６９．８ｍＷ／％
Ｐ0Display＝８．２２Ｗ、Ｐ1Display＝１０．２４Ｗ
Ｐ0HDD＝−１４．０６Ｗ、ｕ＝９．８７ｍＷ／％、ｒ＝１５２ｍＷ／ＭＢ
ｗ＝２４７ｍＷ／ＭＢ
【００７０】
これらの係数を使用した予測値と実測値の相関は９９．９７％ときわめて高く、全体としてのモデルの正当性が確認される。一方、Ｐ0HDDが負の値となっていることからわかるように、非変動成分Ｐ0CPU、Ｐ1CPU、Ｐ0Display、Ｐ1Display、Ｐ0HDDは、全く信頼性のない結果となっている。実際、Ｐ０ＨＤＤの標準誤差は結果よりもはるかに大きく、その他については、標準誤差の計算が不能である。これは非変動成分が分離できていないことを示している。同一の非変動成分ごとにデータを分類し、別々に推定値を求めれば、このような不確定性を排除することができる。上記の場合では、（１）ＣＰＵ低速・バックライト暗、（２）ＣＰＵ高速・バックライト暗、（３）ＣＰＵ低速・バックライト明、（４）ＣＰＵ高速・バックライト明の４つの状態にデータを区分する。計算結果は次のとおりである。
【００７１】
（１）ＣＰＵ低速・バックライト暗
Ｐ0CPU＋Ｐ0Display＋Ｐ0HDD＝２．２１Ｗ、ｐ0CPU＝２１．７ｍＷ／％
ｕ＝１３．４ｍＷ／％、ｒ＝１４６ｍＷ／ＭＢ、ｗ＝２８４ｍＷ／ＭＢ
（２）ＣＰＵ高速・バックライト暗
データ不足
（３）ＣＰＵ低速・バックライト明
Ｐ0CPU＋Ｐ1Display＋Ｐ0HDD＝４．４５Ｗ、ｐ0CPU＝２５．７ｍＷ／％
ｕ＝９．２４ｍＷ／％、ｒ＝１２５ｍＷ／ＭＢ、ｗ＝２２２ｍＷ／ＭＢ
（４）ＣＰＵ高速・バックライト明
Ｐ1CPU＋Ｐ1Display＋Ｐ0HDD＝６．２１Ｗ、ｐ1CPU＝６８．５ｍＷ／％
ｕ＝９．０２ｍＷ／％、ｒ＝１５４ｍＷ／ＭＢ、ｗ＝２７１ｍＷ／ＭＢ
【００７２】
このように、予めシステムの状態ごとに分類して計算することによって、計算量も大幅に削減できる。最初の計算では、１０個の未知数を求めるために、１０×１０の対称行列の要素を求める必要があり、データ取得ごとに５５回の積和演算が必要とされた。分類後の計算では、非変動成分を合算することによって、未知数が５個になるため、演算回数は１５回で十分である。非変動成分の分離はできなくなるが、それぞれの状態でのアイドル電力が求まるため、実用上の問題は生じない。
【００７３】
一方、分類後のデータ数は減少するため、誤差が増加する。実際に、上記の例では、上記（１）、（３）、（４）の各状態のｕ、ｒ、ｗの値にはばらつきがあり、また、上記（２）の状態は、５個の未知数に対して４個のデータしか与えられていないため、推定値さえ求まっていない。しかしながら、実際の運用では、はるかに多くの実測をリアルタイムで行うために、誤差は十分に小さく収束する。
【００７４】
以上説明したように、実施例１によれば、パワーマネージャ１４ｃは、機器の全消費電力および各デバイスの動作状態を示すデバイス情報を、定期的に検出し、検出した機器の全消費電力および各デバイスのデバイス情報に基づいて、各デバイスの消費電力をリアルタイムに推定することとしたので、バッテリ駆動型の電子機器において、電子機器を構成する各デバイスの消費電力を高精度に推定することが可能となる。付言すると、デバイスの増設や使用状況によって消費電力が大きく変動した場合であっても、デバイスごとの消費電力と使用状態の変化による電力変動を正確に推測して、定量的な電力制御を行うことが可能となる。
【００７５】
また、実施例１によれば、全消費電力をＰ、各デバイスのアイドル時消費電力をＰo、デバイス情報をＩj、デバイス情報Ｉjに対する比例係数をｐjとした場合、全消費電力Ｐは、上式（２）で近似することとしたので、簡単な演算処理で各デバイスの消費電力を推定することが可能となる。
【００７６】
また、実施例１によれば、パワーマネージャ１４ｃは、ユーザが設定したバッテリ２０の希望動作時間とバッテリ残量に基づいて、目標消費電力の範囲を算出し、全消費電力Ｐが目標消費電力の範囲外の場合には、全消費電力Ｐが、目標消費電力の範囲内となるように、推定した各デバイスの消費電力に基づいて、各デバイスの動作状態を制御することとしたので、デバイスの増設や使用状況によって消費電力が大きく変動した場合であっても、定量的に動的な電力制御を行うことが可能となる。付言すると、実施例１では、リアルタイムにデバイスの消費電力を推定しているので、パフォーマンスや実行する作業量を動的に変化させることによって、ユーザの必要とするバッテリ駆動時間に応じた最良のパフォーマンスを提供することができる。また、急な電力制御で不足した電力を、実行中のプロセスの一時的な中断や遅延、電力消費の大きなデバイスに対するアクセス制限などで補うことができる一方、目標消費電力を実際の消費電力が下回る場合は、余剰電力をシステムの機能向上に利用することが可能となる。
【００７７】
（実施例２）
実施例１では、パワーマネージャ１４ｃは、計測した全消費電力Ｐが目標消費電力の範囲内にない場合には、全消費電力Ｐが目標消費電力の範囲内になるように消費電力を自動的に制御することにした。これに対して、実施例２では、パワーマネージャ１４ｃは、電力モード毎のバッテリ使用可能時間や、デバイスやプロセス毎の消費電力をユーザに提示して、バッテリ使用時の消費電力に関するユーザ設定を容易にするものである。
【００７８】
実施例２では、ＣＰＵ１２が、パワーマネージャ１４ｃを実行することにより、バッテリ使用可能時間提示手段、第１のバッテリ延長時間提示手段、第２のバッテリ延長時間提示手段として機能する。実施例２において、パワーマネージャ１４ｃは、バッテリ駆動が開始されると、実施例１と同様に、タイマを起動し、デバイス情報と全消費電力Ｐを一定の時間間隔で収集し、デバイス情報と全消費電力Ｐの計測値を、上記式（２）、（３）に代入して、マトリクスＳおよびベクトルＴをリアルタイムで計算し、比例係数（ｐ＝Ｓ−１Ｔ）、各デバイスの消費電力を推定する。
【００７９】
図６は、電力モード（プロファイル）選択画面およびデバイス・プロセス消費電力画面の一例を示す図である。ディスプレイ１５の表示画面のディスクトップには、電力状態を変更するための不図示のボタンまたはアイコン（Ｒ）が表示されているものとする。ユーザがバッテリ駆動時間を延長したい場合やパソコンのパフォーマンスに不満がある場合には、このボタンまたはアイコン（Ｒ）を、入力部１８を操作して選択すると、パワーマネージャ１４ｃは、電力モード選択画面Ｐ１を表示する。電力モード選択画面Ｐ１には、各電力モード（第１モード〜第６モード）におけるバッテリ使用可能時間（予測値）の一覧４１と、デバイス・プロセス電力消費画面を表示するための詳細情報ボタン４２が表示されている。例えば、第６モード（Ｍａｘｉｍｕｍ  Ｂａｔｔｅｒｙ  Ｌｉｆｅ）を選択した場合のバッテリ使用可能時間（予測値）は、３．３５ｈとなる。
【００８０】
ユーザは、この一覧４１で電力モードを選択することができる。パワーマネージャ１４ｃは、各電力モードで規定されるデバイス設定に現在の使用状況（デバイス情報、各デバイスの消費電力の推定値）を適用して、各電力モードでの全消費電力の予測値を求めて、バッテリ使用可能時間を推定し、各電力モード（第１モード〜第６モード）のバッテリ使用可能時間（予測値）を一覧４１に表示する。これにより、ユーザは、バッテリ使用可能時間を考慮して電力モードを選択することが可能となる。
【００８１】
詳細情報ボタン４２を選択すると、デバイス・プロセス消費電力画面が表示される。デバイス・プロセス消費電力画面では、選択ボタンでデバイスとプロセスの表示切り替えが可能となっており、デバイスが選択された場合には、デバイス・プロセス消費電力画面Ｐ２が表示され、プロセスが選択された場合には、デバイス・プロセス消費電力画面Ｐ３が表示される。
【００８２】
デバイス・プロセス消費電力画面Ｐ２では、着脱可能なデバイス（＝電力の供給を停止可能なデバイス）の推定消費電力および脱着した場合のバッテリ持続時間が表示されている。パワーマネージャ１４ｃは、着脱可能なデバイスの現在の使用状況（デバイス情報、消費電力の推定値）に基づいて、その取り外しによるバッテリ持続時間を算出する。例えば、同図に示す例では、ネットワークカード１７を脱着した場合には、消費電力３．２Ｗの節約になり、バッテリ持続時間を４５ｍｉｎ延長することが可能となる。また、デバイス・プロセス消費電力画面Ｐ２では、パワーマネージャ１４ｃは、ディスプレイ１５のバックライトの輝度やＣＰＵ１１のパフォーマンスなどの設定の変更による消費電力とバッテリ持続時間の変化を表示する。ユーザは、ボリュームを操作することで、ディスプレイ１５のバックライトの輝度やＣＰＵ１１のパフォーマンスを設定することができる。
【００８３】
デバイス・プロセス消費電力画面Ｐ３では、プロセスの実行による消費電力およびそのプロセスの停止に伴うバッテリ持続時間が表示されている。パワーマネージャ１４ｃは、各プロセスについてデバイスの利用状況をモニタし、その推定消費電力およびプロセスを停止させたときに延長できるバッテリ持続時間を算出して表示する。例えば、アプリＢを停止させた場合には、消費電力３．２Ｗの節約になり、バッテリ持続時間を４５ｍｉｎ延長することが可能となる。
【００８４】
このように、ユーザに、デバイス・プロセス消費電力画面Ｐ２、Ｐ３を提示することにより、ユーザは、必要なバッテリ持続時間に応じたパフォーマンスを設定することができる。例えば、バッテリ持続時間を延長したい場合には、不要なデバイスを取り外し、ＣＰＵ１１のパフォーマンスやバックライト１５の輝度を低下させ、また、不要なプロセスを停止させることにより、消費電力を低減することが可能となる。
【００８５】
以上説明したように、実施例２によれば、パワーマネージャ１４ｃは、推定した各デバイスの消費電力に基づいて、各電力モードでの全消費電力の予測値を算出し、当該全消費電力の予測値に基づいて各電力モードでのバッテリ使用可能時間を推定して表示画面に表示することとしたので、ユーザが電力モードを選択する場合の基準が明確となる。
【００８６】
また、実施例２によれば、パワーマネージャ１４ｃは、推定したデバイスの消費電力に基づいて、当該デバイスへの電力の供給を停止させた場合のバッテリ延長時間を算出して、表示画面に表示することとしたので、ユーザは、消費電力の大きいデバイスの取り外し等を行って、不要な電力を削減することが可能となる。
【００８７】
また、実施例２によれば、パワーマネージャ１４ｃは、各プロセスについてデバイスの利用状況をモニタし、推定した各デバイスの消費電力に基づいて、各プロセスを停止させたときに延長できるバッテリ延長時間を算出して表示画面に表示することとしたので、ユーザは、電力消費の大きいプロセスを停止させて、不要な電力消費を削減することが可能となる。
【００８８】
なお、上記実施例では、本発明に係る電子機器の一例として、ノート型パソコンについて説明したが、本発明は、これに限られるものではなく、全ての電子機器に適用可能であり、例えば、ＰＤＡ、携帯端末、デジタルカメラ等の電子機器に適用可能である。 
【産業上の利用可能性】
【００８９】
本発明に係る電子機器、電子機器の電源制御方法、およびコンピュータが実行するためのプログラムは、電子機器において、省電力化を図る場合に有用である。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態にかかる電子機器の機能構成を示す図である。
【図２】実施例１に係る電子機器の概略のハードウェア構成例を示す図である。
【図３】パワーマネージャの動作を説明するためのフローチャートである。
【図４】バッテリ希望動作時間設定画面の一例を示す図である。
【図５】電子機器をバッテリ駆動で使用した際の消費電力の実測値と推定値を示す図である。
【図６】電力モード（プロファイル）選択画面およびデバイス・プロセス消費電力画面の一例を示す図である。
【符号の説明】
【００９１】
１  電力制御手段
２  バッテリ
３  消費電力計測手段
４  ＣＰＵ（デバイス１）
５  ディスプレイ（デバイス２）
６  ハードディスク（デバイス３）
７  ネットワークカード（デバイス４）
８  外部ポート
９  外部装置（デバイス５）
１０  ノート型パソコン
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＨＤＤ（ハードディスク）
１５  ディスプレイ
１６  光学ドライブ装置
１７  ネットワークカード
１８  入力部
１９  ＵＳＢポート
２０  バッテリ
２１  パワーコントローラ
２２  ＤＣ−ＤＣコンバータ
２３  ＡＣアダプタ
【図１】
0004410278.tif 000013
【図２】
0004410278.tif 000014
【図３】
0004410278.tif 000015
【図４】
0004410278.tif 000016
【図５】
0004410278.tif 000017
【図６】
0004410278.tif 000018