JP2002517032A - 電力管理非活動監視のソフトウェア・エミュレーション - Google Patents

電力管理非活動監視のソフトウェア・エミュレーション

Info

Publication number
JP2002517032A
JP2002517032A JP2000551308A JP2000551308A JP2002517032A JP 2002517032 A JP2002517032 A JP 2002517032A JP 2000551308 A JP2000551308 A JP 2000551308A JP 2000551308 A JP2000551308 A JP 2000551308A JP 2002517032 A JP2002517032 A JP 2002517032A
Authority
JP
Japan
Prior art keywords
power
device driver
computer readable
code means
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000551308A
Other languages
English (en)
Inventor
アンダーソン,エリック・クリストファー
ファーハイ,ヘンリ・ヘイイム
Original Assignee
フィーニックス テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フィーニックス テクノロジーズ リミテッド filed Critical フィーニックス テクノロジーズ リミテッド
Publication of JP2002517032A publication Critical patent/JP2002517032A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 複数の入出力デバイスを有する電子システムで電力を管理する方法。各入出力デバイスは全電力オン状態および少なくとも1つの電力低減状態を有し、それぞれは関連付けられたデバイス・ドライバによって制御される。本方法は、デバイス・ドライバとは別個の電力管理ロジックを初期化して、電力管理を受ける各デバイス・ドライバに対する少なくとも1つのタイムアウト値を受け取るステップと、電力管理ロジック中で、デバイス・ドライバの外部に配置され、電力管理を受ける異なる各デバイス・ドライバに異なるタイマを割り当てるステップと、割り当てられた複数のタイマのそれぞれを、そのタイマに割り当てられたデバイス・ドライバの少なくとも1つのタイムアウト値に従って個別の所定値のセットに初期化するステップと、各タイマ中に保持される個別の所定値を所定の間隔で変更するステップと、複数のタイマを監視して、タイマのうちの1つにおける所定値が、割り当てられたデバイス・ドライバに対するタイムアウト値が経過したことを示すときを判定し、割り当てられたデバイス・ドライバに電力低減命令を送るステップと、タイマのうち所与の1つに関連付けられたデバイス・ドライバが、それに関連付けられたデバイス・ドライバの使用イベントを示すときはいつでも、そのタイマをその個別の所定値にリセットし、関連付けられたデバイスが全電力オンでない場合は、それに、より高い電力レベルへ電力供給するステップを含む。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は一般に電力管理の分野に関し、より詳細には、電子システムに接続さ
れたデバイスの電力管理の分野に関する。
【0002】 (発明の背景) 電池またはその他の限られた電源を電力源とするマイクロプロセッサ・ベース
のシステムにおける電力の節約は、継続的、反復的、かつ進歩的な科学となって
きた。システム機能が向上するにつれて、ユーザはこれらのシステムを彼らの生
活に統合してきたが、その結果、電力要件が増大している。この電力要件の増大
に対する機能の増大のバランスを取るには、ユーザが要求する能力を供給するこ
ととそれを供給するのに使用される電力を最小限に留めることの両方のために、
革新的なハードウェア設計とソフトウェア方法の結合が必要である。システムが
、ラガブル(luggable)PCからノートブックおよび様々なハンドヘル
ド情報機器まで年々変化しているものの、増大するユーザの期待およびシステム
電力要件の対抗力は変化していない。
【0003】 スクリーン・フォンおよびデータ・イネーブルド・フォン(data ena
bled phone)に対する組込み型コントローラから「PDA」の最新の
具体形であるハンドヘルドPCに及ぶ様々なシステムは電力効率要求が大きい。
最後の範疇のデバイス中では特に要求が大きい。
【0004】 システム能力に対するユーザ要求は、過去に電力消費を駆り立ててきたが、将
来もこれらのシステム上の電力消費を駆り立てるであろう。より高度なコントラ
スト(あるいはバックリットまたはカラー)ディスプレイ、高速赤外線送受信機
、オンボード・アプリケーションによるより進歩したオーディオ機能、より大き
いキャッシュ・メモリのサブシステム、I/Oコプロセッサ、およびより高速な
プロセッサが、システムにおける電力消費を増加させるコンポーネントの例であ
る。さらに、より高速なネットへの接続は、電池のエネルギーをすぐに浪費する
【0005】 従来技術では、電子システム、例えばコンピュータに接続されたデバイスの電
力管理は、通常、プロセッサおよびオペレーティング・システムから独立した方
式で、かつ、一般にシステム中の専用シリコンを使用して達成されてきた。この
ような従来技術の電力管理システムは、高価なハードウェア・タイマ、およびX
86プロセッサ・アーキテクチャ独自のSMI(system mangeme
nt interrupt)モードと呼ばれる機構を使用する。ハードウェア・
タイマの組合わせが使用され、電力管理される各デバイス上にタイマが1つ配置
される。各タイマは、何らかの電力管理イベントがそのデバイスに対して発生し
たときに、SMIかIRQのいずれかを生成して、そのデバイス・コードまたは
ファームウェア・コードに関連付けられたデバイス・ドライバに通知するよう設
定される。
【0006】 WindowsCETMオペレーティング・システム中には、電力管理フレーム
ワークが設計されている。WindowsCEオペレーティング・システムは、
電力管理イベントを引き起こすためにコールするアプリケーションおよびドライ
バ用の様々なAPIを定義する。WindowsCEは様々なCPUアーキテク
チャ上で稼動されるように設計されているため、SMI(system man
agement interrupt)やAdvanced Power Ma
nagement準拠の電力管理イベント通信方法など、従来のX86電力管理
トリガに依存しない。
【0007】 このプラットフォーム横断アーキテクチャにより、WindowsCEは、簡
略化されたシステム電力状態定義に電力管理の焦点を絞っており、個別のデバイ
ス・ドライバおよびアプリケーション開閉アクションに依拠してシステム・デバ
イスへの電力を制御する。例えば、オーディオI/Oデバイスがコールされたと
きは、アプリケーションの開閉アクションがオーディオ・デバイスをオン・オフ
することができる。ただし、複数のアプリケーションを稼動する場合は、デバイ
スが使用中でないのに開またはオンのままになるというシナリオがある。この状
況では、システムの電力効率は落ちる。
【0008】 WindowsCEで電力を制御するためのユーザ対話は、コントロール・パ
ネル(またはステータス・バー・アイコン)アプレットを介してなされ、これに
よりユーザは、システムのサスペンド/オフのタイムアウト全体を設定し、基本
的な電池状況を見ることができる。
【0009】 しかし、WindowsCEシステムの開発者にとっての問題は、Windo
wsCEによって定義されるAPI以下のすべてのコードを、OEMまたは第三
者によってデバイス、CPU、およびOEMプラットフォームごとに開発しなけ
ればならないことである。
【0010】 したがって、従来技術の電力管理システムは、プロセッサ特有かオペレーティ
ング・システム特有のいずれかである。このようなシステムの展開は、コストが
かかり複雑で、チップセット・ベンダに過度の負担を課す。
【0011】 (発明の概要) 簡潔に言えば、本発明は一態様では、プロセッサと、プロセッサを制御し複数
の入出力デバイスを制御できるオペレーティング・システム・ソフトウェアとを
含む電子システムにおいて電力を管理する方法を含む。各入出力デバイスは全電
力オン状態および少なくとも1つの電力低減状態を有し、それぞれは関連付けら
れたデバイス・ドライバによって制御される。本方法は、電力管理アプリケーシ
ョン(PMA)ソフトウェア、通信ソフトウェア、およびテンプレート・ソフト
ウェアを電子システムにロードするステップを含む。テンプレート・ソフトウェ
アは、デバイスに対して、名前用のデータ構造、全電力オン状態に対するタイム
アウト値、および電力アップまたは電力低下用のAPIを含み、通信ソフトウェ
アは、電力管理を受けるデバイスのデバイス・ドライバにロードされ、デバイス
とPMAソフトウェアの間の通信を容易にするように機能し、テンプレート・ソ
フトウェアは、デバイスのAPIを通信ソフトウェアのAPIに変換するように
機能し、さらに、電力管理を受ける各デバイス・ドライバ中にある通信ソフトウ
ェア中のコードを初期化して、PMAソフトウェアとの非同期通信をサポートす
るためにそのデバイス・ドライバ用に特定IDを有するスレッドを生成するステ
ップと、少なくとも電力管理を受ける各デバイス・ドライバに対する全電力オン
のタイムアウト値でPMAソフトウェアを初期化するステップと、PMAソフト
ウェア中で、電力管理を受ける複数のデバイス・ドライバのそれぞれに異なるタ
イマを関連付けるステップであって、タイマはデバイス・ドライバの外部にあり
、各タイマをそれに関連付けられたデバイス・ドライバに対するタイムアウト値
に従って初期化するステップと、各タイマを監視し、所与のデバイス・ドライバ
の1つに関連付けられた所与のタイマの1つがそのタイムアウト値に達したこと
を示す値を有する場合に、その所与のデバイス・ドライバに対するスレッドを呼
び起こすステップとを含み、呼び起こされたスレッドを有する所与のデバイス・
ドライバは、命令のためにPMAソフトウェアをコールするように動作し、PM
Aソフトウェアは、コールを受け取ると、その所与のデバイス・ドライバに少な
くとも1つの電力レベルを下げるように命令し、さらに、タイマのうち特定の1
つを、そのタイマに関連付けられたデバイス・ドライバがそれに関連付けられた
デバイスに対する使用イベントを示すときにリセットし、それが全電力オン状態
にない場合は、関連付けられたデバイスに、より高い電力へ電力供給するステッ
プを含む。
【0012】 本発明の他の態様では、少なくとも1つの入出力デバイスは少なくとも2つの
異なる電力低減状態を有し、ローディング・ステップにおけるテンプレート・ソ
フトウェアは電力低減状態のうちの1つに対する低減状態タイムアウト値を含み
、PMAソフトウェア初期化ステップは電力低減状態のうちの1つに対するタイ
ムアウト値をPMAソフトウェアに提供するステップを含む。その上さらに、本
態様は、デバイス・ドライバの与える1つに対する通信ソフトウェアが、PMA
ソフトウェア命令ステップに応答して、異なる電力レベルへの変化をPMAソフ
トウェアに通知するステップと、所与のデバイス・ドライバに関連付けられたタ
イマを電力低減状態のうちの1つに対するタイムアウト値に従ってセットするス
テップと、電力低減状態のうちの1つに対するタイムアウト値に従ってセットさ
れたタイマが、低減状態タイムアウト値が経過したことを示す値に達したときを
監視し、次いで、その関連付けられたデバイス・ドライバに対するスレッドを呼
び起こすステップとを含む。
【0013】 本発明の他の態様では、この方法は、電子システムが電池以外の電源から電力
を得ているときを検出するステップと、この検出時に、PMAソフトウェアがタ
イムアウトに基づくどんな電力低下機能も実施することなく、デバイス・ドライ
バを操作するステップを含む。
【0014】 本発明の他の態様では、この方法は、デバイスのうち指定の1つをより高い電
力になるように電力供給すべきときに、第2のデバイス・ドライバが全電力オン
でない場合は、電力管理を受ける第2のデバイス・ドライバが、それに関連付け
られたデバイスに、より高い電力へ電力供給するようにするステップを含む。
【0015】 本発明の他の態様によれば、この方法は、ある期間にわたり電力管理を受ける
少なくとも1つのデバイス・ドライバに対する電力アップ・イベントのいくつか
の指示のログを保持するステップと、その少なくとも1つのデバイス・ドライバ
に対する少なくとも1つのタイムアウト値を、そのある期間中のその少なくとも
1つのデバイス・ドライバの電力アップ・イベントのいくつかの指示に従って変
化させるステップを含む。
【0016】 本発明の他の態様では、タイマは複数の記憶場所に実装され、初期化ステップ
は、複数の記憶場所のそれぞれに、そのタイマが関連付けられているデバイス・
ドライバに対するそれぞれの全電力オンのタイムアウト値をロードするステップ
を含み、値を変更するステップは、記憶場所を所定の間隔でデクリメントするス
テップを含み、監視ステップは、記憶場所を監視して、記憶場所のうちの1つが
0にデクリメントされたときを判定するステップを含む。
【0017】 本発明の他の態様では、ローディング・ステップは、電力管理を受けるデバイ
ス・ドライバにテンプレート・ソフトウェアを追加するステップを含む。
【0018】 本発明の他の態様では、複数の入出力デバイスを有する電子システムにおいて
電力を管理する方法が提供される。そのとき、各入出力デバイスは全電力オン状
態および少なくとも1つの電力低減状態を有し、それぞれは関連付けられたデバ
イス・ドライバによって制御される。この方法は、デバイス・ドライバとは別個
の電力管理ロジックを初期化して、電力管理を受ける各デバイス・ドライバに対
する少なくとも1つのタイムアウト値を受け取るステップと、電力管理ロジック
中で、電力管理を受ける異なる各デバイス・ドライバに、デバイス・ドライバの
外部に配置された、異なるタイマを割り当てるステップと、割り当てられた複数
のタイマのそれぞれを、そのタイマに割り当てられたデバイス・ドライバの少な
くとも1つのタイムアウト値に従って個別の所定値のセットに初期化するステッ
プと、各タイマ中に保持される個別の所定値を所定の間隔で変更するステップと
、複数のタイマを監視して、タイマのうちの1つにおける所定値が、割り当てら
れたデバイス・ドライバに対するタイムアウト値が経過したことを示すときを判
定し、割り当てられたデバイス・ドライバに電力低減命令を送るステップと、タ
イマのうち所与の1つに関連付けられたデバイス・ドライバが、それに関連付け
られたデバイス・ドライバの使用イベントを示すときはいつでも、そのタイマを
その個別の所定値にリセットし、関連付けられたデバイスが全電力オンでない場
合は、それに、より高い電力レベルへ電力供給するステップを含む。
【0019】 本発明の他の態様では、電力を管理するようコンピュータを構成するためにコ
ンピュータ可読プログラム・コード手段をその中に組み入れた少なくとも1つの
コンピュータ利用可能媒体を備えるプログラム製品が提供される。オペレーティ
ング・システム・ソフトウェアが、コンピュータを制御し、複数の入出力デバイ
スを制御することができ、各入出力デバイスは全電力オン状態および少なくとも
1つの電力低減状態を有し、それぞれは関連付けられたデバイス・ドライバによ
って制御され、コンピュータ可読プログラム・コード手段は、コンピュータが電
力管理を受ける複数のデバイスのそれぞれに異なるタイマを形成するようにする
ためのPMA可読プログラム・コード手段を備え、タイマはそのデバイスに関連
付けられたデバイス・ドライバの外部に形成され、さらに、コンピュータが異な
る各タイマをそのタイマに関連付けられたデバイスのタイムアウト値に従って初
期化させる第1のコンピュータ可読コード手段と、コンピュータがタイマを稼動
し、タイマを監視し、それに関連付けられたデバイスに対するタイムアウト値が
経過したことを示す値をタイマのうちの1つが有するときを判定し、関連付けら
れたデバイスに電力低減命令を送るようにするための第2のコンピュータ可読コ
ード手段と、タイマのうち所与の1つに関連付けられたデバイス・ドライバがそ
れに関連付けられたデバイスの使用イベントを示すときはいつでも、コンピュー
タがそのタイマを、それに関連付けられたデバイスに対するタイムアウト値にリ
セットするようにし、それが全電力オンでない場合は、関連付けられたデバイス
により高い電力レベルへ電力供給するための第3のコンピュータ可読コード手段
を備える。
【0020】 本発明の他の態様では、電力を管理するようにコンピュータを構成するための
コンピュータ可読プログラム・コード手段がその中に組み入れられた少なくとも
1つのコンピュータ利用可能媒体を備えるプログラム製品が提供される。オペレ
ーティング・システム・ソフトウェアが、コンピュータを制御し、複数の入出力
デバイスを制御することができ、各入出力デバイスは全電力オン状態および少な
くとも1つの電力低減状態を有し、それぞれは関連付けられたデバイス・ドライ
バによって制御され、プログラム製品中のコンピュータ可読プログラム・コード
手段は、電力管理を受ける各デバイス・ドライバに追加されるように設計された
第1のコンピュータ可読コード手段を含み、第1のコンピュータ可読コード手段
は、デバイスに対して、名前、全電力オン状態に対する少なくとも1つのタイム
アウト値、および電力アップまたは電力低下用のAPIのためのデータ構造を備
え、第1のコンピュータ可読コード手段は、コンピュータにデバイスのAPIか
ら第2のコンピュータ可読コード手段のAPIに変換させるように機能し、第2
のコンピュータ可読コード手段は、電力管理アプリケーション(PMA)コンピ
ュータ可読コード手段とデバイス・ドライバに関連付けられたデバイスとの間の
通信を容易にするために、電力管理を受ける各デバイス・ドライバに追加される
ように設計され、第2のコンピュータ可読コード手段はAPIを有し、さらに、
コンピュータが第2のコンピュータ可読コード手段を初期化して、PMAコンピ
ュータ可読コード手段との非同期通信をサポートするためにそのデバイス・ドラ
イバ用に特定IDを有するスレッドを生成するようにするための第3のコンピュ
ータ可読コード手段を含み、PMAコンピュータ可読コード手段は、コンピュー
タが、各デバイス・ドライバに関連付けられているがデバイス・ドライバの外部
にある別々のタイマを提供するようにし、第2のコンピュータ可読コード手段は
、コンピュータがPMAコンピュータ可読コード手段を初期化して各デバイスに
対する全電力オンのタイムアウト値をタイマのうちの異なる1つに関連付けるよ
うにするためのコードを含み、PMAコンピュータ可読コード手段は、コンピュ
ータが各タイマを監視して、所与のデバイス・ドライバの1つに関連付けられた
所与のタイマの1つがそのタイムアウト値に達したことを示す値を有する場合に
、そのタイムアウト値に関連付けられた所与のデバイス・ドライバに対するスレ
ッドを呼び起こすようにするコードを含み、第3のコンピュータ可読コード手段
は、スレッドが呼起こされると、コンピュータが命令のためにPMAコンピュー
タ可読コード手段をコールするようにするコードを含み、PMAコンピュータ可
読コード手段は、コールが受け取られると、コンピュータが所与のデバイス・ド
ライバの第2のコンピュータ可読コード手段と通信して、少なくとも1つの電力
レベルを下げるようにするコードを含み、PMAコンピュータ可読コード手段は
、タイマのうち特定の1つに関連付けられたデバイス・ドライバの第2のコンピ
ュータ可読コード手段がそれに関連付けられたデバイスに対する使用イベントを
示すときに、コンピュータがそのタイマをリセットするようにするコードを含み
、デバイス・ドライバと通信して、それが全電力オン状態にない場合に、より高
い電力へ電力供給する。
【0021】 (好ましい実施形態の詳細な説明) 以下の説明は、本発明の文脈および用語法を説明するのに役立つであろう。
【0022】 スレッドとは、タスクのコンテキストの中でランし、特定のIDを有する一連
の実行を含むコンピュータ・コードであり、特定の呼び起こすイベントの発生を
待つようにスリープ状態に置かれていることがある。
【0023】 呼び起こすイベントとは、信号が供給されたオペレーティング・システムのよ
うな何らかの手段によるスレッドの通知のことである。
【0024】 ライブラリとは、マシンの使用可能な一群のユーティリティを形成するために
コンパイルされ、リンクされた一群のコードのことである。
【0025】 使用イベントとは、デバイスの使用の検出または要求のことである。
【0026】 テンプレート・ソフトウェアとは、特定デバイス・ドライバのAPIをライブ
ラリのAPIに変換することによって特定ドライバをサポートするために変更さ
れるソース・ファイルのことである。
【0027】 電力低減状態とは、電源オフの状態を含む、全電力オンの状態より低い電力状
態のことである。
【0028】 APIとは、アプリケーション・プログラミング・インタフェースのことであ
り、それを介してデバイスから入力が受信され、またデバイスに出力が提供され
る。
【0029】 本発明は、関連するデバイス・ドライバの制御下で、一群の入出力デバイスの
ための電子システムで自動電力管理を行うように設計されている。電力管理アプ
リケーション機能は、入出力デバイスおよびそれらの関連ドライバの外部に配置
されており、電力管理アプリケーション(PMA)ソフトウェアの制御下に集中
化することが好ましい。電力管理を受ける予定の各入出力デバイスは、電力管理
アプリケーション(PMA)ソフトウェアと通信し、その制御を受けられるよう
にソフトウェアと共にロードし、初期設定した関連デバイス・ドライバを有する
必要がある。また、電力管理を受ける予定の各デバイス・ドライバは、この通信
と制御を容易にするためには、PMAソフトウェアと共に登録しなければならな
い。本発明の機能の1つは、特に、システム構成に挿入される入出力デバイスの
インストールまたは置換について、複雑さを減少させることである。
【0030】 個々の入出力デバイスのための初期設定プロセスは、APIを備えた通信ソフ
トウェアを、電力管理を受ける予定の入出力デバイスに関連付けられたデバイス
・ドライバに物理的に追加することを含む。手段は、入出力デバイス用APIを
通信ソフトウェア用APIに変換することが含まれる。好ましい実施形態では、
変換手段は、デバイスのAPIを受信するための、人に読みやすい形式のテンプ
レート・ファイルである。このテンプレート・ファイルは、デバイス・ドライバ
と通信するために分離し、指定することができるが、デバイス・ドライバに物理
的に追加されることが好ましい。通信ソフトウェアは汎用であり、定義されたA
PIエントリ・ポイントを有することに留意されたい。このテンプレート・ファ
イルは、デバイスと通信ソフトウェアのAPIエントリ・ポイントとの間のコー
ルを容易にする。
【0031】 通信ソフトウェアは、通常、このデバイス・ドライバに関連付けられた入出力
デバイスが電力状態の変換を行ったばかりであることを報告するために、PMA
ソフトウェアをコールするためのセット状態ソフトウェアを備えるであろう。こ
の通信ソフトウェアは、一般に、使用イベントが発生したこと、つまり、入出力
デバイスが使用中であるとか、使用への要求が出されていることをPMAソフト
ウェアに報告するように設計された使用イベント報告ソフトウェアも含むであろ
う。さらに、通信ソフトウェアは、関連付けられたデバイスの電力を高めたり、
低めたりするためにPMAソフトウェアからのコールを受信するためのエントリ
・ポイントになるよう設計された、一組の電力ソフトウェアを含むべきである。
ソフトウェアは、入出力デバイスの異なる電力状態のためのタイムアウト値をP
MAソフトウェアに伝達するためにも必要である。結果として、好ましい実施形
態では、初期設定ソフトウェアは、PMAソフトウェアからの信号によって活動
化されうる通信ソフトウェアにデバイスのスレッドを生成するために必要である
。スレッドは、オペレーティング・システムをコールし、PMAソフトウェアに
タイムアウト・イベントが発生した時点で呼び起こされる特定IDを有するスレ
ッドを生成するようにそのオペレーティング・システムに伝えることによって生
成される。
【0032】 好ましい実施形態では、通信ソフトウェアは、一群の機械可読ユーティリティ
を形成するようにコンパイルされ、リンクされたコードであるライブラリ・ソフ
トウェアを含む。
【0033】 テンプレート・ファイルについては、そのファイルは、電力を高めるための内
部入出力デバイスのコールを通信ソフトウェアのその機能に適切なコール(AP
Iエントリ・ポイント)に変換し、同様に、電力を低下させるための内部入出力
デバイスのコールを通信ソフトウェアのその機能に適切なコール(APIエント
リ・ポイント)に変換するコードまたはテーブルを含む。さらに、テンプレート
・ファイルは、自動的にまたは手動入力によって、入出力デバイス名およびその
入出力デバイスの各電力状態に対するタイムアウト値を受信するように設計され
ている。実施形態によっては、電力状態の数を表す数を入力することができ、お
よび/または入出力デバイスの電力状態のための可能な最小および最大タイムア
ウト値を備えることができる。
【0034】 電力管理を容易にする初期設定ルーチンが図1で説明されている。ブロック1
0は、名前と、電力投入および電力低下デバイスコールとを含む、さらにはテン
プレートへのデバイスの電力状態のためのタイムアウト値を含む、デバイスのた
めのAPIの自動または手動によるロードを必要とする。タイムアウト値がアプ
リケーション・プログラムによって動的に再構成される場合、そのデバイスの最
小および最大タイムアウト値をロードすることができる。入出力デバイスの製造
業者によって生成されたファイルを単純にロードし、読み込むことによって、こ
のステップを達成することができる。
【0035】 このロードするステップの後、ブロック20において、入出力デバイスAPI
は、通信ソフトウェアのためのAPIエントリ・ポイントに変換されなければな
らない。これを達成するためには、通信(ライブラリ)ソフトウェアがコールさ
れ、デバイスを定義するデータ構造(タイムアウト値、状態の数、ドライバのタ
イプ、他)と電力を高めたり、低下させたりするためのデバイスのエントリ・ポ
イント/コールとが、通信ソフトウェアAPIに変換される。
【0036】 次いで通信ソフトウェアは入出力デバイスをPMAソフトウェアと共に登録す
る。この登録プロセスは、入出力デバイス名およびデバイスのためのタイムアウ
ト値をPMAソフトウェアに提供する。好ましい実施形態では、データ構造の一
部またはすべては、入出力デバイスがPMAソフトウェアに設けられていること
を示すために使用される。
【0037】 次いでブロック30は、PMAソフトウェアのタイムアウト・イベントを処理
するために、その入出力デバイスのデバイス・スレッドを生成する。一般に、こ
のコンテキストでは、デバイス・スレッドは、PMAソフトウェアのタイマ・ス
レッドで待つことのできるコードと見ることができる。デバイス・スレッドは、
PMAソフトウェアでタイムアウト・イベントが発生した時点で呼び起こされる
特定IDを備えたスレッドを生成するために、命令と共にオペレーティング・シ
ステムにコールを置くことによって生成することができる。このプロセスを使用
して、PMAソフトウェアのためのタイマ・スレッドも生成される。このタイマ
・スレッドは、デバイス・スレッドIDを含み、タイマをそのデバイスと関連付
けられるようにサポートする。
【0038】 PMAソフトウェアは、電子システムにロードされた場合、入出力デバイス電
力管理タイマをエミュレートすることによって電子システムのCPUの機能を高
める、デバイス非活動電力管理の方法、装置、およびソフトウェアを生成するよ
うに機能するが、入出力デバイス自体及びそれらのドライバに対しては外部にあ
る。この設計により、ソフトウェアは、初期構成が出荷されてから長期間経って
、多くのシステム・デバイスのために複数のアクティビティ・タイマを追加し、
事前定義した電力管理モードを介してそれらのアクティビティ・タイマを利用す
ることができる。したがって、入出力デバイスが使用されていないときは、電力
が送られないように、フェールセーフ方法が設けられている。
【0039】 PMAソフトウェアのエミュレートされるタイマは、様々な技術を使用して実
施することができる。たとえば、タイマは、標準ソフトウェアまたはハードウェ
ア・カウンタを介して実施することができる。好ましい実施形態では、メモリ・
マップされたフィールドまたはバッファでこのタイマを実施することができる。
この好ましい実施形態では、RAMの特定メモリ位置は、電力管理される予定の
各入出力デバイスに関連付けられる。その特定メモリ位置は、そのデバイスの最
初のタイムアウト値に従って初期設定される。(電源オフ状態は、一般にそれに
関連付けられたタイムアウト値を有しないが、)デバイスの電力状態毎にタイム
アウト値があるようにできることに留意されたい。たとえば、特定のデバイスに
ついては、全電力オン状態に関連付けられた第1タイムアウト値があり、第1待
機電力状態に関連付けられた第2タイムアウト値があり、電力の低い第2待機電
力状態に関連付けられた第3タイムアウト値がある場合があってもよい。使用さ
れる特定のデバイスに応じて、かなりの数の電力状態と関連付けられるタイムア
ウト値があるであろう。
【0040】 PMAソフトウェアとのデバイスの登録中、特定メモリ位置はそのデバイスに
関連付けられ、そのデバイスのための第1タイムアウト値に基づく所定の値と共
にロードされる。メモリ位置に保持される値は、次いで、そのデバイスのための
タイムアウト値が経過したことを示す値に達するまでは、所定の時間増加に従っ
て上げ、また下げられる。ある実施態様では、特定メモリ位置は、第1タイムア
ウト値自体と共にロードされ、そのメモリ位置がゼロ値を持つまで、その値は減
らされる。
【0041】 デバイスのメモリ位置が、第1タイムアウト値が経過したことを示す値を持っ
ている場合、ある実施形態では、電力状態を1つまたは複数レベルだけ低下させ
ることができるように、信号を特定デバイスのためのデバイス・ドライバに直接
送ることができる。次いで、タイマは、第2タイムアウト値に従う値と共にロー
ドされる。
【0042】 しかし、好ましい実施形態では、特定デバイス・ドライバのためのスレッドI
Dは、パルスされるタイマ・イベントを開くために使用され、したがって、その
スレッドIDを持つデバイス・スレッドを呼び起こす。
【0043】 呼び起こされたデバイス・スレッドは、命令のためのPMAソフトウェアをコ
ールすることによって応答する。(一例として、コールで定義された通り、その
デバイスのためのメモリ・メールボックス位置を介することによって)電力状態
を1つまたは複数レベルだけ低下させるために、デバイス・ドライバにある通信
ソフトウェアに命令を送信して、PMAソフトウェアはこのコールに応答する。
デバイスがこの低下電力状態にセットされると、デバイス・ドライバの通信ソフ
トウェアは、PMAソフトウェアに信号を送り、そのデバイスが低下電力レベル
に設定されていることを示す。PMAソフトウェアは、そのデバイス(もし1つ
なら)のための第2タイムアウト値をRAMの関連付けられたタイマ・メモリ位
置にロードすることによって応答する。次いで、第2タイムアウト値が経過した
ことが示される値に達するまでに、このメモリ位置は変更される。次いで、電力
状態を1つまたは複数レベル低下させるために同じシーケンスが続けられ、第3
タイムアウト値(もし1つあれば)と共にメモリ位置を再ロードする。
【0044】 通信ソフトウェアとPMAソフトウェアとの、PMAソフトウェアおよび通信
ソフトウェアからのコールによるスレッド信号を介した通信は、複雑さを最小限
に抑えるので有利である。具体的には、複数のデバイス・ドライバにコールを処
理させながら、処理時間を節約するために、PMAソフトウェアが最初に信号に
よって通信できるようにする。したがって、PMAソフトウェアは、資源をそれ
以上拡張することなく、特定のデバイス・ドライバのスレッドに最初に信号を送
る。信号を送られた特定のデバイスがディセーブルされると、それ以上の処理時
間は必要とされない。ただし、そのデバイスのためのスレッドが一旦呼び起こさ
れ、PMAソフトウェアをコールすると、その時だけは、PMAソフトウェアは
、コードを、そのコールによって指定されたメモリのメールボックス位置にロー
ドする。
【0045】 特定のデバイスに対して使用イベントがあり、そのデバイスが全電力オン状態
にない場合、デバイスはより高い電力状態、一般には全電力オン状態になるよう
に電力を供給されることに留意されたい。さらに、その関連タイマは、より高い
電力状態のためのタイムアウト値にリセットされる、つまり全電力オンには、第
1タイム・アウト値にセットされる。たとえば、特定のデバイスが待機電力状態
で作動していれば、全電力オンになるように電力が高められ、その関連タイマは
第1タイムアウト値にリセットする。電力が必ずしも全電力オンに高められない
ように、しかし所定の数の電力状態およびその状態のためのタイムアウト値にセ
ットされた関連タイマによって高められるように、そのソフトウェアを実施する
ことができることに留意されたい。
【0046】 好ましい実施形態では、すべてのタイマがシステム時刻または電子システムの
システム・タイマ・サービスの処理に従って、増加またはまたは減少される。あ
る実施形態では、増加または減少は、システム・クロックの制御下で行うことが
できる。増加または減少関数は、特定の間隔、つまり1秒ごとに、制御を得るタ
スクをスケジュールすることによって、実施することもできる。
【0047】 スレッドを使用した本発明の実施は、すぐ隣のソフトウェア層を除くすべてか
ら入出力デバイスを分離し、その結果、電力管理システムに入出力デバイスを追
加するために必要な変更を大幅に減少させるので、特に有利である。
【0048】 電子システム要のオペレーティング・システムのトップでランしているアプリ
ケーション・プログラムが、電力を管理されるデバイス・ドライバの名前とその
デバイスによって使用されるタイムアウト値についてPMAソフトウェアから情
報を獲得させるようにしたAPIを設けるためのソフトウエアをPMAソフトウ
ェアに用意することがある。このソフトウェアは、PMAソフトウェアによって
電力管理される入出力デバイスの電力管理を動的に再構成するための、および/
または単に電力管理された入出力構成および/またはその現行電力管理状態を表
示するためのコードを含めることができる。別法として、このAPIを介して個
々の入出力デバイスの電力状態を単にセットするためのソフトウェアを設けるこ
とができる。
【0049】 他の指定された入出力デバイスが使用イベントを示す場合、まだ全電力オン状
態にはない入出力デバイスを全電力オンにするように自動的に電力を上げるため
のコードをPMAソフトウェアに含めることができる。たとえば、マウスで使用
イベントが検出された場合、画面は、全電力オン状態に電力を供給することがで
きる。
【0050】 図2は、特定デバイス・ドライバに使用イベントが検出された場合の、PMA
ソフトウェアでの操作の流れ図である。ライン50上で特定のデバイス・ドライ
バからの使用イベントが発生すると、そのデバイス・ドライバが電力管理を受け
るかどうか(つまり、そのデバイス・ドライバがPMAソフトウェアと共に登録
されているかどうか)を、PMAソフトウェアが決定ブロック60で判定する。
回答がNOであれば、論理流れはエラー・ブロック70に進み、次いでスリープ
に戻るブロック80に進む。回答がYESであれば、論理流れはブロック90に
進む。ブロック90は、電力状態が指定された電力状態より低いかどうか、また
は好ましい実施形態では全電力オンよりも低いかどうかを判定し、もしそうであ
れば、電力状態を全電力オンに変更する。ブロック90は、デバイスに関連付け
られたエミュレートされたタイマを、新しい電力状態のための関連付けられたタ
イムアウト値にリセットする。好ましい実施形態では、ブロック90はさらに、
イベントをログすることができる。そのような使用イベントのロギングは、その
特定デバイスのためのタイムアウト値を、使用イベントのしきい値に基づいて変
更するか、またはその他のアルゴリズムに従って変更し、その結果そのデバイス
のために電力管理機能を最適化するために使用することができる。
【0051】 先に説明された本発明の別の態様で、論理流れは、使用イベントを有する特定
デバイスが、その状況で全電力オンのようなより高い電力になるように電力を供
給されるべき関連入出力デバイスを有するかどうかを判定する判定ブロック10
0に進むことができる。たとえば、使用イベントがマウスに発生した場合、表示
画面の電力状態を全電力オンに変更することができる。回答がNOであれば、論
理流れはスリープに戻るブロック80に進む。回答がYESであれば、論理流れ
は、ブロック110に進み、識別する関連入出力デバイスは、全電力オンになる
ように電力を高められる。次いで、論理流れは、スリープに戻るブロック80に
進む。
【0052】 図3は、タイマ操作の実施態様を説明する流れ図である。インターバル・タイ
マ・ブロック120は、インターバル信号をすべての所定インターバル(たとえ
ば、1秒)に生成する。インターバル信号により、所与の入出力デバイスに関連
付けられた各タイマはブロック130で変更(減少/増加)される。次いで、論
理流れは、タイムアウト値が1つでも経過したかどうかが判定される、判定ブロ
ック140に移動する。回答がNOであれば、論理流れは、プロセス・インター
バル・タイマ・ブロック120に戻る。回答がYESであれば、論理流れはブロ
ック150に進み、そのデバイスを2番目に低い電力状態に置き、そのタイマを
第2タイムアウト値(もし、1つあれば)にリセットする。
【0053】 本発明の別の態様では、電子システムが実質的に定常状態の電源から操作して
いるかどうか、つまり電池でないかどうかを判定するために含むことができる。
電子システムが無制限の電源機構によって電力の供給を受けていると判定すると
、ソフトウエアは、PMAソフトウェアでエミュレートされるタイマに基づく電
力管理機能をディセーブルするように機能する。
【0054】 本発明は、入出力デバイスのための電力管理を自動化し、電子システムにデバ
イスを配備するコストを大幅に削減する。本発明は、入出力デバイスを電力管理
システムに組み込むためにポートされなければならないハードウェアの量を削減
する。したがって、デバッグされなければならないハードウェアの量が削減され
る。同様に、本発明は、電力管理を使用するチップ・セットのコストと複雑さを
削減する。
【0055】 本発明の好ましい実施形態の上記の説明は、図示および説明の目的で提示され
ている。本発明は、開示された正確な形式を網羅し、またはこれらに限定される
ものではなく、修正および変更は、上記の教示に鑑みて可能であり、または本発
明の実施から獲得することができる。本発明の原理と、当分野の技術者が様々な
実施形態で、考えられる特定の使用に適するような様々な変更を伴って、本発明
を活用できるようにするための、その実際的な適用例を説明するために、この実
施形態は選択され、解説された。本発明の範囲は、本明細書に添付の特許請求の
範囲およびそれに相当するものにより定義されるものである。
【図面の簡単な説明】
【図1】 本発明による初期設定プロセスの流れ図である。
【図2】 本発明による電力管理プロセスの流れ図である。
【図3】 本発明によるタイマ・プロセスの流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z A,ZW (72)発明者 ファーハイ,ヘンリ・ヘイイム アメリカ合衆国・95030・カリフォルニア 州・ロス ガトス・ロス ガトス ブーレ バード・227 Fターム(参考) 5B011 EB06 KK02 LL11 【要約の続き】 イマのうち所与の1つに関連付けられたデバイス・ドラ イバが、それに関連付けられたデバイス・ドライバの使 用イベントを示すときはいつでも、そのタイマをその個 別の所定値にリセットし、関連付けられたデバイスが全 電力オンでない場合は、それに、より高い電力レベルへ 電力供給するステップを含む。

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ、および前記プロセッサを制御し、かつ複数の入
    力/出力デバイスを制御できるオペレーティング・システム・ソフトウェアを含
    む電子システムで電力を管理する方法であって、前記入力/出力デバイスのそれ
    ぞれに全電力オン状態および少なくとも1つの電力低減状態があり、かつそれぞ
    れが関連するデバイス・ドライバによって制御される、電力を管理する方法にお
    いて、 電力管理アプリケーション(PMA)ソフトウェア、通信ソフトウェア、およ
    びテンプレート・ソフトウェアを前記電子システムにロードするステップを含み
    、そのステップで 前記テンプレート・ソフトウェアは、名前のデータ構造、全電力オン状態に対
    するタイムアウト値および前記デバイスに対する電力増加または電力低下のため
    のAPIを含み、 前記通信ソフトウェアは、電力管理を受けるデバイスのデバイス・ドライバに
    ロードされ、かつ前記デバイスと前記PMAソフトウェアとの間の通信を円滑に
    するように機能し、 前記テンプレート・ソフトウェアは、前記デバイスの前記APIを前記通信ソ
    フトウェアのAPIに変換する機能を持ち、さらに方法は、 前記PMAソフトウェアとの非同期通信をサポートするために、特定のIDを
    持つ前記デバイスのデバイス・ドライバ用のスレドを生成するために、電力管理
    を受ける前記デバイスそれぞれの前記通信ソフトウェアのコードを初期化するス
    テップと、 電力管理を受ける前記デバイス・ドライバのそれぞれに対して、少なくとも1
    つの前記全電力オン・タイムアウト値を持つ前記PMAソフトウェアを初期化す
    るステップと、 前記PMAソフトウェアで、それぞれ異なるタイマを、電力管理を受ける複数
    の前記デバイス・ドライバそれぞれに関連させるステップであって、前記デバイ
    ス・ドライバに対して前記タイマが外部にあり、かつ前記タイマのそれぞれをそ
    れに関連するデバイス・ドライバのタイムアウト値に従って初期化する、関連さ
    せるステップと、 前記タイマのそれぞれを監視し、かつ前記デバイス・ドライバの任意の1つに
    関連する前記タイマの任意の1つが、タイムアウト値への到達が起きたことを示
    す値を持った場合、その時点でその任意のデバイス・ドライバに対するスレッド
    を呼び起こすステップ とを含み、 前記呼び起こされたスレッドを持つ前記任意のデバイス・ドライバが、命令を
    求めて前記PMAソフトウェアをコールし、 前記PMAソフトウェアが、前記コールしを受信して前記任意のデバイス・ド
    ライバに少なくとも1つ電力レベルを低下させる命令し、 前記タイマに関連するデバイス・ドライバが、その関連するデバイスの使用イ
    ベントを示したとき、前記タイマの特定の1つをリセットし、かつ関連する前記
    デバイスが全電力オン状態ではない場合は、より高い電力を供給する ことを含む方法。
  2. 【請求項2】 前記入力/出力デバイスの少なくとも1つが、少なくとも2
    つの電力低減状態を含み、 ロードの前記ステップでの前記テンプレート・ソフトウェアが、前記電力低減
    状態のうちの1つに対する電力低減状態タイムアウト値を含み、 前記PMAソフトウェア初期化ステップが、前記PMAソフトウェアに対して
    、前記電力低減状態の前記1つに対する前記タイムアウト値を提供するステップ
    を含み、さらに 前記通信ソフトウェアが、前記デバイス・ドライバの任意の1つについて、P
    MAソフトウェアの命令に応じて、異なる電力レベルへの切り替えを知らせるス
    テップと、 前記任意のデバイス・ドライバに関連する前記タイマを、前記電力低減状態の
    前記1つに対する前記タイムアウト値に従って設定するステップと、 前記電力低減状態の前記1つに対する前記タイムアウト値に従って設定された
    前記タイマが、前記電力低減状態タイムアウト値が経過したことを示す値に達し
    たとき、これを監視し、かつこの時点でその関連するデバイス・ドライバに対す
    るスレッドを呼び起こすステップとを含む請求項1に記載の方法。
  3. 【請求項3】 前記電子システムが非バッテリ電源から電力を得ているとき
    にそれを検出するステップ、ならびに 前記検出が行われると、タイムアウトに基づくどのような電力低下も前記P
    MAソフトウェアによって実行されることなく、前記デバイス・ドライバを動作
    させるステップをさらに含む、請求項1に記載の方法。
  4. 【請求項4】 前記デバイスの指定された1つにより高い電力が供給される
    べき場合、その関連するデバイスが全電力オン状態でなければ、第2番目のデバ
    イス・ドライバに、第2番目の前記デバイスへ電力を供給させるステップをさら
    に含む請求項1に記載の方法。
  5. 【請求項5】 前記デバイスの指定された1つで、その指定されたデバイス
    が電力管理を受けておらず、より高い電力の供給を受けるべき場合、前記デバイ
    スが全電力オン状態でなければ、電力管理を受けている第2番目のデバイス・ド
    ライバに、その関連するデバイスへより高い電力供給をさせるステップをさらに
    含む、請求項1に記載の方法。
  6. 【請求項6】 電力管理を受ける少なくとも1つのデバイス・ドライバにつ
    いて、一定の期間での電力増加イベントが示された回数のログを保守するステッ
    プと、 一定の期間での前記少なくとも1つのデバイス・ドライバの電力増加を示す回
    数に応じて、前記少なくとも1つのデバイス・ドライバに対する少なくとも1つ
    のタイムアウト値を変えるステップを含む、請求項1に記載の方法。
  7. 【請求項7】 前記タイマが複数の記憶域によって実装され、 前記初期化ステップが、タイマが関連するデバイス・ドライバに対するそれぞ
    れの全電力オン・タイムアウト値を、複数の前記記憶域のそれぞれにロードする
    ステップを含み、 値を変える前記ステップが、事前決定された間隔で前記記憶域を減少させるス
    テップを含み、かつ 前記監視ステップが、前記記憶域を監視して、前記記憶域がゼロまで減少させ
    られたとき、これを判断するステップを含む請求項1に記載の方法。
  8. 【請求項8】 電力管理を受ける複数の前記ドライバについての情報を表示
    するステップをさらに含む、請求項1に記載の方法。
  9. 【請求項9】 ロードの前記ステップが、前記テンプレート・ソフトウェア
    を、電力管理を受ける前記デバイス・ドライバに加えるステップを含む、請求項
    1に記載の方法。
  10. 【請求項10】 複数の入力/出力デバイスを持った電子システムで電力を
    管理する方法であって、前記入力/出力デバイスのそれぞれに全電力オン状態お
    よび少なくとも1つの電力低減状態があり、かつそれぞれが関連するデバイス・
    ドライバによって制御される、電力を管理する方法方法において、 電力管理を受けるべき前記デバイス・ドライバのそれぞれに対して、少なくと
    も1つのタイムアウト値を受信するために、前記デバイス・ドライバから分離し
    ている電力管理論理を初期化するステップと、 前記デバイス・ドライバの外部に配置されているタイマであって前記電力管理
    論理のそれぞれ異なるタイマを、電力管理を受けるべき前記デバイス・ドライバ
    のそれぞれ異なる1つに割り当てるステップと、 複数の前記割り当てられたタイマを、そのタイマに対する割り当てられたデバ
    イス・ドライバの少なくとも1つのタイムアウト値に従って設定される、事前決
    定された個別の値に初期化するステップと、 事前決定された間隔で前記タイマの各々に保持された前記事前決定された個別
    の値を変更するステップと、 複数の前記タイマを監視し、かつ前記タイマの1つで事前決定された前記値が
    割り当てられたデバイス・ドライバに対して前記タイムアウト値が経過したこと
    を示すとき、これを判断し、電力低減命令を割り当てられた前記デバイス・ドラ
    イバに発信するステップと、 前記タイマの任意の1つに関連するデバイス・ドライバがそれに関連するデバ
    イスの使用イベントを示すときはいつでも、前記タイマをその事前決定された個
    別の値にリセットし、かつ関連する前記デバイスが全電力オン状態でなければ、
    それに、より高い電力レベルの電力供給を行うステップ とを含む方法。
  11. 【請求項11】 前記入力/出力デバイスの少なくとも1つが少なくとも2
    つの異なる電力低減状態を含み、かつ 電力管理論理の初期化の前記ステップが、前記少なくとも1つの入力/出力デ
    バイスにおける電力低減状態の1つに対するタイムアウト値を、前記電力管理論
    理に提供し、かつ 前記少なくとも1つの入力/出力デバイスへの電力低減命令の後、前記電力低
    減状態に対する前記タイムアウト値に従って、前記少なくとも1つの入力/出力
    デバイスに対するデバイス・ドライバに関連する前記タイマを設定するステップ
    と、 前記電力低減状態に対する前記タイムアウト値に従って設定された前記タイマ
    が、前記電力低減状態タイムアウト値が経過したことを示す値に達したときに、
    これを監視して、この時点で電力低減命令を割り当てられた前記デバイス・ドラ
    イバに発信するステップをさらに含む請求項10に記載の方法。
  12. 【請求項12】 前記電子システムが非バッテリ電源から電力を得ていると
    き、これを検出するステップ、ならびに 前記検出が行われると、タイムアウトに基づくどのような電力低下機能も電力
    管理論理によって実行されることなく、前記デバイス・ドライバを動作させるス
    テップとをさらに含む、請求項10に記載の方法。
  13. 【請求項13】 前記デバイスの指定された1つにより高い電力が供給され
    るべき場合、その関連するデバイスが全電力オン状態でなければ、第2番目のデ
    バイス・ドライバに、関連する前記デバイスに電力を供給させるステップをさら
    に含む請求項10に記載の方法。
  14. 【請求項14】 前記デバイスの指定された1つで、その指定されたデバイ
    スが電力管理を受けておらず、より高い電力の供給を受けるべき場合、前記デバ
    イスが全電力オン状態でなければ、電力管理を受けている第2番目のデバイス・
    ドライバに、その関連するデバイスへより高い電力供給をさせるステップをさら
    に含む、請求項10に記載の方法。
  15. 【請求項15】 電力管理を受ける少なくとも1つのデバイス・ドライバに
    ついて、一定の期間での電力増加イベントが示された回数のログを保守するステ
    ップと、 一定の期間での前記少なくとも1つのデバイス・ドライバの電力増加を示す回
    数に応じて、前記少なくとも1つのデバイス・ドライバに対する少なくとも1つ
    のタイムアウト値を変えるステップを含む、請求項10に記載の方法。
  16. 【請求項16】 前記タイマが複数の記憶域によって実装され、 前記初期化ステップが、タイマが関連するデバイス・ドライバに対するそれぞ
    れの全電力オン・タイムアウト値を、複数の前記記憶域のそれぞれにロードする
    ステップを含み、 値を変える前記ステップが、事前決定された間隔で前記記憶域を減少させるス
    テップを含み、かつ 前記監視ステップが、前記記憶域を監視して、前記記憶域がゼロまで減少させ
    られたとき、これを判断するステップを含む請求項10に記載の方法。
  17. 【請求項17】 電力管理を受ける複数の前記ドライバについての情報を表
    示するステップをさらに含む、請求項10に記載の方法。
  18. 【請求項18】 電力管理を行うようにコンピュータを構成するコンピュー
    タ可読プログラム・コード手段を格納した、少なくとも1つのコンピュータ使用
    可能媒体を含み、オペレーティング・システム・ソフトウェアが前記コンピュー
    タを制御し、かつ複数の入力/出力デバイスを制御でき、前記入力/出力デバイ
    スのそれぞれに全電力オン状態および少なくとも1つの電力低減状態があり、か
    つそれぞれが関連するデバイス・ドライバによって制御される、前記プログラム
    製品の前記コンピュータ可読プログラム・コード手段が、 電力管理を受ける前記デバイス・ドライバのそれぞれに追加されるように設計
    された第1コンピュータ可読コード手段を含み、前記第1コンピュータ可読コー
    ド手段が、名前のデータ構造と全電力オン状態に対する少なくとも一つのタイム
    アウト値および前記デバイスに対する電力増加または電力低下のためのAPIを
    含み、前記第1コンピュータ可読コード手段が、コンピュータに前記デバイスの
    前記APIを第2コンピュータ可読コード手段のAPIに変換させる機能を持ち
    、 電力管理を受ける前記デバイス・ドライバのそれぞれに追加されるように設計
    された第2コンピュータ可読コード手段を含み、電力管理アプリケーション(P
    MA)コンピュータ可読コード手段と前記デバイス・ドライバに関連する前記ド
    ライバとの間の通信を円滑にし、前記第2コンピュータ可読コード手段が前記A
    PIを持ち、 前記PMAコンピュータ可読コード手段との非同期通信をサポートするために
    、特定のIDを持ったデバイス・ドライバに対するスレッドを生成するよう、コ
    ンピュータに前記第2コンピュータ可読コード手段を初期化させる、第3コンピ
    ュータ可読コード手段を含み、前記PMAコンピュータ可読コード手段が、前記
    デバイス・ドライバのそれぞれと関連してはいるが、前記デバイス・ドライバの
    外部にある別個のタイマをコンピュータに設け、 前記第2コンピュータ可読コード手段が、前記デバイスのそれぞれに対する全
    電力オン・タイムアウト値を前記タイマのそれぞれ異なる1つに関連付けるよう
    、コンピュータに前記PMAコンピュータ可読コード手段を初期化させるコード
    を含み、 前記PMAコンピュータ可読コード手段が、コンピュータに前記タイマのそれ
    ぞれを監視させ、かつ前記デバイス・ドライバの任意の1つに関連する前記タイ
    マの任意の1つが、タイムアウト値への到達が起きたことを示す値を持った場合
    、その時点でその任意のデバイス・ドライバに対するスレッドを呼び起こさせる
    コードを含み、 第3コンピュータ可読コード手段が、前記スレッドが呼び起こされると、コン
    ピュータに前記PMAコンピュータ可読コード手段をコールして命令を求めるよ
    うにさせるコードを含み、 前記PMAコンピュータ可読コード手段が、少なくとも1つ電力レベルを低下
    させる前記コールを受信して、コンピュータに前記任意のデバイス・ドライバの
    第2コンピュータ可読コード手段と通信させるコードを含み、 前記タイマに関連するデバイス・ドライバの第2コンピュータ可読コード手段
    が、その関連するデバイスの使用イベントを示したとき、コンピュータに前記タ
    イマの特定の1つをリセットさせ、関連する前記デバイスが全電力オン状態では
    ない場合は、それに、前記PMAコンピュータ可読コード手段がより高い電力を
    供給するよう前記デバイス・ドライバに通信させるコードを含む プログラム製品。
  19. 【請求項19】 前記入力/出力デバイスの少なくとも1つが、少なくとも
    2つの異なる電力低減状態を含み、かつ 前記第1コンピュータ可読コード手段の前記データ構造が、前記電力低減状態
    の1つに対する電力低減状態タイムアウト値を含み、 前記第2コンピュータ可読コード手段が、前記電力低減状態の前記1つに対す
    る前記タイムアウト値を、前記PMAコンピュータ可読コード手段に対して前記
    コンピュータに提供させ、 前記デバイス・ドライバの任意の1つに対する第2コンピュータ可読コード手
    段が、コンピュータが前記PMAコンピュータ可読コード手段に対して、異なる
    電力レベルへの切り替えを知らせるようにさせるコードを含み、 前記第2コンピュータ可読コード手段が、前記電力低減状態の前記1つに対す
    る前記タイムアウト値に従って、前記任意のデバイス・ドライバに関連する前記
    タイマを、コンピュータに初期化させるコードを含み、 前記PMAコンピュータ可読コード手段が、前記電力低減状態の前記1つに対
    する前記タイムアウト値に従って設定された前記タイマが、前記電力低減状態タ
    イムアウト値が経過したことを示す値に達したとき、これをコンピュータに監視
    させ、かつ前記コンピュータに、この時点でその関連するデバイス・ドライバに
    対するスレッドを呼び起こさせるコードを含む請求項18に記載のプログラム製
    品。
  20. 【請求項20】 前記電子システムが非バッテリ電源から電力を得ていると
    きにそれをコンピュータに検出させ、かつ 前記検出が行われると、タイムアウトに基づくどのような電力低下も前記電力
    管理アプリケーションによって実行されることなく、前記デバイス・ドライバを
    動作させる、コンピュータ可読コード手段をさらに含む請求項18に記載のプロ
    グラム製品。
  21. 【請求項21】 前記デバイスの指定された1つにより高い電力が供給され
    るべき場合、それに関連するデバイスが全電力オン状態でなければ、コンピュー
    タに第2番目のデバイス・ドライバに対して信号を送らせ、その関連する前記デ
    バイスに電力を供給する、コンピュータ可読コード手段をさらに含む請求項18
    に記載のプログラム製品。
  22. 【請求項22】 前記デバイスの指定された1つで、その指定されたデバイ
    スが電力管理を受けておらず、より高い電力の供給を受けるべき場合、前記デバ
    イスが全電力オン状態でなければ、コンピュータに、電力管理を受けている第2
    番目のデバイスへより高い電力供給をさせる、コンピュータ可読コード手段をさ
    らに含む請求項18に記載のプログラム製品。
  23. 【請求項23】 電力管理を受ける少なくとも1つのデバイス・ドライバに
    ついて、コンピュータに一定の期間での電力増加イベントが示された回数のログ
    を保守させ、一定の期間かつ前記少なくとも1つのデバイス・ドライバの電力増
    加を示す回数に応じて、前記少なくとも1つのデバイス・ドライバに対する少な
    くとも1つのタイムアウト値を変えさせる、コンピュータ可読コード手段をさら
    に含む請求項18に記載のプログラム製品。
  24. 【請求項24】 前記PMAコンピュータ可読コード手段が、コンピュータ
    に前記タイマを複数の減少させられる記憶域によって実装させるコードを含み、 タイマが関連するデバイス・ドライバに対するそれぞれの全電力オン・タイム
    アウト値で、複数の前記記憶域それぞれの初期化が行われるようにするコードを
    前記第2コンピュータ可読コード手段が含み、 前記PMAコンピュータ可読コード手段が、コンピュータに事前決定された間
    隔で前記記憶域を減少するようにさせ、かつ前記記憶域の1つがゼロにまで減少
    されたとき、これを判断するように前記記憶域を監視させるコードを含む請求項
    18に記載のプログラム製品。
  25. 【請求項25】 電力管理を行うようにコンピュータを構成するコンピュー
    タ可読コード手段を実装した、少なくとも1つのコンピュータ使用可能媒体を含
    み、オペレーティング・システム・ソフトウェアが前記コンピュータを制御し、
    かつ複数の入力/出力デバイスを制御でき、前記入力/出力デバイスのそれぞれ
    は全電力オン状態および少なくとも1つの電力低減状態があり、かつそれぞれが
    関連するデバイス・ドライバによって制御され、前記プログラム製品の前記コン
    ピュータ可読プログラム・コード手段が、 電力管理を受ける複数の前記デバイスのそれぞれについて、それぞれ異なるタ
    イマを前記コンピュータに形成させるPMAコンピュータ可読コード手段を含み
    、前記タイマが前記デバイスに関連する前記デバイス・ドライバの外部に形成さ
    れ、 それぞれ異なる前記タイマを、そのタイマに関連するデバイスのタイムアウト
    値に従って前記コンピュータに初期化させる第1コンピュータ可読コード手段を
    含み、 コンピュータに前記タイマを動作させ、前記タイマを監視させ、かつ前記タイ
    マの1つが、その関連するデバイスに対するタイムアウト値が経過したことを示
    す値を持ったとき、これを判断させ、電力低減命令を関連する前記デバイスに発
    信させる第2コンピュータ可読コード手段を含み、かつ 前記タイマの任意の1つに関連するデバイス・ドライバがそれに関連するデバ
    イスの使用イベントを示すときはいつでも、コンピュータに前記タイマをその関
    連するデバイスに対するタイムアウト値にリセットさせ、かつ関連する前記デバ
    イスが全電力オン状態でなければ、それに、より高い電力レベルの電力供給を行
    わせる第3コンピュータ可読コード手段を含む プログラム製品。
JP2000551308A 1998-05-28 1999-05-28 電力管理非活動監視のソフトウェア・エミュレーション Pending JP2002517032A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/084,915 1998-05-28
US09/084,915 US6128745A (en) 1998-05-28 1998-05-28 Power management inactivity monitoring using software threads
PCT/US1999/012035 WO1999061974A1 (en) 1998-05-28 1999-05-28 Software emulation of power management inactivity monitoring

Publications (1)

Publication Number Publication Date
JP2002517032A true JP2002517032A (ja) 2002-06-11

Family

ID=22188012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000551308A Pending JP2002517032A (ja) 1998-05-28 1999-05-28 電力管理非活動監視のソフトウェア・エミュレーション

Country Status (6)

Country Link
US (1) US6128745A (ja)
JP (1) JP2002517032A (ja)
AU (1) AU4223799A (ja)
GB (1) GB2354123B (ja)
TW (1) TW460776B (ja)
WO (1) WO1999061974A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152309A (ja) * 2002-10-31 2004-05-27 Lg Electron Inc コンピュータシステムの電源管理装置及び電源管理方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457134B1 (en) * 1999-04-21 2002-09-24 Palm, Inc. Portable computer with differentiated time-out feature
US6684262B1 (en) * 2000-10-25 2004-01-27 International Business Machines Corporation Method and system for controlling peripheral device interface behavior using thread registration
US6687838B2 (en) * 2000-12-07 2004-02-03 Intel Corporation Low-power processor hint, such as from a PAUSE instruction
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7017060B2 (en) * 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US20020188880A1 (en) * 2001-04-26 2002-12-12 Lowles Robert J. System and method for reducing power consumption by a liquid crystal display
US6845456B1 (en) 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
US7254721B1 (en) 2001-05-01 2007-08-07 Advanced Micro Devices, Inc. System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit
WO2003014902A1 (en) * 2001-08-10 2003-02-20 Shakti Systems, Inc. Distributed power supply architecture
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
US6819088B2 (en) * 2001-11-05 2004-11-16 Krishna Shenai DC-DC converter with resonant gate drive
WO2003041238A2 (en) * 2001-11-05 2003-05-15 Shakti Systems, Inc. Monolithic battery charging device
US6889332B2 (en) 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US20050105007A1 (en) * 2003-11-14 2005-05-19 Christian John P. Interchangeable media input cartridge for home entertainment
US7237131B2 (en) * 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system
US20060020842A1 (en) * 2004-07-26 2006-01-26 International Business Machines Corporation Timer management for reducing power consumption and workload in computers
US7577769B2 (en) * 2005-03-01 2009-08-18 Microsoft Corporation Un-installation of inactive or removed peripheral device drivers
GB0516447D0 (en) * 2005-08-10 2005-09-14 Symbian Software Ltd Controlling multilevel shared resources in a computing device
US8448024B2 (en) * 2007-05-16 2013-05-21 Intel Corporation Firmware assisted error handling scheme
US8312309B2 (en) * 2008-03-05 2012-11-13 Intel Corporation Technique for promoting determinism among multiple clock domains
US8370854B2 (en) * 2009-08-13 2013-02-05 International Business Machines Corporation Automatic closure of a file or a device in a data processing system
GB201113468D0 (en) * 2011-08-04 2011-09-21 Howes Mathew R Camping hammock with adjustable foot area
CN114020140B (zh) * 2020-02-12 2023-11-28 地平线(上海)人工智能技术有限公司 控制硬件模块的方法及装置、电子设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410711A (en) * 1991-02-14 1995-04-25 Dell Usa, L.P. Portable computer with BIOS-independent power management
JPH04333119A (ja) * 1991-05-09 1992-11-20 Matsushita Electric Ind Co Ltd 情報処理装置
JP3096489B2 (ja) * 1991-07-09 2000-10-10 富士通株式会社 ディスク装置
US5832286A (en) * 1991-12-04 1998-11-03 Sharp Kabushiki Kaisha Power control apparatus for digital electronic device
US5410713A (en) * 1992-01-02 1995-04-25 Smith Corona/Acer Power-management system for a computer
US5586332A (en) * 1993-03-24 1996-12-17 Intel Corporation Power management for low power processors through the use of auto clock-throttling
DE69516199T2 (de) * 1994-02-23 2000-09-21 Sun Microsystems Inc Verfahren und Anordnung zur Leistungseinsparung in einem Computersystem unter Benutzung eines Leistungssteuerungs-Pseudogeräte-Treibers
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
US5752050A (en) * 1994-10-04 1998-05-12 Intel Corporation Method and apparatus for managing power consumption of external devices for personal computers using a power management coordinator
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
US5721935A (en) * 1995-12-20 1998-02-24 Compaq Computer Corporation Apparatus and method for entering low power mode in a computer system
JP3344544B2 (ja) * 1996-10-22 2002-11-11 株式会社東芝 コンピュータシステム
US5905900A (en) * 1997-04-30 1999-05-18 International Business Machines Corporation Mobile client computer and power management architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152309A (ja) * 2002-10-31 2004-05-27 Lg Electron Inc コンピュータシステムの電源管理装置及び電源管理方法
JP4636302B2 (ja) * 2002-10-31 2011-02-23 エルジー エレクトロニクス インコーポレイティド コンピュータシステムの電源管理装置及び電源管理方法

Also Published As

Publication number Publication date
GB2354123B (en) 2003-03-05
AU4223799A (en) 1999-12-13
WO1999061974A1 (en) 1999-12-02
US6128745A (en) 2000-10-03
GB0028910D0 (en) 2001-01-10
TW460776B (en) 2001-10-21
GB2354123A (en) 2001-03-14

Similar Documents

Publication Publication Date Title
JP2002517032A (ja) 電力管理非活動監視のソフトウェア・エミュレーション
US6092209A (en) Method and apparatus for managing power consumption of peripheral devices of personal computers
US10592254B2 (en) Technologies for fast low-power startup of a computing device
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
US5638541A (en) System and method for managing power on desktop systems
US6266776B1 (en) ACPI sleep control
US5784628A (en) Method and system for controlling power consumption in a computer system
US6654895B1 (en) Adaptive power management in a computing system
US6301673B1 (en) Suspend/resume capability for a protected mode microprocessor
EP1228413B1 (en) Sleep state transitioning
US7353413B2 (en) Computer system power policy adjustment in response to an affirmative indication from a user
US5953536A (en) Software-implemented tool for monitoring power management in a computer system
US6467042B1 (en) Method and/or apparatus for lowering power consumption in a peripheral device
US6678831B1 (en) Managing power states in a computer system
US6018232A (en) Method of operating battery powered computing device with radio transmitter
US9152199B2 (en) Power state dependent wake-up alarm
US6523123B2 (en) Method and apparatus for providing intelligent power management
US8793697B2 (en) Method and system for scheduling requests in a portable computing device
JP5701399B2 (ja) 電力管理のためのシステム及び方法
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
JP2004530976A (ja) コンピュータデバイス上のソフトウェアアプリケーションの電力消費を管理する方法
KR20000010174A (ko) 웨이크 온 랜신호를 이용한 컴퓨터 시스템에서의 파워 제어방법및 그 장치
EP1329809B1 (en) Distributed computing system and method
US20060288349A1 (en) Programmable scheduling interval
US6477655B1 (en) System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090302

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616