(57)【要約】      （修正有）【課題】１つ以上のタスクに基づくコンピューティング・デバイスの電力状態の変化の遅延又は延期方法を提供する。【解決手段】方法は、コンピューティング・デバイスを第1の電力モードで動作させることを含むことができる。方法はまた、コンピューティング・デバイスのプロセッサにより、少なくとも1つの非対話式タスクを実行することを含むことができる。方法はまた、コンピューティング・デバイスのプロセッサにより、コンピューティング・デバイスを第2の電力モードにするよう求める要求を検出することを含むことができ、第2の電力モードは第1の電力モードよりも少ないシステム・リソースを消費する。方法は、非対話式タスクの完了又はオーバーライド・トリガー・イベントまで、コンピューティング・デバイスの第2の電力モードへの遷移を遅延することをさらに含むことができる。【選択図】図１
2014029719.tif 000002
【特許請求の範囲】
【請求項１】
第1の電力モードでコンピューティング・デバイスを動作させることと、
該コンピューティング・デバイスのプロセッサにより、少なくとも1つの非対話式タス
クを実行することと、
該コンピューティング・デバイスのプロセッサにより、該コンピューティング・デバイ
スを第2の電力モードに入れるよう求める要求を検出することであって、該第2の電力モー
ドが該第1の電力モードよりも少ないシステム・リソースを消費することと、
該非対話式タスクの完了又はオーバーライド・トリガー・イベントまで、該コンピュー
ティング・デバイスの該第2の電力モードへの該遷移を遅延することとを備え、
該コンピューティング・デバイスを該第2の電力モードに入れることを遅延することは
、該コンピューティング・デバイスを第3の電力モードに入れることを含み、該第3の電力
モードが、該第1の電力モードよりも少ないシステム・リソースを消費するが、該第2の電
力モードよりも多くのシステム・リソースを消費し、かつ該非対話式タスクの該実行を容
易にすることとを備える、方法。
【請求項２】
前記第1の電力モードが作業電力モードを含み、
前記第2の電力モードが、ランダム・アクセス・メモリ(RAM)電力モードへのサスペンド
を含む、請求項1記載の方法。
【請求項３】
前記非対話式タスクが、バックグラウンド・プロセスとして実行されるように構成され
たソフトウェア・アップデート・アクティビティを含む、請求項1記載の方法。
【請求項４】
遅延することが、
非対話式タスクの前記実行を完了するために必要なシステム・リソースの量を推定する
ことと、
システム・リソースの該推定量が1つ以上のシステム・リソースしきい値を超過するか
どうかを決定することと、
システム・リソースの該推定量が該システム・リソースしきい値(複数可)を超過する場
合、前記要求された非対話式タスクの実行を中止して、前記コンピューティング・デバイ
スを前記第2の電力モードに入れることとを含む、請求項1記載の方法。
【請求項５】
前記コンピューティング・デバイスの前記第2の電力モードへの前記遷移を遅延するこ
とが、
該コンピューティング・デバイスによるシステム・リソースの大幅な変化が生じたとき
を検出することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかど
うかを決定することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントである場合
、該コンピューティング・デバイスを該第2の電力モードに遷移することとを含む、請求
項1記載の方法。
【請求項６】
システム・リソースの大幅な変化が、前記コンピューティング・デバイスが第1のネッ
トワークを出て、第2のネットワークに加わることを含む、請求項5記載の方法。
【請求項７】
少なくとも1つの非対話式タスクを実行することは、少なくとも1つの所定のメモリ・ロ
ケーションに値を書き込むことを含み、該書き込まれた値は、非対話式タスクが実行中で
あること、及び、オーバーライド・トリガー・イベントがないので、該非対話式タスクの
実行が完了するまでの低減電力モードへの前記遷移の前記延期が望ましいことを指示する
、請求項1記載の方法。
【請求項８】
前記コンピューティング・デバイスの前記第2電力モードへの前記遷移を遅延すること
が、
非対話式タスクの前記実行を完了するために必要な時間の推定量を決定するためにメモ
リ・ロケーションを読み込むことと、
該非対話式タスクを完了するために必要な時間の該推定量がしきい値を超過するかどう
かを決定することと、
該しきい値が超過される場合、該コンピューティング・デバイスを該第2の電力モード
に遷移することと、
該しきい値が超過されない場合、前記要求された非対話式タスクを実行させ、該要求さ
れた非対話式タスクの該完了又はオーバーライド・トリガー・イベントまで、該コンピュ
ーティング・デバイスの該第2の電力モードへの該遷移を遅延することとを含む、請求項1
記載の方法。
【請求項９】
前記コンピューティング・デバイスを第2の電力モードに入れるよう求める要求を検出
した後、該コンピューティング・デバイスを前記第1の電力モードに入れるよう求める要
求を検出することと、
該コンピューティング・デバイスを該第1の電力モードに入れるよう求める該要求が、
前記非対話式タスクの前記完了又はオーバーライド・トリガー・イベントに先立ち生じる
場合、該コンピューティング・デバイスを第2の電力モードに入れるよう求める該要求を
撤回することとをさらに含む、請求項1記載の方法。
【請求項１０】
少なくとも1つの非対話式タスクを実行するように構成されたプロセッサ；及び
装置を、複数の電力モードのうちの1つで動作させること、
該装置を第1の電力モードの動作から第2の電力モードの動作に遷移するよう求める要求
を検出することであって、該第2の電力モードが該第1の電力モードよりも少ないシステム
・リソースを消費する電力モードを含むこと、
該非対話式タスクの完了又はオーバーライド・トリガー・イベントの発生まで、該装置
の該第2の電力モードへの該遷移を延期すること、及び
該装置の該第2の電力モードへの該遷移を延期する間、該装置を第3の電力モードに入れ
ることであって、該第3の電力モードが該第1の電力モードよりも少ないシステム・リソー
スを消費するが、該第2の電力モードよりも多くのシステム・リソースを消費し、該非対
話式タスクの該実行を容易にすること
を行うように構成された電力マネージャ
を備える、装置。
【請求項１１】
前記プロセッサが、前記非対話式タスクの前記完了が生じるときを前記電力マネージャ
に指示するように構成される、請求項10記載の装置。
【請求項１２】
非対話式タスクの前記実行を完了するために必要なシステム・リソースの元の推定量に
基づいて、該非対話式タスクの該完了又はオーバーライド・トリガー・イベントの前記発
生まで、該装置の前記第2の電力モードへの前記遷移を延期することを決定し、
非対話式タスクの前記実行を完了するために必要なシステム・リソースの更新された推
定量を提供し、
システム・リソースの該更新された推定量が1つ以上のシステム・リソースしきい値を
超過するかどうかを決定し、
システム・リソースの該更新された推定量が該システム・リソースしきい値(複数可)を
超過する場合、該非対話式タスクの該完了又はオーバーライド・トリガー・イベントの該
発生まで、該装置の該第2の電力モードへの該遷移を延期するかわりに、該装置を該第2の
電力モードに遷移するように構成される、請求項10記載の装置。
【請求項１３】
電力マネージャが、
システム・リソースの大幅な変化が生じたときを検出し、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかど
うか決定し、システム・リソースの該大幅な変化がオーバーライド・トリガー・イベント
である場合、前記装置を前記第2の電力モードに遷移するように構成される、請求項10記
載の装置。
【請求項１４】
システム・リソースの大幅な変化が、前記装置が無線ローカル・エリア・ネットワーク
を出て、セルラー・データ・ネットワークに加わることを含む、請求項13記載の装置。
【請求項１５】
プロセッサが、
前記装置により含まれるメモリの少なくとも1つの所定のメモリ・ロケーションに値を
書き込むように構成され、
該書き込まれた値が、非対話式タスクが実行中であること、及び、オーバーライド・ト
リガー・イベントがないので、該非対話式タスクの実行が完了するまでの低減電力モード
への前記遷移の前記延期が望ましいことを指示する、請求項10記載の装置。
【請求項１６】
前記電力マネージャが、
非対話式タスクの前記実行を完了するために必要な時間の推定量を決定するために前記
装置により含まれるメモリを読み込み、
該非対話式タスクを完了するために必要な時間の該推定量がしきい値を超過するかどう
かを決定し、
該しきい値が超過される場合、該装置を前記第2の電力モードに遷移し、
該しきい値が超過されない場合、前記要求された非対話式タスクを実行させ、該要求さ
れた非対話式タスクの該完了又はオーバーライド・トリガー・イベントの前記発生まで、
該装置の該第2の電力モードへの該遷移を遅延するように構成される、請求項10記載の装
置。
【請求項１７】
前記電力マネージャが、
前記第2の電力モードへの前記装置の前記遷移を遅延する間、前記コンピューティング
・デバイスを前記第1の電力モードに入れるよう求める要求を検出し、
該コンピューティング・デバイスを該第1の電力モードに入れるよう求める該要求が、
前記非対話式タスクの前記完了又はオーバーライド・トリガー・イベントに先立ち生じる
場合、該コンピューティング・デバイスを第2の電力モードに入れるよう求める該要求を
撤回するように構成される、請求項10記載の装置。
【請求項１８】
システム・リソースを管理するためのコンピュータ・プログラム製品であって、コンピ
ュータ可読媒体で有形に具現され、かつ実行されるとき、コンピューティング装置に、コ
ンピューティング・デバイスを第1の電力モードで動作させることと、
該コンピューティング・デバイスのプロセッサにより、少なくとも1つの非対話式タス
クを実行することと、
該コンピューティング・デバイスを第2の電力モードに入れるよう求める要求を検出す
ることであって、該第2の電力モードが該第1の電力モードよりも少ないシステム・リソー
スを消費する電力モードを含むことと、
該非対話式タスクの該完了又はオーバーライド・トリガー・イベントまで、該コンピュ
ーティング・デバイスの該第2の電力モードへの該遷移を遅延することと、
該装置の該第2の電力モードへの該遷移を延期する間、該装置を第3の電力モードに入れ
ることであって、該第3の電力モードが、該第1の電力モードよりも少ないシステム・リソ
ースを消費するが、該第2の電力モードよりも多くのシステム・リソースを消費し、該非
対話式タスクの該実行を容易にすることとを行わせるように構成される実行可能コードを
含む、前記コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
(技術分野)
本明細書は、コンピューティング・デバイスの電源管理に関し、さらに詳細には、コン
ピューティング・デバイスによって実行されている1つ以上のタスクに基づくコンピュー
ティング・デバイスの電力状態の変化の遅延又は延期に関する。
【背景技術】
【０００２】
(背景)
最新のコンピューティング・デバイス(たとえば、デスクトップ・コンピュータ、ラッ
プトップ、ネットブック、タブレット、スマートフォンなど)は、一般に、複数の電力モ
ード又は電力状態のうちの1つで動作することができる。それらの電力モードは、コンピ
ューティング・デバイスが完全に電力を供給されて作動可能である「作業(working)」電
力モードから、デバイスが完全に電源遮断されて作動不可能である「オフ(off)」電力モ
ードまで多岐にわたることがある。従来、この「作業」電力モードは、コンピューティン
グ・デバイスのデフォルトの動作モードである。しかし、それらの2つの電力モード(作業
及びオフ)の間に、省電力又は消費電力低減と引き換えに、一部の機能のパフォーマンス
特性をトレードオフする電力モードがある。
【０００３】
たとえば、コンピューティング・デバイスの低電力状態は、「スタンバイ(Standby)」
、「スリープ(Sleep)」、「サスペンド・トゥーRAM(Suspend to RAM)」、「サスペンド・
トゥー・メモリ(Suspend to Memory)」、又は「サスペンド(Suspend)」と呼ばれることが
ある。ACPI(Advanced Configuration and Power Interface)電力状態S3。そのような低電
力状態において、コンピューティング・デバイスの状態を復元するために必要とされるラ
ンダム・アクセス・メモリ(「RAM」)への電力供給に加えて、コンピューティング・デバ
イスは、マシンのすべての不必要な部分への電力を低減又は切断しようと試みる(たとえ
ば、ハードディスク(複数可)が回転を停止する、ディスプレイ・デバイスが暗転又は低電
力状態にされる、及び周辺デバイスが電力切断される)。そのような低電力状態は、多く
の場合、スタンバイ(Stand By)(Microsoft Windows 95- Server 2003オペレーティング・
システムを実行するコンピューティング・デバイスの場合)と呼ばれるか、若しくはスリ
ープ(Sleep)(Appleオペレーティング・システム、又はWindows Vista, Windows 7、Windo
ws Server 2008オペレーティング・システムを実行するコンピューティング・デバイスの
場合)、又はサスペンド(Suspend)(Linuxオペレーティング・システムを実行するコンピュ
ーティング・デバイスの場合)と呼ばれる。そのような状態において、コンピューティン
グ・デバイスの処理機能は、電源が遮断され、一部の少量の電力が、RAMの内容を保持し
て、コンピューティング・デバイスの低電力状態から通常の作業又は全電力状態への立ち
上げをサポートするために使用される。
【０００４】
コンピューティング・デバイスが、スタンバイ、スリープ、又はサスペンド・トゥーRA
M状態に入れられる場合、通常、消費電力は、デバイスが作業又は全電力モードにあると
きに消費される合計電力よりも約20%少ない。しかし、電力消費が作業電源モードと比較
して大幅に低減される一方で、スリープ電力モードは、作動状態が揮発性メモリから消去
されないように、揮発性メモリ(たとえば、RAM)を電力供給又はリフレッシュするため、
電力が常時供給されて消費されることを必要とする。
【０００５】
もう1つの例示的な実施態様において、コンピューティング・デバイスの低電力状態は
、「ハイバネート(Hibernate)」、「ハイバネーション(Hibernation)」、「セーフ・スリ
ープ(Safe Sleep)」、「サスペンド・トゥー・ディスク(Suspend to Disk)」、「サスペ
ンド・トゥー・ファイル(Suspend to File)」、又はACPI電力状態S4と呼ばれることがあ
る。そのような状態において、コンピューティング・デバイスのRAMの内容は、コンピュ
ーティング・デバイスの電源をオフにする前に、ファイルとして、又は別個のパーティシ
ョンで、ハードディスクのような不揮発性ストレージに書き込まれる。コンピューティン
グ・デバイスは、再始動されるとき、不揮発性メモリに書き込まれているデータを再ロー
ドして、ハイバネーションが呼び出された時点における状態に回復される。ハイバネーシ
ョンを使用可能にするために、ハードディスクは、RAMの交換不可能な内容すべてを格納
するのに十分な空きスペースを有する必要がある。
【０００６】
そのような低電力状態は、多くの場合、ハイバネート(Hibernate)(Microsoft Windows 
95 - Server 2003及びWindows 7オペレーティング・システムを実行するコンピューティ
ング・デバイスの場合)、ファスト・スリープ(Fast Sleep)(Microsoft Vistaオペレーテ
ィング・システムを実行するコンピューティング・デバイスの場合)、セーフ・スリープ(
Safe Sleep)(Appleオペレーティング・システムを実行するコンピューティング・デバイ
スの場合)、又はサスペンド・トゥー・ディスク(Suspend to Disk)(Linuxオペレーティン
グ・システムを実行するコンピューティング・デバイスの場合)と呼ばれる。コンピュー
ティング・デバイスが、ハイバネート、セーフ・スリープ、又はサスペンド・トゥー・デ
ィスク状態にされている場合、通常、消費電力は、デバイスが電源オフにされているとき
に消費される合計電力とほとんど変わりない。ハイバネートしてから後に再始動すること
は通常、終了して、その後起動し、実行していたすべてのプログラムを開始するよりも迅
速である。
【発明の概要】
【課題を解決するための手段】
【０００７】
(要旨)
1つの一般的態様によれば、方法は、コンピューティング・デバイスを第1の電力モード
で動作させることを含むことができる。方法はまた、コンピューティング・デバイスのプ
ロセッサにより、少なくとも1つの非対話式タスクを実行することを含むことができる。
方法はまた、コンピューティング・デバイスのプロセッサにより、コンピューティング・
デバイスを第2の電力モードにするよう求める要求を検出することを含むことができ、第2
の電力モードは第1の電力モードよりも少ないシステム・リソースを消費する。方法は、
非対話式タスクの完了又はオーバーライド・トリガー・イベントまで、コンピューティン
グ・デバイスの第2の電力モードへの遷移を遅延することをさらに含むことができる。
【０００８】
もう1つの一般的態様によれば、装置は、プロセッサ及び電力マネージャを含むことが
できる。プロセッサは、少なくとも1つの非対話式タスクを実行するものであってもよい
。電力マネージャは、装置を複数の電力モードのうちの1つで動作させることと、装置を
第1の電力モードの動作から第2の電力モードの動作に遷移するよう求める要求を検出する
ことであって、第2の電力モードが、第1の電力モードよりも少ないシステム・リソースを
消費する電力モードを含むことと、非対話式タスクの完了又はオーバーライド・トリガー
・イベントの発生まで、装置の第2の電力モードへの遷移を延期することとを行うように
構成されてもよい。
【０００９】
もう1つの一般的態様によれば、システム・リソースを管理するためのコンピュータ・
プログラム製品は、実行されるとき、コンピューティング装置に、第1の電力モードでコ
ンピューティング・デバイスを動作させるように構成される実行可能コードを含む。コー
ドはまた、デバイスに、少なくとも1つの非対話式タスクをコンピューティング・デバイ
スのプロセッサにより実行させることができる。コードは、実行されるとき、デバイスに
、コンピューティング・デバイスを第2の電力モードに入れるよう求める要求をさらに検
出させることができ、第2の電力モードは第1の電力モードよりも少ないシステム・リソー
スを消費する電力モードを含む。コードはまた、デバイスに、非対話式タスクの完了又は
オーバーライド・トリガー・イベントまで、コンピューティング・デバイスの第2の電力
モードへの遷移を遅延させることができる。コンピュータ・プログラム製品は、コンピュ
ータ可読媒体で有形に具現されてもよい。
【００１０】
1つ以上の実施態様の詳細は、添付の図面及び後段の説明に示される。その他の特徴は
、説明及び図面から、並びに特許請求の範囲から明らかとなろう。
【００１１】
コンピューティング・デバイスのシステム・リソースを管理するためのシステム及び/
又は方法は、図面の少なくとも1つに関連して概ね図示及び/又は説明されているが、特許
請求の範囲においてさらに完全に示されている。
【図面の簡単な説明】
【００１２】
【図１】開示される主題によるシステムの例示的な実施態様を示すブロック図である。
【００１３】
【図２】開示される主題によるシステムの例示的な実施態様を示す一連の図である。
【００１４】
【図３】開示される主題によるメモリ構造の例示的な実施態様を示す一連の図である。
【００１５】
【図４】開示される主題による技法の例示的な実施態様を示す流れ図である。
【００１６】
【図５】開示される主題によるシステムの装置の例示的な実施態様を示すブロック図である。
【発明を実施するための形態】
【００１７】
さまざまな図面において類似する参照記号は類似する要素を示す。
【００１８】
(詳細な説明)
図1は、開示される主題によるシステム100の例示的な実施態様を示すブロック図である
。さまざまな実施態様において、システム100は、ユーザ190により制御又は使用されるク
ライアント又はコンピューティング・デバイス102を含むことができる。一部の実施態様
において、コンピューティング・デバイス102は、デスクトップ・コンピュータ、ラップ
トップ、タブレット、スマートフォン、専用特殊コンピューティング・デバイス、又は情
報を処理するように構成されたその他のデバイスを含むことができる。
【００１９】
一部の実施態様において、コンピューティング・デバイス102は、アプリケーション140
又は非対話式タスク144などによって定義されるか又は含まれる命令などの命令を処理又
は実行するように構成されたプロセッサ110を含むことができる。コンピューティング・
デバイス102は、命令及び/又はデータを格納するように構成された1つ以上のメモリ要素1
12(たとえば、揮発性メモリ又は不揮発性メモリなど)を含むことができる。さまざまな実
施態様において、コンピューティング・デバイス102は、コンピューティング・デバイス1
02に電力を供給するように構成されたバッテリ116、又はその他の電源供給装置を含むこ
とができる。一部の実施態様において、コンピューティング・デバイス102は、外部電源1
82から電力を受信するように構成されてもよい。一部の実施態様において、コンピューテ
ィング・デバイス102は、情報をユーザ190にグラフィカルに表示するためのモニタ又はデ
ィスプレイ120を含むことができる。さまざまな実施態様において、その他のハードウェ
ア・コンポーネント118(たとえば、スピーカ、キーボード、タッチスクリーン、センサな
ど)は、コンピューティング・デバイス102に含まれてもよい。
【００２０】
また、一部の実施態様において、コンピューティング・デバイス102は、ネットワーキ
ング環境内のコンピューティング・デバイス102の動作を容易にするように構成された1つ
以上のネットワーク・インターフェイス114を含むことができる。さまざまな実施態様に
おいて、ネットワーク・インターフェイス114は、無線ネットワーク・インターフェイス
、有線ネットワーク・インターフェイス、無線ローカル・エリア・ネットワーク(WLAN)イ
ンターフェイス(たとえば、米国電気電子学会(IEEE:Institute of Electrical and Elect
ronics Engineers)無線ネットワーク規格802.11b, 802.11g, 802.11nなどに実質的に準拠
するインターフェイス)、又はセルラー・ネットワーク・インターフェイス(たとえば、符
号分割多元接続(CDMA:Code division multiple access)、2000 Global System for Mobil
e Communications(GSM)、3rd Generation Partnership Project (3GPP:第3世代移動体通
信システム標準化プロジェクト)、Long Term Evolution (LTE:Long Term Evolution)など
のセルラー通信規格に実質的に準拠するインターフェイス)、若しくはその他のネットワ
ーク・インターフェイス(たとえば、ブルートゥースなど)を含むことができる。上記の説
明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないことを理解された
い。
【００２１】
さまざまな実施態様において、コンピューティング・デバイス102は、1つ以上のタスク
(たとえば、アプリケーション140、非対話式タスク144など)を実行することができる。一
部の実施態様において、これらのタスクの一部は、ユーザ190との対話を伴うことができ
る。そのような対話式タスクは、アプリケーション140(たとえば、ワードプロセッサ、We
bブラウザなど)を含むことができる。逆に、その他のタスクは、ユーザ190対話を伴わな
くてもよいか、又は最小のユーザ対話を伴うことができる。これらの非対話式タスク114
及び146はまた、「バックグラウンド・タスク」又は「バックグラウンド・プロセス」と
呼ばれることもある。一般に、そのような非対話式タスク144は、「舞台裏で」実行し、
ユーザ190との対話がたとえあったとしてもほとんど必要とされないタスク又はプロセス
である。そのような非対話式タスク144は、ソフトウェアのアップデート、ファイルのダ
ウンロード、ロギング、システム監視、スケジューリングなどのようなタスクを含むこと
ができるが、これらに限定されることはない。
【００２２】
さまざまな実施態様において、タスクは、対話式(フォアグラウンド)と非対話式(バッ
クグラウンド)処理及び状況の間の状態を切り替えることができる。たとえば、アプリケ
ーション140(たとえば、音楽プレイヤー、ダウンロード・プログラムなど)は、対話式モ
ードで開始することができ、バックグラウンドつまり非対話式状態にされてもよく、その
時点においてタスクは非対話式タスク144と見なされてもよい。もう1つの実施態様におい
て、非対話式タスク144は、サブシステム124、コンポーネント、又はコンピューティング
・デバイス102によって実行されるその他のプロセス(たとえば、アップデート・マネージ
ャ122、オーディオ・マネージャ、ダウンロード・マネージャ、デジタル著作権マネージ
ャ、システム・スケジューラなど)によって開始されてもよい。そのようなものとして、
非対話式タスク144は、ユーザ190の知識又は対話がなくても行われ得る。また、非対話式
タスク144は、スケジュール、コンピューティング・デバイス102に内部のイベント(たと
えば、アプリケーション140からのエラー又はメッセージ、ネットワーク・インターフェ
イス114のようなハードウェア・コンポーネントからのメッセージなど)、又は外部イベン
ト(たとえば、ソフトウェア・アップデート通知、電源182の除去などのような、外部サー
バ184からのメッセージなど)に基づいて開始されてもよい。上記の説明がわずかな具体例
に過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００２３】
さまざまな実施態様において、コンピューティング・デバイス102は、1つ以上の電力モ
ード(たとえば、作業電力モード、サスペンド電力モード、(上記で説明されている)ACPI
電力モードなど)で動作するように構成されてもよい。そのような実施態様において、コ
ンピューティング・デバイス102は、第1の電力モード(たとえば、作業電力モード)から、
第2、第3、又はさらに第4の電力モード(たとえば、サスペンド電力モード、ハイバネーシ
ョン電力モード、オフ電力モードなど)に遷移するように構成されてもよい。同様に、コ
ンピューティング・デバイス102はまた、第2(又はその他の)電力モードから、第1の電力
モード又は別の電力モードに遷移するように構成されてもよい。
【００２４】
そのような実施態様において、コンピューティング・デバイス102に含まれる電力マネ
ージャ130は、2つの電力モードの間を変更するよう(たとえば、作業からサスペンド、オ
フから作業など)求める要求を(たとえば、ユーザ190、ネットワーク・インターフェイス1
14又はその他のソースなどから)受信することができる。従来、電力マネージャ130は、実
質的に瞬時に、又は意図的な遅延を生じることなく、コンピューティング・デバイス102
を要求された電力モードに入れることができる。しかし、示される実施態様において、電
力マネージャ130は、1つ以上の遅延条件に基づいて、電力モードの変更を意図的に遅らせ
ることができ、その条件の一部は後段でさらに詳細に説明される。
【００２５】
1つの実施態様において、コンピューティング・デバイス102は、非対話式タスク144を
実行することができる。示される実施態様において、非対話式タスク144は、アップデー
ト・マネージャ122によって開始されてもよい。そのような実施態様において、サーバ184
は、ソフトウェアの1つ以上の部分(たとえば、アプリケーション140など)がアップデート
を必要としていることをアップデート・マネージャ122に通知することができる。次いで
、アップデート・マネージャ122は、アップデート・タスク144を開始することができる。
このアップデート・タスク144は、ユーザ190による対話がたとえあったとしてもほとんど
必要としない非対話式プロセスであってもよい。そのような実施態様において、アップデ
ートは、ユーザ190によって直接認識されることもなく、又はユーザ190の介入も必要とせ
ずに、「バックグラウンド」で行われてもよい。そのような実施態様において、アップデ
ート・タスク144は、サーバ184から1つ以上のファイルをダウンロード又は転送すること(
Xfr)186を含むことができる。上記の説明が1つの具体例に過ぎず、開示される主題がこれ
らに限定されないことを理解されたい。
【００２６】
もう1つの実施態様において、その他の非対話式タスク146は、コンピューティング・デ
バイス102によって実行されてもよい。たとえば、1つの実施態様において、アプリケーシ
ョン140は、ファイル141のアップロード/ダウンロード、ファイル141の作成又は処理(た
とえば、ビデオ・エンコーディング、実行可能ファイルへのソースコードのコンパイルな
ど)、システムプロセス又はその他のアプリケーションの監視などのような、非対話式タ
スク146を開始することができる。上記の説明がわずかな具体例に過ぎず、開示される主
題がこれらに限定されないことを理解されたい。さらにもう1つの実施態様において、コ
ンピューティング・デバイス102によって含まれるもう1つのサブシステム124又はオペレ
ーティング・システム142は、非対話式タスク144を開始することができる。さまざまな実
施態様において、そのようなサブシステムは、入力デバイス・マネージャ、オーディオ・
マネージャ・サブシステム、デジタル著作権マネージャなどを含むことができる。たとえ
ば、オペレーティング・システム142は、メモリ112の使用量を低減するためにガーベッジ
・コレクションを開始することができるか、又はオーディオ・マネージャはサーバ184(た
とえば、インターネット無線局など)からオーディオ信号をストリーミングすることがで
きる。上記の説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないこ
とを理解されたい。
【００２７】
上記の説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないことを
理解されたいが、示される実施態様は、アップデート・マネージャ122によって開始され
たアップデート・プロセスの非対話式タスク144の例を使用して説明される。その他の非
対話式タスク146がその他の技術により開始されるか又は制御されてもよく、アップデー
ト・ソフトウェア以外のタスクはその他の実施態様に含まれてもよいことを理解されたい
。
【００２８】
示される実施態様において、アップデート・マネージャ122は、非対話式タスク144を開
始することができる。1つの実施態様において、アップデート・マネージャ122又はオペレ
ーティング・システム142は、非対話式タスク144がコンピューティング・デバイス102に
よって実行されていることを電力マネージャ130に通知することができる。図3を参照して
さらに詳細に説明されるが、図1の示される実施態様において、アップデート・マネージ
ャ122又はその他のコンポーネントは、電力マネージャ130のメモリ部分又はメモリ112の
部分に非対話式タスク144が実行されていることを指示するフラグ(たとえば、1ビット値
又はマルチビット値) 132を設定することができる。逆に、非対話式タスク144が完了した
か、又はもう実行されていない場合、フラグ132はクリアされてもよい。そのような実施
態様において、電力マネージャ130は、それぞれのフラグ132に関連付けられているタスク
のみに関わることができる。上記の説明が1つの具体例に過ぎず、開示される主題がこれ
らに限定されないことを理解されたい。
【００２９】
示される実施態様において、電力マネージャ130は、コンピューティング・デバイス102
を低減電力モードにするよう求める要求を検出又は受信することができる。コンピューテ
ィング・デバイス102は、すでに、作業電力モードのような第1の電力モードで動作してい
てもよい。低減電力モードは、第1又は作業電力モードよりも少ないシステム・リソース
を消費する電力モード(たとえば、サスペンド電力モード、又はハイバネーション電力モ
ードなど)を含むことができる。
【００３０】
このコンテキストにおいて、「システム・リソース」は、処理リソース(たとえば、プ
ロセッサ110により提供される)、メモリ使用量(メモリ112により提供される)、電力又は
電気消費(バッテリ116、又は外部電源182により提供される)、帯域幅使用、帯域幅コスト
(たとえば、転送される各メガバイトごとにユーザ190に費用がかかるなど)のようなネッ
トワーク・リソースなどを含む。さまざまな実施態様において、電力マネージャ130は、
コンピューティング・デバイス102が消費するか、又は所与の電力モード(たとえば、作業
電力モード)で消費する可能性の高いシステム・リソースの量を監視及び/又は予測するよ
うに構成されてもよい。また、電力マネージャ130は、コンピューティング・デバイス102
のさまざまなシステム・リソースのレベル(たとえば、バッテリ充電レベル、ユーザ190の
月間のネットワーク使用限度における残りの帯域幅の量など)を監視するか、又は認識さ
せられてもよい。
【００３１】
示される実施態様において、電力マネージャ130は、非対話式タスク144がコンピューテ
ィング・デバイス102によって実行されていることを検出することができる。電力マネー
ジャ130は、非対話式タスク144が完了するまで、コンピューティング・デバイス102を要
求された第2の電力モードに遷移することを遅らせることができる。そのような実施態様
において、コンピューティング・デバイス102は、非対話式タスク144が完了するまで、第
1又は作業電力モードに留まることができる。
【００３２】
一部の実施態様において、非対話式タスク144が完了する前に、電力マネージャ130が、
コンピューティング・デバイス102を第2又は低減電力モードに遷移した場合、非対話式タ
スク144は(全体又は部分的に)失敗することもある。たとえば、アップデート・タスク144
がファイルをダウンロードしている(転送186)場合、コンピューティング・デバイス102を
サスペンド電力モードに入れることは、ファイルがダウンロードされなくなるか、又は部
分的にダウンロードされたバージョンが破損される原因となり得る。そのような実施態様
において、コンピューティング・デバイス102が作業電力モードに再び入ると、アップデ
ート・マネージャ122は、ファイル全体が再度転送又はダウンロードされるように要求す
ることができる。そのような実施態様において、サスペンド電力モードの前に、中止又は
失敗したアップデート・ファイルを部分的にダウンロードするために使用されたシステム
・リソース(たとえば、ネットワーク帯域幅、ユーザ190ネットワーク使用限度など)は、
浪費されることになる。失敗したか又は部分的に完了した非対話式タスク144のその他の
形式、及びそのような失敗又は部分的完了の結果は、考慮されてもよい。上記の説明が1
つの具体例に過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００３３】
示される実施態様において、非対話式タスク144が完了するまで、コンピューティング
・デバイス102を要求された第2の電力モードに遷移することを遅らせることができる。一
部の実施態様において、非対話式タスク144、若しくは非対話式タスク144に関連付けられ
ているコンポーネント、サブシステム、又はプログラムは、非対話式タスク144が完了し
たときに電力マネージャ130に指示することができる。一部の実施態様において、これは
電力マネージャ130にメッセージを送信することを含むことができるか、又は別の実施態
様において、電力マネージャ130により定期的に検査されるメモリ・ロケーションに値を
書き込むか又はクリアすることを含むことができる。上記の説明がわずかな具体例に過ぎ
ず、開示される主題がこれらに限定されないことを理解されたい。
【００３４】
一部の実施態様において、非対話式タスク144の完了は、単に正常な完了とは対照的に
、完全又は部分的な失敗に終わることもある。たとえば、非対話式タスク144は、ネット
ワーク・リソース(たとえば、サーバ184など)からファイルを受信することを含むことが
できる。転送186中に、ネットワーク・リソース184は、使用不可能になり(サーバ184がク
ラッシュする、オフラインになるなど)、転送186を終了できないことにより、非対話式タ
スク144が失敗することもある。そのような実施態様において、電力マネージャ130は、非
対話式タスク144が完了したと見なし、次いで要求された第2の電力モードへのコンピュー
ティング・デバイス102の遷移を遅らせることを中断することができる。上記で説明され
るように、非対話式タスク144、若しくは非対話式タスク144に関連付けられているコンポ
ーネント、サブシステム、又はプログラムは、たとえば非対話式タスク144がその意図さ
れたタスクを正常に完了できなかった場合であっても、非対話式タスク144が完了したと
きに電力マネージャ130に指示することができる。上記の説明がわずかな具体例に過ぎず
、開示される主題がこれらに限定されないことを理解されたい。
【００３５】
1つの実施態様において、電力マネージャ130は、非対話式タスク144が実行されている
ことを検出し、且つコンピューティング・デバイス102が第1の電力モードと第2の電力モ
ードとの間の遷移を延期又は遅らせるのに十分なシステム・リソースを含むかどうかを決
定するように構成されてもよい。そのような実施態様において、電力マネージャ130は、1
つ以上のシステム・リソースしきい値又は規則134を含むことができる。1つの簡単な実施
態様において、電力マネージャ130は、コンピューティング・デバイス102が外部電源182(
たとえば、基本的に無制限の電力など)を使用している場合に第2の電力モードへの遷移が
遅延され得るが、コンピューティング・デバイス102がバッテリ116(たとえば、有限量の
電力など)を使用している場合には遷移が遅延されないことを指示するしきい値レベル又
は規則132を含むことができる。
【００３６】
その他の実施態様において、さらに複雑な規則又はしきい値132が、電力マネージャ130
によって採用されてもよい。たとえば、電力マネージャ130は、ネットワーク・インター
フェイスがWLAN接続(たとえば、定額制又は無料のネットワーク接続、中帯域幅又はスル
ープット接続など)又はセルラー・ネットワーク接続(たとえば、従量制又は高額ネットワ
ーク接続、低帯域幅又はスループット・ネットワーク接続など)を使用しているかどうか
を決定することができる。そのような実施態様において、電力マネージャ130は、提供さ
れるシステム・リソースのタイプ(たとえば、セルラーに対してWLANなど)、及び/又はシ
ステム・リソースの量(たとえば、外部電源184に対するバッテリ116、セルラー帯域幅使
用量制限など)、若しくはその他の要因(たとえば、ユーザ190のセルラー帯域幅使用量の
ような、システム・リソースの予想消費率、セルラー帯域幅使用量制限、及びセルラー帯
域幅使用量制限が更新されるまでの時間、低減電力モードが要求されてからの時間など)
に基づいてコンピューティング・デバイス102の遷移を遅延するかどうかを決定すること
ができる。上記の説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されな
いことを理解されたい。
【００３７】
一部の実施態様において、電力マネージャ130は、システム・リソースレベルをアクテ
ィブに監視して、低減電力モードへの遷移が遅延される期間中にそれらのシステム・リソ
ースレベルをしきい値134と比較することができる。そのような実施態様において、シス
テム・リソースレベルがしきい値レベル134を超過するか又は達する場合、電力マネージ
ャ130は、低減電力モードへの遷移の延期を中止して、その代わりにコンピューティング
・デバイス102を、非対話式タスク144が引き続き実行されているかどうかにはかかわりな
く低減電力モードに遷移するように構成されてもよい。
【００３８】
さまざまな実施態様において、そのようなイベント(たとえば、システム・リソースし
きい値を超過することなど)は、「オーバーライド・トリガー・イベント」という用語を
介して一般化されてもよい。このコンテキストにおいて、オーバーライド・トリガー・イ
ベント136は、電力マネージャ130によって監視又は受信される任意のイベントを含むこと
ができ、電力マネージャ130に低減電力モードへの遷移の延期を中止させる。そのような
オーバーライド・トリガー・イベント136は、システム・リソースレベルの変化、第1又は
第3の電力モードの要求、システム・エラー(たとえば、バッテリ118の損失/除去、メモリ
112のパリティ・エラーなど)、低減電力モード延期のユーザ190開始のオーバーライドな
どを含むことができるが、これらに限定されることはない。上記の説明がわずかな具体例
に過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００３９】
一部の実施態様において、オーバーライド・トリガー・イベント134を受信又は認識す
ると、電力マネージャ130は、実質的に瞬時に、又はさらなる異常な遅延を生じることな
く、コンピューティング・デバイスを低減電力モードに遷移することができる。たとえば
、(たとえば、動作状態、メモリ内容などの)情報を、目標又は新しい電力モードにより指
示されたストレージ媒体(たとえば、サスペンド電力モードの場合揮発性メモリ、ハイバ
ネーション電力モードの場合不揮発性メモリなど)に書き込むなど、電力モード間を遷移
するプロセスが通常、ある程度時間を要する場合があることを理解されたい。そのような
実施態様において、通常の遷移プロセスに含まれる遅延が生じることがある。
【００４０】
しかし、その他の実施態様において、電力マネージャ130は、オーバーライド・トリガ
ー・イベント134へのその反応を、オーバーライド・トリガー・イベント134の1つ以上の
タイプをそれぞれのアクションに関連付ける規則のセットに基づかせることができる。た
とえば、オーバーライド・トリガー・イベント134がしきい値134を下回るシステム・リソ
ースの減少に起因する場合、電力マネージャ130は、コンピューティング・デバイス102を
、上記で説明されるように、低減電力モードにすることができる。
【００４１】
逆に、オーバーライド・トリガー・イベント134が、コンピューティング・デバイスを
第1又は作業電力モードにするよう求める要求に起因する場合、電力マネージャ130は、コ
ンピューティング・デバイス102を低減電力モードにするよう求める以前の要求を無視又
は撤回し、低減電力モードの延期が、コンピューティング・デバイスが第1又は作業電力
モードのために除去されなかったことを意味するならば、コンピューティング・デバイス
102を作業電力モードのままにしておくことができる。さらにもう1つの実施態様において
、オーバーライド・トリガー・イベント134が、コンピューティング・デバイスを第3又は
ハイバネーション電力モードにするよう求める要求に起因する場合、電力マネージャ130
は、コンピューティング・デバイス102を第2又はサスペンド電力モードにするよう求める
以前の要求を無視又は撤回し、その代わりに、コンピューティング・デバイス102を新し
く要求された第3又はハイバネーション電力モードにすることを延期することができる。
そのような実施態様において、電力マネージャ130は、第3の電力モードへの遷移の延期が
生じ得るかどうかを再評価することができる。さまざまな実施態様において、電力マネー
ジャ130は、さまざまな電力モード又は電力モード遷移(たとえば、作業からサスペンド、
作業からハイバネーションなど)のためのさまざまなしきい値又は規則セットを含むこと
ができる。上記の説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されな
いことを理解されたい。
【００４２】
図3を参照して以下で説明されるように、電力マネージャ130は、要求された電力モード
への遷移を延期するかどうかについてのその決定を、少なくとも部分的に、非対話式タス
ク144に関連付けられているコンポーネント、サブシステム、又はプログラムによって提
供される情報に基づかせることができる。たとえば、さまざまな実施態様において、アッ
プデート・マネージャ122(又はその他の実施態様においてそれぞれのサブシステム)は、
非対話式タスク144が実行されていることだけではなく、その非対話式タスク144の予想さ
れる実行に関する情報もまた電力マネージャ130に指示することができる。一部の実施態
様において、アップデート・マネージャ122は、非対話式タスク144が完了するのに要する
時間(たとえば、秒単位、プロセッサ110クロック・サイクルなど)を電力マネージャ130に
指示することができるか、又は非対話式タスク144の実行が消費すると予想される1つ以上
のシステム・リソースの量(たとえば、帯域幅のメガバイト単位、プロセッサ110クロック
・サイクル、メモリ112使用量など)を指示することができる。さまざまな実施態様におい
て、それらの値は、フラグ又は値132に含まれるか、又はその一部であってもよい。上記
の説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないことを理解さ
れたい。
【００４３】
一部の実施態様において、非対話式タスク144に関連付けられているコンポーネント、
サブシステム、又はプログラムは、非対話式タスク144に関する推定又は情報が変化する
場合、電力マネージャ130を更新することができる。たとえば、1つの実施態様において、
非対話式タスク144を完了するための時間の推定は、増加又は減少されてもよい。同様に
、非対話式タスク144が完了するために要するシステム・リソースの量の推定は、調整又
は更新されてもよい。さまざまな実施態様において、電力マネージャ130はそのような更
新を要求することができる。次いで、電力マネージャ130は、更新された情報に基づいて
、遷移を延期する決定を再評価することができる。もう1つの実施態様において、非対話
式タスク144に関連付けられているコンポーネント、サブシステム、又はプログラムは、
非請求方式で更新情報を提供することができる。上記の説明がわずかな具体例に過ぎず、
開示される主題がこれらに限定されないことを理解されたい。
【００４４】
そのような実施態様において、電力マネージャ130は、指示されたシステム・リソース
使用量、完了までの時間、又は非対話式タスク144に関するその他の指示された情報を、
上記で説明されるように、1つ以上のしきい値134と比較することができる。たとえば、ア
ップデート・マネージャ122は、更新非対話式タスク144が10分後(たとえば、1GHzのサイ
クル周波数で6×1012サイクル)に完了すると予想されることを指示することができる。電
力マネージャ130は、低減電力モードに遷移するよう求める要求の受信に先立ち、更新非
対話式タスク144が8分間実行したこと、したがってさらに2分間の実行が予想されること
を決定することができる。次いで、電力マネージャ130は、事前定義済みのしきい値又は
規則134の範囲内で、低減電力モードの2分間の延期が許容可能であるかどうかを決定する
ことができる。もう1つの実施態様において、電力マネージャ130は、たとえば平均化プロ
セスによって、消費される可能性の高いシステム・リソースの量を計算又は推定し、その
システム・リソース消費量を事前定義済みのしきい値又は規則134と比較することができ
る。
【００４５】
さらにもう1つの実施態様において、アップデート・マネージャ122は、特定の量のデー
タ(たとえば、メガバイトで測定される)が更新非対話式タスク144によりダウンロードさ
れると予想されることを指示することができる。ここでもまた、電力マネージャ130は、
事前定義済みのしきい値又は規則134の範囲内で、システム・リソースのそのような消費
が許容されるかどうかを決定することができる。一部の実施態様において、電力マネージ
ャ130は、決定を指示されたシステム・リソース消費量の最大レベルに基づかせることが
できる。その他の実施態様において、電力マネージャ130は、その他の因子(たとえば、低
減電力モードに入る決定又は要求に先立つシステム・リソース消費量、たとえば110%の固
定乗数など)により変更されたシステム・リソース消費量の指示されたレベルに基づいて
システム・リソース消費量の予想されるレベルを調整することができる。一部の実施態様
において、指示エージェント(たとえば、アップデート・マネージャ122、オペレーティン
グ・システム142、サブシステム124など)は、システム・リソースが非対話式タスク144に
よって消費されるとシステム・リソース指示を更新することができる。上記の説明がわず
かな具体例に過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００４６】
そのような実施態様において、オーバーライド・トリガー・イベント136は、非対話式
タスク144によって消費されるか又は消費されると予想されるシステム・リソース(たとえ
ば、帯域幅、実行時間、電力など)の量がしきい値又は規則134を超過するという電力マネ
ージャ130の決定により作成されるか又は起因してもよい。この決定が行われるのは、第2
の電力モードの要求が受信された時点に限定されなくてもよい。そのような決定は、低減
電力モードの遷移の延期期間中に生じてもよい。
【００４７】
上記で説明されるように、オーバーライド・トリガー・イベント136の検出は、電力マ
ネージャ130に、要求された低減電力モード(たとえば、サスペンド電力モードなど)への
コンピューティング・デバイス102の遷移を開始させることができる。オーバーライド・
トリガー・イベント136が、低減電力モードへの遷移を遅延又は延期するかどうかの決定
中に生じる場合、電力マネージャ130は遷移を遅延しないよう決定することができる。上
記で説明されるように、さまざまな実施態様において、特定のオーバーライド・トリガー
・イベント134の発生(たとえば、第1の電力モードに再度入るよう求める要求)は、電力マ
ネージャ130に、要求された低減電力モードにコンピューティング・デバイス102を遷移す
る代わりに別のアクション(たとえば、低減電力モードに入るよう求める要求が撤回され
るなど)を実行させることができる。
【００４８】
さまざまな実施態様において、電力マネージャ130は、第2又は低減電力モード(たとえ
ば、サスペンド電力モードなど)への遷移が遅延又は延期される期間中に、コンピューテ
ィング・デバイス102を第3の電力モードに入れるか又は遷移することができる。そのよう
な実施態様において、第3の電力モード(たとえば、第2の電力モードがサスペンド電力モ
ードなどである場合、このコンテキストにおいて「疑似サスペンド電力モード」と呼ぶ)
は、第1の電力モード(たとえば、作業電力モードなど)よりも少ないが、要求された第2の
電力モード(たとえば、サスペンド電力モードなど)よりも少ないシステム・リソースを消
費する電力モードを含むことができる。
【００４９】
そのような実施態様において、電力マネージャ130は、第2の電力モードへのコンピュー
ティング・デバイス102の転換を要求することにより、ユーザ190がコンピューティング・
デバイス102の一部分を使用すること、又はコンピューティング・デバイス102の一部のパ
フォーマンスを変えることを望んでいないことを暗示することができる。1つの実施態様
において、電力マネージャ130は、コンピューティング・デバイス102の一部を第2の電力
モードに部分的又は選択的に遷移することができる。第2の電力モード(たとえば、サスペ
ンド電力モード)へのこの部分的又は選択的遷移は、第3の電力モード(たとえば、疑似サ
スペンド電力モード)と呼ばれてもよい。
【００５０】
さまざまな実施態様において、第3の電力モード及びコンピューティング・デバイス102
の一部の第2の電力モードへの選択的又は部分的な移行が事前定義されてもよい。もう1つ
の実施態様において、コンピューティング・デバイス102の一部の第2の電力モードへの選
択的又は部分的な移行は、非対話式タスク144により消費されると予想されるシステム・
リソースに基づいて動的に決定されてもよい。
【００５１】
特定の実施態様において、要求された第2の電力モードがサスペンド電力モードである
場合、電力マネージャ130は、ユーザ190がコンピューティング・デバイス102との対話を
もはや望んでいないことを暗示することができる。そのようなものとして、電力マネージ
ャ130は、コンピューティング・デバイスを第3又は疑似サスペンド電力モードに入れるこ
とができ、このモードではディスプレイ120及びオーディオ・サブシステム124などがオフ
にされるか、又は第2又はサスペンド電力モードと(それらのコンポーネントの)等価の電
力モードに入れられる。しかし、プロセッサ110、メモリ112、及び1つ以上のネットワー
ク・インターフェイス114のような、非対話式タスク144を実行するために必要であるか、
又は必要であると予想されるその他のコンポーネントは、第1又は作業電力モードに留ま
ることができる。そのようなものとして、第3又は疑似サスペンド電力モードはコンピュ
ーティング・デバイス102の第1の部分(たとえば、プロセッサ110など)が第1又は作業電力
モードで動作しており、コンピューティング・デバイス102の第2の部分(たとえば、ディ
スプレイ120など)が要求された第2又はサスペンド電力モードで動作している電力モード
を含むことができる。コンピューティング・デバイス102全体(上記で説明される第1及び
第2の部分)の、要求された第2又はサスペンド電力モードへの遷移は、上記で説明される
ように、非対話式タスク144又はオーバーライド・トリガー・イベント136の完了まで遅延
又は延期されてもよい。上記の説明が1つの具体例に過ぎず、開示される主題がこれらに
限定されないことを理解されたい。
【００５２】
さまざまな実施態様において、1つ以上の非対話式タスク144及び146は、コンピューテ
ィング・デバイス102によって実行されてもよい。そのような実施態様において、電力マ
ネージャ130は、第2の電力モードに入るよう求める要求を受信すると、1つ以上の実行中
タスク又はプロセスが、第2の電力モードへの遷移の遅延又は延期を生じさせ得るタスク
又はプロセスであるかどうかを検出又は決定することができる。上記で説明されるように
、1つの実施態様において、この検出はフラグ又はその他の値132によって支援されてもよ
い。少なくとも1つのタスク(たとえば、タスク144)が遅延を生じる場合、第2の電力モー
ドへの遷移は、上記で説明されるように遅延されてもよい。1つの実施態様において、電
力マネージャ130は、第2の電力モードへの遷移に遅延を生じることのないタスク又はプロ
セス(たとえば、アプリケーション140及びこの例示のタスク146)に、それぞれの実行を中
断又は一時停止させることができる。そのような実施態様において、それらの非遅延タス
ク又はプロセスの実行は、コンピューティング・デバイス102が第2の電力モードに入った
かのような場合と同様の方法で中断又は一時停止されてもよい。
【００５３】
1つの実施態様において、2つ以上の非対話式タスクが電力マネージャ130に第2の電力モ
ードへの遷移を遅延又は延期させることができる。1つの実施態様において、電力マネー
ジャ130は、デバイス102にとって使用可能なシステム・リソースの現行レベルがしきい値
134を下回り、オーバーライド・トリガー・イベント136が生成されるまで、すべての遅延
を生じる非対話式タスク(たとえば、タスク144及び146)が実行されることを単に許可する
ことができる。次いで、電力マネージャ130は、たとえ非対話式タスク144及び146の1つ以
上がその実行を終了していない場合であっても、上記で説明されるように、コンピューテ
ィング・デバイス102を要求された第2の電力モードに遷移することができる。逆に、オー
バーライド・トリガー・イベント136がまったく生成されない場合があり、また非対話式
タスクのすべてが完全に実行される場合があり、その時点において電力マネージャ103は
、上記で説明されるように、コンピューティング・デバイス102を要求された第2の電力モ
ードに遷移する。
【００５４】
もう1つの実施態様において、電力マネージャ130は、しきい値又は規則134及びタスク
の実行に伴う予想システム・リソース消費量を所与として、すべての、又は選択された少
数の遅延非対話式タスク144及び146が実行され得るか、又はまったく実行されないかを決
定するように構成されてもよい。電力マネージャ130は、オーバーライド・トリガー・イ
ベント136を生成する前に完了しないと予想される1つ以上のタスクの実行を(たとえば、
オペレーティング・システム142へのメッセージを介してなど)中断又は一時停止させるよ
うに構成されてもよい。そのような実施態様において、要求された第2の電力モードへの
コンピューティング・デバイス102の遷移が遅延される間に、残りの非対話式タスク144は
実行されてもよい。
【００５５】
そのような実施態様において、電力マネージャ130は、オーバーライド・トリガー・イ
ベント136(たとえば、実行を続行するにはシステム・リソースが少なすぎる、など)の生
成が発生するかどうかを決定するために、それぞれの非対話式タスクに関連付けられてい
る推定又は指示されたシステム・リソース消費量が検査される1つ以上の「what-if(起こ
り得る事態)」シナリオの結果を計算するように構成されてもよい。そのような実施態様
において、電力マネージャ130は、最多数の非対話式タスクがオーバーライド・トリガー
・イベント136を生成することなく完了できるようにする非対話式タスクの組み合わせを
実行するように選択することができる。しかし、その他の規則及び選択技法が、開示され
る主題の枠組みの範囲で採用されてもよい。
【００５６】
図2は、開示される主題によるシステムの例示的な実施態様のパフォーマンスを示す一
連のタイミング図である。示される実施態様において、システムは、図1のシステム100を
含むことができる。その他の実施態様において、コンピューティング・デバイス又はシス
テムは、その他のコンポーネントを含むことができるが、示されるか又は説明されるタイ
ミング図のうちの1つ以上に従って実行することができる。
【００５７】
タイミング図202は、1つの実施態様において、第2の電力モード(たとえば、サスペンド
電力モードなど)へのコンピューティング・デバイスの遷移が、遅延非対話式タスクの完
了まで遅延され得ることを示す。示される実施態様において、上記で説明されるように、
第1の電力モードは作業電力モードであり、第2の電力モードはサスペンド電力モードであ
り、第3の電力モードは疑似サスペンド電力モードである。上記の説明がわずかな具体例
に過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００５８】
バブル212は、1つの実施態様において、コンピューティング・デバイスが作業又は第1
の電力モードで動作していることを示す。バブル214は、1つの実施態様において、コンピ
ューティング・デバイスが引き続き作業電力モード内で動作している間に、非対話式タス
ク(たとえば、ソフトウェア・アップデートなど)が始動又は開始し得ることを示す。さま
ざまな実施態様において、アップデート・タスクの作成は、上記で説明されるように、遅
延非対話式タスクが実行していることをコンピューティング・デバイスの電力マネージャ
・サブシステムに指示することを含むことができる。一部の実施態様において、電力マネ
ージャはまた、上記で説明されるように、アップデート・タスクを完了するために必要な
システム・リソースの量又は時間の推定を、(たとえば、メモリ・ロケーションのエント
リなどを介して)受信するか又は利用できるようにすることができる。
【００５９】
バブル216は、1つの実施態様において、コンピューティング・デバイスを第2の電力モ
ード(たとえば、サスペンド電力モード)に遷移するか又は入れるよう求める要求が、行わ
れ得るか又は受信され得ることを示す。たとえば、ユーザは、専用のボタンを押して、ラ
ップトップ・コンピューティング・デバイスのふたを閉じるか、又は特定の期間にわたり
デバイスとの対話を行わないことなどにより、サスペンド電力モードへのエントリを要求
することができる。コンピューティング・デバイスは、上記で説明されるように、遅延非
対話式タスクがデバイスで実行していることを決定又は検出することができる。さまざま
な実施態様において、コンピューティング・デバイスは、上記で説明されるように、デバ
イスのシステム・リソースが、遅延非対話式タスクの完全な実行をサポートするのに十分
であるかどうかを決定することができる。
【００６０】
遅延非対話式タスクが実行を終了するまで、要求された第2の電力モードへの遷移が遅
延又は延期され得ることをコンピューティング・デバイスが決定する場合、第2の電力モ
ードへの遷移は遅延されてもよい。バブル218は、1つの実施態様において、上記で説明さ
れるように、コンピューティング・デバイスが第3の電力モード(たとえば、疑似サスペン
ド電力モード)に入り得ることを示す。たとえば、コンピューティング・デバイスのディ
スプレイ、人間による入力デバイスなどは、電源遮断されるか、又はサスペンド電力モー
ドにおけるコンポーネントの電力状態と実質的に等価の電力モードに入れられてもよい。
一方、コンピューティング・デバイスのさまざまな他のコンポーネント(たとえば、プロ
セッサ、メモリ、ネットワーク・インターフェイスなど)は、上記で説明されるように、
作業電力モードにおけるコンポーネントの電力状態と実質的に等価の電力モードに留まる
ことができる。
【００６１】
バブル220は、1つの実施態様において、コンピューティング・デバイス全体の第2又は
サスペンド電力モードへの完全な遷移が遅延又は延期されていた比較的イベントのない期
間の後、アップデート・タスクが自然にその実行を終了して完了し得ることを示す。バブ
ル222は、1つの実施態様において、上記で説明されるように、コンピューティング・デバ
イスが第1又は作業電力モードから第2又はサスペンド電力モードへのその遷移を完了し得
ることを示す。
【００６２】
タイミング図204は、1つの実施態様において、第2の電力モード(たとえば、サスペンド
電力モードなど)へのコンピューティング・デバイスの遷移が、遅延非対話式タスクの実
行にもかかわらず遅延されなくてもよいことを示す。示される実施態様において、上記で
説明されるように、第1の電力モードは作業電力モードであり、第2の電力モードはサスペ
ンド電力モードであり、第3の電力モードは疑似サスペンド電力モードである。上記の説
明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないことを理解された
い。
【００６３】
バブル212は、1つの実施態様において、コンピューティング・デバイスが作業又は第1
の電力モードで動作していることを示す。バブル214は、1つの実施態様において、コンピ
ューティング・デバイスが引き続き作業電力モード内で動作している間に、非対話式タス
ク(たとえば、ソフトウェア・アップデートなど)が始動又は開始し得ることを示す。さま
ざまな実施態様において、アップデート・タスクの作成は、上記で説明されるように、遅
延非対話式タスクが実行していることをコンピューティング・デバイスの電力マネージャ
・サブシステムに指示することを含むことができる。一部の実施態様において、電力マネ
ージャはまた、上記で説明されるように、アップデート・タスクを完了するために必要な
システム・リソースの量又は時間の推定を、(たとえば、メモリ・ロケーションのエント
リなどを介して)受信するか又は利用できるようにすることができる。
【００６４】
バブル216は、1つの実施態様において、コンピューティング・デバイスを第2の電力モ
ード(たとえば、サスペンド電力モード)に遷移するか又は入れるよう求める要求が、行わ
れ得るか又は受信され得ることを示す。たとえば、ユーザは、専用のボタンを押して、ラ
ップトップ・コンピューティング・デバイスのふたを閉じるか、又は特定の期間にわたり
デバイスとの対話を行わないことなどにより、サスペンド電力モードへのエントリを要求
することができる。コンピューティング・デバイスは、上記で説明されるように、遅延非
対話式タスクがデバイスで実行していることを決定又は検出することができる。さまざま
な実施態様において、コンピューティング・デバイスは、上記で説明されるように、デバ
イスのシステム・リソースが、遅延非対話式タスクの完全な実行をサポートするのに十分
であるかどうかを決定することができる。
【００６５】
遅延非対話式タスクが実行を終了するまで、要求された第2の電力モードへの遷移が遅
延又は延期されないことをコンピューティング・デバイスが決定する場合、第2の電力モ
ードへの遷移は、上記で説明されるように、実質的に即時、又は非対話式アップデート・
タスクにかかわりなく生じてもよい。バブル230は、そのような実施態様において、アッ
プデート・タスクが早期に強制終了するか、又はその実行を中止させ得ることを示す。も
う1つの実施態様において、アップデート・タスクの実行は、第2又はサスペンド電力モー
ドによって指示されるように一時停止又はサスペンドされてもよい。しかし、示される実
施態様において、アップデート・タスクの実行をサスペンドすることは、アップデート・
タスクの失敗又は異常終了を生じる原因となる。バブル222は、1つの実施態様において、
上記で説明されるように、コンピューティング・デバイスが第1又は作業電力モードから
第2又はサスペンド電力モードへのその遷移を完了し得ることを示す。
【００６６】
タイミング図206は、1つの実施態様において、オーバーライド・トリガー・イベントが
非対話式タスクの実行により生じた遅延を中止するまで、第2の電力モード(たとえば、サ
スペンド電力モードなど)へのコンピューティング・デバイスの遷移が遅延され得ること
を示す。示される実施態様において、上記で説明されるように、第1の電力モードは作業
電力モードであり、第2の電力モードはサスペンド電力モードであり、第3の電力モードは
疑似サスペンド電力モードである。上記の説明がわずかな具体例に過ぎず、開示される主
題がこれらに限定されないことを理解されたい。
【００６７】
バブル212は、1つの実施態様において、コンピューティング・デバイスが作業又は第1
の電力モードで動作していることを示す。バブル214は、1つの実施態様において、コンピ
ューティング・デバイスが引き続き作業電力モード内で動作している間に、非対話式タス
ク(たとえば、ソフトウェア・アップデートなど)が始動又は開始し得ることを示す。さま
ざまな実施態様において、アップデート・タスクの作成は、上記で説明されるように、遅
延非対話式タスクが実行していることをコンピューティング・デバイスの電力マネージャ
・サブシステムに指示することを含むことができる。一部の実施態様において、電力マネ
ージャはまた、上記で説明されるように、アップデート・タスクを完了するために必要な
システム・リソースの量又は時間の推定を、(たとえば、メモリ・ロケーションのエント
リなどを介して)受信するか又は利用できるようにすることができる。
【００６８】
バブル216は、1つの実施態様において、コンピューティング・デバイスを第2の電力モ
ード(たとえば、サスペンド電力モード)に遷移するか又は入れるよう求める要求が、行わ
れ得るか又は受信され得ることを示す。たとえば、ユーザは、専用のボタンを押して、ラ
ップトップ・コンピューティング・デバイスのふたを閉じるか、又は特定の期間にわたり
デバイスとの対話を行わないことなどにより、サスペンド電力モードへのエントリを要求
することができる。コンピューティング・デバイスは、上記で説明されるように、遅延非
対話式タスクがデバイスで実行していることを決定又は検出することができる。さまざま
な実施態様において、コンピューティング・デバイスは、上記で説明されるように、デバ
イスのシステム・リソースが、遅延非対話式タスクの完全な実行をサポートするのに十分
であるかどうかを決定することができる。
【００６９】
遅延非対話式タスクが実行を終了するまで、要求された第2の電力モードへの遷移が遅
延又は延期され得ることをコンピューティング・デバイスが決定する場合、第2の電力モ
ードへの遷移は遅延されてもよい。バブル218は、1つの実施態様において、上記で説明さ
れるように、コンピューティング・デバイスが第3の電力モード(たとえば、疑似サスペン
ド電力モード)に入り得ることを示す。たとえば、コンピューティング・デバイスのディ
スプレイ、人間による入力デバイスなどは、電源遮断されるか、又はサスペンド電力モー
ドにおけるコンポーネントの電力状態と実質的に等価の電力モードに入れられてもよい。
一方、コンピューティング・デバイスのさまざまな他のコンポーネント(たとえば、プロ
セッサ、メモリ、ネットワーク・インターフェイスなど)は、上記で説明されるように、
作業電力モードにおけるコンポーネントの電力状態と実質的に等価の電力状態に留まるこ
とができる。
【００７０】
バブル240は、1つの実施態様において、オーバーライド・トリガー・イベントが発生し
、コンピューティング・デバイスによって検出され得ることを示す。そのような実施態様
において、バブル214において開始されたアップデート・タスクは、引き続き実行しても
よい。さまざまな実施態様において、オーバーライド・トリガー・イベントは、上記で説
明されるように、システム・リソースの変化(たとえば、WLANへの参加の中止、及びセル
ラー・データ・ネットワークへの参加の開始など)、しきい値を超過すること(たとえば、
しきい値に従って、アップデート・タスクが完了に分数を要し過ぎる、など)、又はその
他のトリガー・イベントによって引き起こされてもよい。上記の説明がわずかな具体例に
過ぎず、開示される主題がこれらに限定されないことを理解されたい。
【００７１】
上記で説明されるように、さまざまな実施態様において、コンピューティング・デバイ
スがオーバーライド・トリガー・イベントを検出する場合、第2の電力モードへの遷移は
、上記で説明されるように、実質的に即時、又は非対話式アップデート・タスクにかかわ
りなく生じてもよい。バブル230は、そのような実施態様において、アップデート・タス
クが早期に強制終了するか、又はその実行を中止させ得ることを示す。もう1つの実施態
様において、アップデート・タスクの実行は、第2又はサスペンド電力モードによって指
示されるように一時停止又はサスペンドされてもよい。しかし、示される実施態様におい
て、アップデート・タスクの実行をサスペンドすることは、アップデート・タスクの失敗
又は異常終了を生じる原因となる。上記の説明が1つの具体例に過ぎず、開示される主題
がこれらに限定されないことを理解されたい。バブル222は、1つの実施態様において、上
記で説明されるように、コンピューティング・デバイスが第1又は作業電力モードから第2
又はサスペンド電力モードへのその遷移を完了し得ることを示す。
【００７２】
タイミング図208は、1つの実施態様において、オーバーライド・トリガー・イベントが
非対話式タスクの実行により生じた遅延を中止するまで、第2の電力モード(たとえば、サ
スペンド電力モードなど)へのコンピューティング・デバイスの遷移が遅延され得ること
を示す。しかし、示される実施態様において、オーバーライド・トリガー・イベントは、
要求された第2の電力モードへのコンピューティング・デバイスのエントリ又は遷移を生
じさせることはない。示される実施態様において、上記で説明されるように、第1の電力
モードは作業電力モードであり、第2の電力モードはサスペンド電力モードであり、第3の
電力モードは疑似サスペンド電力モードである。上記の説明がわずかな具体例に過ぎず、
開示される主題がこれらに限定されないことを理解されたい。
【００７３】
バブル212は、1つの実施態様において、コンピューティング・デバイスが作業又は第1
の電力モードで動作していることを示す。バブル214は、1つの実施態様において、コンピ
ューティング・デバイスが引き続き作業電力モード内で動作している間に、非対話式タス
ク(たとえば、ソフトウェア・アップデートなど)が始動又は開始し得ることを示す。さま
ざまな実施態様において、アップデート・タスクの作成は、上記で説明されるように、遅
延非対話式タスクが実行していることをコンピューティング・デバイスの電力マネージャ
・サブシステムに指示することを含むことができる。一部の実施態様において、電力マネ
ージャはまた、上記で説明されるように、アップデート・タスクを完了するために必要な
システム・リソースの量又は時間の推定を、(たとえば、メモリ・ロケーションのエント
リなどを介して)受信するか又は利用できるようにすることができる。
【００７４】
バブル216は、1つの実施態様において、コンピューティング・デバイスを第2の電力モ
ード(たとえば、サスペンド電力モード)に遷移するか又は入れるよう求める要求が、行わ
れ得るか又は受信され得ることを示す。たとえば、ユーザは、専用のボタンを押して、ラ
ップトップ・コンピューティング・デバイスのふたを閉じるか、又は特定の期間にわたり
デバイスとの対話を行わないことなどにより、サスペンド電力モードへのエントリを要求
することができる。コンピューティング・デバイスは、上記で説明されるように、遅延非
対話式タスクがデバイスで実行していることを決定又は検出することができる。さまざま
な実施態様において、コンピューティング・デバイスは、上記で説明されるように、デバ
イスのシステム・リソースが、遅延非対話式タスクの完全な実行をサポートするのに十分
であるかどうかを決定することができる。
【００７５】
遅延非対話式タスクが実行を終了するまで、要求された第2の電力モードへの遷移が遅
延又は延期され得ることをコンピューティング・デバイスが決定する場合、第2の電力モ
ードへの遷移は遅延されてもよい。バブル218は、1つの実施態様において、上記で説明さ
れるように、コンピューティング・デバイスが第3の電力モード(たとえば、疑似サスペン
ド電力モード)に入り得ることを示す。たとえば、コンピューティング・デバイスのディ
スプレイ、人間による入力デバイスなどは、電源遮断されるか、又はサスペンド電力モー
ドにおけるコンポーネントの電力状態と実質的に等価の電力モードに入れられてもよい。
一方、コンピューティング・デバイスのさまざまな他のコンポーネント(たとえば、プロ
セッサ、メモリ、ネットワーク・インターフェイスなど)は、上記で説明されるように、
作業電力モードにおけるコンポーネントの電力状態と実質的に等価の電力モードに留まる
ことができる。
【００７６】
バブル250は、1つの実施態様において、オーバーライド・トリガー・イベントが発生し
、コンピューティング・デバイスによって検出され得ることを示す。そのような実施態様
において、バブル214において開始されたアップデート・タスクは、引き続き実行されて
もよい。示される実施態様において、オーバーライド・トリガー・イベントは、作業電力
モードに再度入るよう求める要求を含むことができる。さまざまな実施態様において、コ
ンピューティング・デバイスが、サスペンド電力モードに遷移しないか、又はサスペンド
電力モードに遷移するよう求める要求(バブル216で受信された要求)を撤回する、その他
のオーバーライド・トリガー・イベントが発生してもよい。そのようなオーバーライド・
トリガー・イベントの例としては、他の電力モードに遷移するよう求める要求、回復不可
能なハードウェア障害(たとえば、バッテリの除去又は損失、プロセッサ温度イベントな
ど)、以前要求された第2の電力モードへの遷移をやめるユーザ開始のコマンドなどを含む
ことができるが、これらには限定されない。上記の説明がわずかな具体例に過ぎず、開示
される主題がこれらに限定されないことを理解されたい。
【００７７】
バブル252は、1つの実施態様において、コンピューティング・デバイスが、要求された
作業電力モードに遷移し得ることを示す。これは、以前要求されたサスペンド電力モード
(バブル216)に決して完全には遷移しないことを含むことができる。一部の実施態様にお
いて、コンピューティング・デバイスは、以前要求されたサスペンド電力モードへの遷移
が遅延されたので、引き続き作業電力モード内で動作してもよい。そのような実施態様に
おいて、コンピューティング・デバイスは、疑似サスペンド電力モードから作業電力モー
ドに遷移しない。
【００７８】
上記で説明されるように、さまざまな実施態様において、コンピューティング・デバイ
スがオーバーライド・トリガー・イベントを検出する場合、第2の電力モードへの遷移は
、上記で説明されるように、実質的に即時、又は非対話式アップデート・タスクにかかわ
りなく生じてもよい。バブル230は、そのような実施態様において、アップデート・タス
クが早期に強制終了するか、又はその実行を中止させ得ることを示す。もう1つの実施態
様において、アップデート・タスクの実行は、第2又はサスペンド電力モードによって指
示されるように一時停止又はサスペンドされてもよい。しかし、示される実施態様におい
て、アップデート・タスクの実行をサスペンドすることは、アップデート・タスクの失敗
又は異常終了を生じる原因となる。上記の説明が1つの具体例に過ぎず、開示される主題
がこれらに限定されないことを理解されたい。バブル222は、1つの実施態様において、上
記で説明されるように、コンピューティング・デバイスが第1又は作業電力モードから第2
又はサスペンド電力モードへのその遷移を完了し得ることを示す。
【００７９】
バブル220は、1つの実施態様において、(バブル250のトリガー・イベントがアップデー
ト・タスクの実行に実質的に影響を与えていないので)比較的イベントのない期間の後、
アップデート・タスクがその実行を終了して完了し得ることを示す。示される実施態様に
おいて、アップデート・タスクの実行中に、第2又はサスペンド電力モードへのコンピュ
ーティング・デバイスの完全な遷移は最初に遅延又は延期され、次いで、上記で説明され
るように、作業電力モードに再度入るよう求める要求により破棄された。
【００８０】
図3は、開示される主題によるメモリ構造の例示的な実施態様を示す一連の図である。
さまざまな実施態様において、メモリ構造は、コンピューティング・デバイスのメモリ内
に格納されてもよい。もう1つの実施態様において、メモリは、電力マネージャの一部と
して含まれてもよい。さらにもう1つの実施態様において、メモリ構造は、電力マネージ
ャ及びコンピューティング・デバイスの1つ以上のサブシステム又はコンポーネント(たと
えば、アップデート・マネージャ、オペレーティング・システムなど)のいずれにもアク
セス可能な所定のメモリ・ロケーションに格納されてもよい。
【００８１】
メモリ構造302は、1つの実施態様において、メモリが、フラグ、又は非対話式タスク・
フラグ312を格納するための実質的に1ビットのメモリ・ロケーションを含み得ることを示
す。そのような実施態様において、非対話式タスク・フラグ312は、非対話式タスクが実
行中であり、上記で説明されるように、可能であれば、低減電力モードへの遷移が遅延さ
れるべきであることを指示することができる。
【００８２】
メモリ構造304は、1つの実施態様において、メモリが、異なる非対話式タスクを表すよ
うに各々構成された、複数のフラグ(たとえば、フラグ314、314a、及び314nなど)を含み
得ることを示す。一部の実施態様において、各フラグ314、314aなどは、コンピューティ
ング・デバイスのそれぞれのサブシステム又はコンポーネントに関連付けられてもよい。
たとえば、アップデート・マネージャはフラグ314に関連付けられてもよく、フラグ314が
設定される場合、それはアップデート・タスクが実行中であることを指示する。同様に、
フラグ314aは、アプリケーション又はその他の対話式プロセス(たとえば、バックグラウ
ンド・プロセスを介するビデオ・ファイルのエンコード、ソースコードのコンパイル、大
容量ファイルのダウンロードなど)により開始された非対話式タスクに関連付けられても
よい。その他のフラグは、オペレーティング・システム、ファイル又はデータ同期プログ
ラム(たとえば、カレンダリング、オフライン電子メール、ファイル同期化など)、オーデ
ィオ再生又はストリーミング、若しくはコンピューティング・デバイスのさまざまなアプ
リケーション、サブシステム、又はコンポーネントなどに関連付けられてもよい。上記の
説明がわずかな具体例に過ぎず、開示される主題がこれらに限定されないことを理解され
たい。
【００８３】
一部の実施態様において、複数のフラグ314は、コンピューティング・デバイスの同じ
サブシステムに関連付けられてもよい。たとえば、一部の実施態様において、アップデー
ト・マネージャは、2つのフラグ314に関連付けられてもよい。特定の実施態様において、
アップデート・マネージャは、オペレーティング・システムに関するアップデートのため
に第1のフラグに関連付けられてもよく、アップデート・マネージャはまた、その他のソ
フトウェアファイルのアプリケーションに関するアップデートのために第2のフラグに関
連付けられてもよい。上記の説明が1つの具体例に過ぎず、開示される主題がこれらに限
定されないことを理解されたい。さまざまな実施態様において、コンピューティング・デ
バイスのサブシステムとフラグとの関連付けは、スコアボード・テーブル又はその他の関
連するメモリ構造(図示せず)を介して動的に割り振られ、管理されてもよい。
【００８４】
一部の実施態様において、メモリ構造304はまた、メモリ構造304に含まれているフラグ
314の数を指示するサイズ又はヘッダ・フィールド313を含むこともできる。もう1つの実
施態様において、ヘッダ・フィールド313は、含まれなくてもよいか(たとえば、フラグ31
4の数が固定され得る)、又は代替的に、終了フィールド(図示せず)がメモリ構造304の終
わりを指示するために採用されてもよい。上記の説明がわずかな具体例に過ぎず、開示さ
れる主題がこれらに限定されないことを理解されたい。
【００８５】
メモリ構造306は、1つの実施態様において、メモリが、フィールド316に関連付けられ
ている非対話式タスクがその実行を完了すると予想されるときに指示するフィールド又は
部分316を含み得ることを示す。上記で説明されるように、フィールド316の値は、たとえ
ば、タスクの最初の実行からの秒数、プロセッサ・サイクルの数、絶対時間(たとえば、
午後1:00など)などのようなさまざまな時間値で測定されてもよい。さまざまな実施態様
において、メモリ構造306は、それぞれの非対話式タスクに各々関連付けられている、複
数のそのようなフィールド316を含むことができる。もう1つの実施態様において、フィー
ルド316は、複数の非対話式タスクにより共有されてもよい。そのような実施態様におい
て、追加の非対話式タスクは、それらの推定完了時間を、フィールド316に格納されてい
る現行値に追加することができる。たとえば、第1のタスクが100プロセッサ・サイクルで
完了すると予想される場合、値100がフィールド316に入れられてもよい。第2のタスクは
、150プロセッサ・サイクル後に完了すると予想されてもよく、フィールド316の値は250
プロセッサ・サイクルに調整されてもよい。さまざまな実施態様において、フィールド31
6の値は、関連するタスク(複数可)が完了するか、又は実行されると、調整(たとえば、減
少など)されてもよい。
【００８６】
メモリ構造308は、1つの実施態様において、メモリが、1つ以上の非対話式タスク又は
サブシステムに関連付けられている複数のフィールドを含み得ることを示す。たとえば、
フラグ312は、関連する非対話式タスクがコンピューティング・デバイスによって実行中
であるか、又は実行されるべきであることを指示することができる。フィールド316は、
非対話式タスクを完了するために必要な時間の推定量を指示することができる。フィール
ド318は、関連する非対話式タスクの実行により消費される1つ以上のシステム・リソース
の推定を指示することができる。
【００８７】
一部の実施態様において、複数のフィールド312、316、及び318は、特定の非対話式タ
スクに関連付けられてもよい。もう1つの実施態様において、複数のフィールド312、316
、及び318は、特定のサブシステム(たとえば、アップデート・マネージャなど)に関連付
けられてもよく、したがって非対話式タスクのすべてがそのサブシステムによって開始さ
れてもよい。上記で説明されるように、それらの関連付けは、静的で、あらかじめ定めら
れるか、又は動的に割り当てられてもよい。
【００８８】
さまざまな実施態様において、メモリ構造306及び/又は308は、フラグ314のメモリ構造
304’の繰り返しと同様に、複数の関連する開始サブシステム又は関連する非対話式タス
クにわたり繰り返されるか、又は重複されてもよい。そのような実施態様において、関連
付けは動的に割り当てられてもよい。また、そのような実施態様において、追加のメモリ
・ロケーション又は要素は、遅延非対話式タスクが作成又は終了される際に、メモリ構造
に割り振られてもよい。そのような実施態様において、メモリ構造は、小型メモリ構造(
たとえば、フィールド312、316、及び318など)が大型メモリ構造内で繰り返し又は重複さ
れる回数を指示するヘッダー又はサイズ・フィールド313を含むことができる。
【００８９】
図4は、開示される主題による技法400の例示的な実施態様を示す流れ図である。さまざ
まな実施態様において、技法400は、図1又は図5におけるようなシステムにより使用又は
形成されてもよい。さらに、技法400の一部は、図2又は図3におけるようなイベント又は
メモリ構造を作成するために、システムにより使用又は形成されてもよい。開示される主
題が、技法400により示されるアクションの順序又は数に限定されないことを理解された
い。
【００９０】
ブロック402は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスが第1の電力モードで動作され得ることを示す。さまざまな実施態様におい
て、この第1の電力モードは、上記で説明されるように、作業電力モードを含むことがで
きる。さまざまな実施態様において、このブロックにより示されるアクション(複数可)の
1つ以上は、上記で説明されるように、図1又は図5の装置又はシステム、図1の電力マネー
ジャによって実行されてもよい。
【００９１】
ブロック404は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスが少なくとも1つの非対話式タスク又はバックグラウンド・プロセスを実行
し得ることを示す。さまざまな実施態様において、これは、上記で説明されるように、バ
ックグラウンド・プロセスとして実行するように構成されたソフトウェア・アップデート
アクティビティを含むことができる。一部の実施態様において、非対話式タスク又はバッ
クグラウンド・プロセスを実行することは、少なくとも1つの所定のメモリ・ロケーショ
ンに値を書き込むことを含むことができ、書き込まれた値は、非対話式タスクが実行中で
あること、及び、オーバーライド・トリガー・イベントがないので、非対話式タスクの実
行が完了するまでの低減電力モードへの遷移の延期が望ましいことを指示する。さまざま
な実施態様において、このブロックにより示されるアクション(複数可)の1つ以上は、上
記で説明されるように、図1又は図5の装置又はシステム、図1のアップデート・マネージ
ャ・サブシステム、オペレーティング・システム、又はアプリケーションによって実行さ
れてもよい。
【００９２】
ブロック406は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスを第2の電力モードに入れるよう求める要求が検出され得ることを示す。さ
まざまな実施態様において、この第2の電力モードは、上記で説明されるように、サスペ
ンド電力モードを含むことができる。さまざまな実施態様において、第2の電力モードは
、上記で説明されるように、第1の電力モードよりも少ないシステム・リソースを消費し
てもよい。さまざまな実施態様において、このブロックにより示されるアクション(複数
可)の1つ以上は、上記で説明されるように、図1又は図5の装置又はシステム、図1の電力
マネージャによって実行されてもよい。
【００９３】
ブロック408は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスの遷移を遅延又は延期することが望ましいかどうかについて決定が行われ得
ることを示す。さまざまな実施態様において、上記で説明されるように、この決定するこ
とは、要求された非対話式タスクを完了するために必要なシステム・リソースの量を推定
すること、及び推定されたシステム・リソースの量が1つ以上のシステム・リソースしき
い値を超過するかどうかを決定することを含むことができる。1つの実施態様において、
この決定することは、上記で説明されているように、非対話式タスクの実行が要求又は実
行されていることを指示する値がメモリ・ロケーションに格納されているかどうかを決定
するためにメモリ・ロケーションを読み込むことを含むことができる。一部の実施態様に
おいて、格納されている値は、上記で説明されるように、非対話式タスクの実行を完了す
るために必要な時間の量の推定を含むことができ、決定することは、非対話式タスクを完
了するために必要な時間の量の推定がしきい値を超過するかどうかを決定することを含む
ことができる。さまざまな実施態様において、このブロックにより示されるアクション(
複数可)の1つ以上は、上記で説明されるように、図1又は図5の装置又はシステム、図1の
電力マネージャによって実行されてもよい。
【００９４】
ブロック410は、1つの実施態様において、上記で説明されるように、非対話式タスク又
はオーバーライド・トリガー・イベントのいずれかが完了するまで、コンピューティング
・デバイスの第2の電力モードへの遷移が遅延又は延期され得ることを示す。1つの実施態
様において、コンピューティング・デバイスの第2の電力モードへの遷移を遅延すること
は、上記で説明されるように、非対話式タスクの完了のために推定されたシステム・リソ
ースの量(ブロック408を参照)又は非対話式タスクにより消費されるシステム・リソース
の量がシステム・リソースしきい値(複数可)を超過する場合、要求された非対話式タスク
の実行を中止すること、及びコンピューティング・デバイスを第2の電力モードに入れる
ことを含むことができる。さまざまな実施態様において、コンピューティング・デバイス
の第2の電力モードへの遷移を遅延することは、しきい値が超過される場合にコンピュー
ティング・デバイスを第2の電力モードに遷移することを含むことができる。加えて、シ
ステム・リソース又は完了時間に関するしきい値が超過されない場合、要求された非対話
式タスクは実行されてもよく、上記で説明されるように、要求された非対話式タスク又は
オーバーライド・トリガー・イベントのいずれかが完了するまで、コンピューティング・
デバイスの第2の電力モードへの遷移は遅延されてもよい。さまざまな実施態様において
、コンピューティング・デバイスの第2の電力モードへの遷移を遅延することは、上記で
説明されるように、システム・リソースに大幅な変化が生じたときを検出すること、シス
テム・リソースの大幅な変化がオーバーライド・トリガー・イベントであるかどうかを決
定すること、及びオーバーライド・トリガー・イベントが生じた場合、コンピューティン
グ・デバイスを第2の電力モードに遷移することを含むことができる。特定の実施態様に
おいて、システム・リソースの大幅な変化は、上記で説明されるように、コンピューティ
ング・デバイスが第1のネットワークを出て、第2のネットワークに加わることを含む。さ
らにもう1つの実施態様において、コンピューティング・デバイスの第2の電力モードへの
遷移を遅延することは、上記で説明されるように、コンピューティング・デバイスを第3
の電力モードに入れることを含むことができ、第3の電力モードは、第1の電力モードより
も少ないシステム・リソースを消費するが、第2の電力モードよりも多くのシステム・リ
ソースを消費し、非対話式タスクの実行を容易にする。さまざまな実施態様において、こ
のブロックにより示されるアクション(複数可)の1つ以上は、上記で説明されるように、
図1又は図5の装置又はシステム、図1の電力マネージャによって実行されてもよい。
【００９５】
ブロック412は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスが第2の電力モードに遷移され得るか、又は入れられ得ることを示す。一部
の実施態様において、これは、上記で説明されるように、第2の電力モードへの遷移を遅
延することが望ましくないために生じてもよい。もう1つの実施態様において、これは、
上記で説明されるように、非対話式タスクがその実行を完了したか、又はオーバーライド
・トリガー・イベントが発生したために生じてもよい。さまざまな実施態様において、こ
のブロックにより示されるアクション(複数可)の1つ以上は、上記で説明されるように、
図1又は図5の装置又はシステム、図1の電力マネージャによって実行されてもよい。
【００９６】
ブロック414は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスを第1の(又は別の)電力モードに入れるよう求める要求が検出され得ること
を示す。そのような実施態様において、この要求は、上記で説明されるように、非対話式
タスクの完了に先立って生じてもよい。さまざまな実施態様において、この要求は、上記
で説明されるように、オーバーライド・トリガー・イベントと見なされてもよい。さまざ
まな実施態様において、このブロックにより示されるアクション(複数可)の1つ以上は、
上記で説明されるように、図1又は図5の装置又はシステム、図1の電力マネージャによっ
て実行されてもよい。
【００９７】
ブロック416は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスを第2の電力モードに入れるよう求める要求が撤回又は無視され得ることを
示す。さまざまな実施態様において、このブロックにより示されるアクション(複数可)の
1つ以上は、上記で説明されるように、図1又は図5の装置又はシステム、図1の電力マネー
ジャによって実行されてもよい。
【００９８】
ブロック418は、1つの実施態様において、上記で説明されるように、コンピューティン
グ・デバイスが第1の電力モードに入れられ得るか、又は遷移され得ることを示す。その
ような実施態様において、これが行われ得るのは、たとえば上記で説明されるように、第
2の電力モードの延期中にコンピューティング・デバイスが第3の電力モードに入れられた
場合のような、コンピューティング・デバイスがまだ第1の電力モードではない場合に限
られる。さまざまな実施態様において、このブロックにより示されるアクション(複数可)
の1つ以上は、上記で説明されるように、図1又は図5の装置又はシステム、図1の電力マネ
ージャによって実行されてもよい。
【００９９】
図5は、本明細書において説明される技法と共に使用され得る、汎用コンピュータ・デ
バイス500及び汎用モバイル・コンピュータ・デバイス550の例を示す。コンピューティン
グ・デバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末
、サーバ、ブレード・サーバ、メインフレーム、及びその他の適切なコンピュータのよう
な、さまざまな形態のデジタル・コンピュータを表すことが意図される。コンピューティ
ング・デバイス550は、携帯情報端末、セルラー電話、スマートフォン、及びその他の類
似するコンピューティング・デバイスのような、さまざまな形態のモバイル・デバイスを
表すことが意図される。本明細書において示されるコンポーネント、それらの接続及び関
係、並びにそれらの機能は、例示として示されているに過ぎず、本書において説明及び/
又は記載される本発明の実施態様を限定することを意図されていない。
【０１００】
コンピューティング・デバイス500は、プロセッサ502、メモリ504、ストレージ・デバ
イス506、メモリ504及び高速拡張ポート510への高速インターフェイス508接続、並びに低
速バス514及びストレージ・デバイス506に接続する低速インターフェイス512を含む。コ
ンポーネント502、504、506、508、510、及び512の各々は、さまざまなバスを使用して相
互接続され、共通のマザーボード上に、又は必要に応じてその他の方法で、搭載されても
よい。プロセッサ502は、高速インターフェイス508に結合されたディスプレイ516のよう
な、外部入出力デバイス上のGUIにグラフィカル情報を表示するための、メモリ504又はス
トレージ・デバイス506に格納されている命令を含む、コンピューティング・デバイス500
内で実行するための命令を処理することができる。その他の実施態様において、複数のプ
ロセッサ及び/又は複数のバスが、必要に応じて、複数のメモリ及びメモリのタイプと共
に使用されてもよい。また、複数のコンピューティング・デバイス500は、各々のデバイ
スが必要な動作の一部を提供するように(たとえば、サーバ・バンク、ブレード・サーバ
のグループ、又はマルチプロセッサ・システムとして)、接続されてもよい。
【０１０１】
メモリ504は、コンピューティング・デバイス500内に情報を格納する。1つの実施態様
において、メモリ504は揮発性メモリ・ユニット(複数可)である。もう1つの実施態様にお
いて、メモリ504は不揮発性メモリ・ユニット(複数可)である。メモリ504はまた、磁気又
は光ディスクのような、別の形態のコンピュータ可読媒体であってもよい。
【０１０２】
ストレージ・デバイス506は、コンピューティング・デバイス500に大容量ストレージを
提供することができる。1つの実施態様において、ストレージ・デバイス506は、フロッピ
ー・ディスク・デバイス、ハードディスク・デバイス、光ディスク・デバイス、又はテー
プ・デバイス、フラッシュ・メモリ、又はその他の類似するソリッドステート・メモリ・
デバイス、若しくはストレージ・エリア・ネットワーク又はその他の構成のデバイスを含
むデバイスのアレイのような、コンピュータ可読媒体であってもよいか、又はコンピュー
タ可読媒体を含むことができる。コンピュータ・プログラム製品は、情報担体において有
形に具現されてもよい。コンピュータ・プログラム製品はまた、実行されるとき、上記で
説明されるような、1つ以上の方法を実行する命令を含むこともできる。情報担体は、メ
モリ504、ストレージ・デバイス506、又はプロセッサ502上のメモリのような、コンピュ
ータ又は機械可読の媒体である。
【０１０３】
高速コントローラ508は、コンピューティング・デバイス500の帯域幅集約的な動作を管
理し、低速コントローラ512は、あまり帯域幅集約的ではない動作を管理する。そのよう
な機能の割り振りは、例示的なものに過ぎない。1つの実施態様において、高速コントロ
ーラ508は、メモリ504、ディスプレイ516(たとえば、グラフィック・プロセッサ又はアク
セラレータを通じて)、及びさまざまな拡張カード(図示せず)を受け入れることができる
高速拡張ポート510に結合される。その実施態様において、低速コントローラ512は、スト
レージ・デバイス506及び低速拡張ポート514に結合される。さまざまな通信ポート(たと
えば、USB、ブルートゥース、イーサネット、無線イーサネット)を含むことができる低速
拡張ポートは、キーボード、ポインティング・デバイス、スキャナのような1つ以上の入
出力デバイス、若しくは、たとえばネットワーク・アダプタを通じてスイッチ又はルータ
のようなネットワーキング・デバイスに結合されてもよい。
【０１０４】
コンピューティング・デバイス500は、図面に示されるように、多数のさまざまな形態
で実施されてもよい。たとえば、コンピューティング・デバイス500は、標準サーバ520と
して実施されてもよいか、又はそのようなサーバのグループで複数回実施されてもよい。
またラック・サーバ・システム524の一部として実施されてもよい。加えて、コンピュー
ティング・デバイス500は、ラップトップ・コンピュータ522のような、パーソナル・コン
ピュータで実施されてもよい。或いは、コンピューティング・デバイス500からのコンポ
ーネントは、デバイス550のようなモバイル・デバイス(図示せず)のその他のコンポーネ
ントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティング・デバ
イス500、550の1つ以上を含むことができ、システム全体は、相互に通信する複数のコン
ピューティング・デバイス500、550で構成されてもよい。
【０１０５】
コンピューティング・デバイス550は、他のコンポーネントの中でも特に、プロセッサ5
52、メモリ564、ディスプレイ554のような入出力デバイス、通信インターフェイス566、
及び送受信機568を含む。デバイス550はまた、追加のストレージを提供するため、マイク
ロドライブ又はその他のデバイスのようなストレージ・デバイスが設けられてもよい。コ
ンポーネント550、552、564、554、566、及び568の各々は、さまざまなバスを使用して相
互接続され、いくつかのコンポーネントは、共通のマザーボード上に、又は必要に応じて
その他の方法で、搭載されてもよい。
【０１０６】
プロセッサ552は、メモリ564に格納されている命令を含む、コンピューティング・デバ
イス550内の命令を実行することができる。プロセッサは、個別及び複数のアナログ及び
デジタル・プロセッサを含むチップのチップセットとして実施されてもよい。プロセッサ
は、たとえば、ユーザインターフェイスの制御、デバイス550により実行されるアプリケ
ーション、デバイス550による無線通信のような、デバイス550のその他のコンポーネント
の調整をもたらすことができる。
【０１０７】
プロセッサ552は、ディスプレイ554に結合された制御インターフェイス558及びディス
プレイ・インターフェイス556を通じてユーザと通信することができる。ディスプレイ554
は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ:Thin-Film-Transistor Liqu
id Crystal Display)又はOLED(有機発光ダイオード:Organic Light Emitting Diode)ディ
スプレイであってもよいか、又はその他の適切なディスプレイ技術であってもよい。ディ
スプレイ・インターフェイス556は、グラフィカル及びその他の情報をユーザに提示する
ためにディスプレイ554を駆動する適切な回路を備えることができる。制御インターフェ
イス558は、ユーザからコマンドを受信して、それらをプロセッサ552への送信のために変
換する。加えて、プロセッサ552と通信する外部インターフェイス562は、デバイス550の
その他のデバイスとの近隣エリア通信を可能にするように提供される。外部インターフェ
イス562は、たとえば、一部の実施態様において有線通信、又はその他の実施態様におい
て無線通信のために提供することができ、複数のインターフェイスが使用されてもよい。
【０１０８】
メモリ564は、コンピューティング・デバイス550内に情報を格納する。メモリ564は、
コンピュータ可読媒体(複数可)、揮発性メモリ・ユニット(複数可)、又は不揮発性メモリ
・ユニット(複数可)のうちの1つ以上として実施されてもよい。拡張メモリ574もまた提供
されて、たとえばSIMM(Single In Line Memory Module)カード・インターフェイスを含む
ことができる拡張インターフェイス572を通じてデバイス550に接続されてもよい。そのよ
うな拡張メモリ574は、デバイス550に特別なストレージ・スペースをもたらすことができ
るか、又はデバイス550のアプリケーション又はその他の情報を格納することもできる。
具体的には、拡張メモリ574は、上記で説明されるプロセスを実行又は補足するための命
令を含むことができ、安全な情報も含むことができる。従って、たとえば、拡張メモリ57
4は、デバイス550のセキュリティ・モジュールとして提供されてもよく、デバイス550の
安全な使用を可能にする命令でプログラムされてもよい。加えて、安全なアプリケーショ
ンは、ハッキング不可能な方法でSIMMカード上に識別情報を置くことなど、追加の情報と
共にSIMMカードを介して提供されてもよい。
【０１０９】
メモリは、以下で説明されるように、たとえば、フラッシュ・メモリ及び/又はNVRAMメ
モリを含むことができる。1つの実施態様において、コンピュータ・プログラム製品は、
情報担体において有形に具現されてもよい。コンピュータ・プログラム製品は、実行され
るとき、上記で説明されるような、1つ以上の方法を実行する命令を含む。情報担体は、
メモリ564、拡張メモリ574、又はプロセッサ552上のメモリのような、たとえば送受信機5
68又は外部インターフェイス562を介して受信され得るコンピュータ又は機械可読の媒体
である。
【０１１０】
デバイス550は、必要に応じてデジタル信号処理回路を含むことができる通信インター
フェイス566を通じて無線で通信することができる。通信インターフェイス566は、特に、
GSMボイスコール、SMS、EMS、又はMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA20
00、又はGPRSのような、さまざまなモード又はプロトコルの下での通信をもたらすことが
できる。そのような通信は、たとえば、無線周波数送受信機568を通じて行うことができ
る。加えて、ブルートゥース、WiFi、又はその他のそのような送受信機(図示せず)を使用
するなど、狭域通信が行われてもよい。加えて、GPS(全地球測位システム:Global Positi
oning System)受信機モジュール570は、追加のナビゲーション及びロケーション関連の無
線データをデバイス550に提供することができ、このデータは、デバイス550で稼働するア
プリケーションにより適切に使用されてもよい。
【０１１１】
デバイス550はまた、ユーザからの口頭の情報を受信して、それを使用可能なデジタル
情報に変換することができるオーディオ・コーデック560を使用して、音声で通信するこ
ともできる。オーディオ・コーデック560は、同様に、デバイス550のハンドセットのスピ
ーカを通じてなど、ユーザに可聴音を生成することができる。そのような音声は、音声電
話コールからの音声を含むことができ、録音済み音声(たとえば、ボイス・メッセージ、
音楽ファイルなど)を含むことができ、またデバイス550で動作するアプリケーションによ
り生成される音声を含むこともできる。
【０１１２】
コンピューティング・デバイス550は、図面に示されるように、多数のさまざまな形態
で実施されてもよい。たとえば、コンピューティング・デバイス550は、セルラー電話580
として実施されてもよい。また、コンピューティング・デバイス550は、スマートフォン5
82、携帯情報端末、又はその他の類似するモバイル・デバイスの一部として実施されても
よい。
【０１１３】
本明細書において説明されるシステム及び技法のさまざまな実施態様は、デジタル電子
回路、集積回路、専用に設計されたASIC(特殊用途向け集積回路)、コンピュータ・ハード
ウェア、ファームウェア、及び/又はその組み合わせにおいて実現されてもよい。それら
のさまざまな実施態様は、ストレージ・システム、少なくとも1つの入力デバイス、及び
少なくとも1つの出力デバイスとの間でデータ及び命令を受信及び送信するために結合さ
れた、特殊又は汎用用途であってもよい、少なくとも1つのプログラマブル・プロセッサ
を含むプログラマブル・システムで実行可能及び/又は解釈可能である1つ以上のコンピュ
ータ・プログラムにおける実施態様を含むことができる。
【０１１４】
それらのコンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプ
リケーション、又はコードとしても知られる)は、プログラマブル・プロセッサのための
機械命令を含み、高水準プロシージャ型及び/又はオブジェクト指向プログラミング言語
、及び/又はアセンブリ/機械言語で実施されてもよい。本明細書において使用されるよう
に「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号
として受信する機械可読媒体を含む、プログラマブル・プロセッサに機械命令及び/又は
データを提供するために使用される、任意のコンピュータ・プログラム製品、装置及び/
又はデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバ
イス(PLD:Programmable Logic Device))を示す。「機械可読信号」という用語は、機械命
令及び/又はデータをプログラマブル・プロセッサに提供するために使用される任意の信
号を示す。
【０１１５】
ユーザとの対話を提供するため、本明細書において説明されるシステム及び技法は、情
報をユーザに表示するためのディスプレイ・デバイス(たとえば、CRT(陰極線管:cathode 
ray tube)又はLCD(液晶ディスプレイ:liquid crystal display)モニタ)、並びにユーザが
入力をコンピュータに提供することができるキーボード及びポインティング・デバイス(
たとえば、マウス又はトラックボール)を有するコンピュータで実施されてもよい。その
他の種類のデバイスがユーザとの対話を提供するために使用されてもよく、たとえば、ユ
ーザに提供されるフィードバックは任意の形態の感知フィードバック(たとえば、視覚フ
ィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、ユーザ
からの入力は、音響、音声、又は触覚入力を含む任意の形態で受信されてもよい。
【０１１６】
コンピューティング・システムは、クライアント及びサーバを含むことができる。クラ
イアント及びサーバは一般に、相互に離れており、通常は通信ネットワークを通じて対話
する。クライアントとサーバの関係は、それぞれのコンピュータで稼働し、相互にクライ
アント-サーバの関係を有するコンピュータ・プログラムにより生じる。
【０１１７】
いくつかの実施態様が説明された。しかし、本発明の精神及び範囲を逸脱することなく
さまざまな変更が行われてもよいことが理解されよう。
【０１１８】
加えて、図面に示される論理フローは、所望の結果を達成するために、示されている特
定の順序、又は一連の順序を必要とはしない。加えて、その他のステップが提供されても
よいか、又は説明されているフローからステップが除去されてもよく、説明されているシ
ステムにその他のコンポーネントが追加されてもよいか、又は削除されてもよい。したが
って、その他の実施態様は、後段の特許請求の範囲に含まれる。
【図１】
2014029719.tif 000003
【図２】
2014029719.tif 000004
【図３】
2014029719.tif 000005
【図４】
2014029719.tif 000006
【図５】
2014029719.tif 000007
【手続補正書】
【提出日】平成25年10月2日(2013.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第1の電力モードでコンピューティング・デバイスを動作させることと、
該コンピューティング・デバイスのプロセッサにより、少なくとも1つの非対話式タスクを実行することと、
該コンピューティング・デバイスのプロセッサにより、該コンピューティング・デバイスを第2の電力モードに入れるよう求める要求を検出することであって、該第2の電力モードが該第1の電力モードよりも少ないシステム・リソースを消費することと、
該非対話式タスクの完了又はオーバーライド・トリガー・イベントまで、該コンピューティング・デバイスの該第2の電力モードへの該遷移を遅延することとを備え、
該コンピューティング・デバイスを該第2の電力モードに入れることを遅延することは、該コンピューティング・デバイスを第3の電力モードに入れることを含み、該第3の電力モードが、該第1の電力モードよりも少ないシステム・リソースを消費するが、該第2の電力モードよりも多くのシステム・リソースを消費し、かつ該非対話式タスクの該実行を容易にすることとを備え、
前記コンピューティング・デバイスの前記第2の電力モードへの前記遷移を遅延することが、
該コンピューティング・デバイスによるシステム・リソースの大幅な変化が生じたときを検出することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかどうかを決定することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントである場合、該コンピューティング・デバイスを該第2の電力モードに遷移することとを含む、方法。
【請求項２】
システム・リソースの大幅な変化が、前記コンピューティング・デバイスが第1のネットワークを出て、第2のネットワークに加わることを含む、請求項1記載の方法。
【請求項３】
少なくとも1つの非対話式タスクを実行することは、少なくとも1つの所定のメモリ・ロケーションに値を書き込むことを含み、該書き込まれた値は、非対話式タスクが実行中であること、及び、オーバーライド・トリガー・イベントがないので、該非対話式タスクの実行が完了するまでの低減電力モードへの前記遷移の前記延期が望ましいことを指示する、請求項1記載の方法。
【請求項４】
前記コンピューティング・デバイスの前記第2電力モードへの前記遷移を遅延することが、
非対話式タスクの前記実行を完了するために必要な時間の推定量を決定するためにメモリ・ロケーションを読み込むことと、
該非対話式タスクを完了するために必要な時間の該推定量がしきい値を超過するかどうかを決定することと、
該しきい値が超過される場合、該コンピューティング・デバイスを該第2の電力モードに遷移することと、
該しきい値が超過されない場合、前記要求された非対話式タスクを実行させ、該要求された非対話式タスクの該完了又はオーバーライド・トリガー・イベントまで、該コンピューティング・デバイスの該第2の電力モードへの該遷移を遅延することとを含む、請求項1記載の方法。
【請求項５】
少なくとも1つの非対話式タスクを実行するように構成されたプロセッサ；及び
装置を、複数の電力モードのうちの1つで動作させること、
該装置を第1の電力モードの動作から第2の電力モードの動作に遷移するよう求める要求を検出することであって、該第2の電力モードが該第1の電力モードよりも少ないシステム・リソースを消費する電力モードを含むこと、
該非対話式タスクの完了又はオーバーライド・トリガー・イベントの発生まで、該装置の該第2の電力モードへの該遷移を延期すること、及び
該装置の該第2の電力モードへの該遷移を延期する間、該装置を第3の電力モードに入れることであって、該第3の電力モードが該第1の電力モードよりも少ないシステム・リソースを消費するが、該第2の電力モードよりも多くのシステム・リソースを消費し、該非対話式タスクの該実行を容易にすること
を行うように構成された電力マネージャ
を備え、
前記コンピューティング・デバイスの前記第2の電力モードへの前記遷移を遅延することが、
該コンピューティング・デバイスによるシステム・リソースの大幅な変化が生じたときを検出することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかどうかを決定することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントである場合、該コンピューティング・デバイスを該第2の電力モードに遷移することとを含む、装置。
【請求項６】
電力マネージャが、
システム・リソースの大幅な変化が生じたときを検出し、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかどうか決定し、システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントである場合、前記装置を前記第2の電力モードに遷移するように構成される、請求項5記載の装置。
【請求項７】
システム・リソースの大幅な変化が、前記装置が無線ローカル・エリア・ネットワークを出て、セルラー・データ・ネットワークに加わることを含む、請求項6記載の装置。
【請求項８】
プロセッサが、
前記装置により含まれるメモリの少なくとも1つの所定のメモリ・ロケーションに値を書き込むように構成され、
該書き込まれた値が、非対話式タスクが実行中であること、及び、オーバーライド・トリガー・イベントがないので、該非対話式タスクの実行が完了するまでの低減電力モードへの前記遷移の前記延期が望ましいことを指示する、請求項5記載の装置。
【請求項９】
前記電力マネージャが、
非対話式タスクの前記実行を完了するために必要な時間の推定量を決定するために前記装置により含まれるメモリを読み込み、
該非対話式タスクを完了するために必要な時間の該推定量がしきい値を超過するかどうかを決定し、
該しきい値が超過される場合、該装置を前記第2の電力モードに遷移し、
該しきい値が超過されない場合、前記要求された非対話式タスクを実行させ、該要求された非対話式タスクの該完了又はオーバーライド・トリガー・イベントの前記発生まで、該装置の該第2の電力モードへの該遷移を遅延するように構成される、請求項5記載の装置。
【請求項１０】
実行可能なコードを含むコンピュータ可読媒体であって、実行されるとき、コンピューティング装置に、コンピューティング・デバイスを第1の電力モードで動作させることと、
該コンピューティング・デバイスのプロセッサにより、少なくとも1つの非対話式タスクを実行することと、
該コンピューティング・デバイスを第2の電力モードに入れるよう求める要求を検出することであって、該第2の電力モードが該第1の電力モードよりも少ないシステム・リソースを消費する電力モードを含むことと、
該非対話式タスクの該完了又はオーバーライド・トリガー・イベントまで、該コンピューティング・デバイスの該第2の電力モードへの該遷移を遅延することと、
該装置の該第2の電力モードへの該遷移を延期する間、該装置を第3の電力モードに入れることであって、該第3の電力モードが、該第1の電力モードよりも少ないシステム・リソースを消費するが、該第2の電力モードよりも多くのシステム・リソースを消費し、該非対話式タスクの該実行を容易にすることとを行わせるように構成される実行可能コードを含み、前記コンピューティング・デバイスの前記第2の電力モードへの前記遷移を遅延することが、
該コンピューティング・デバイスによるシステム・リソースの大幅な変化が生じたときを検出することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントであるかどうかを決定することと、
システム・リソースの該大幅な変化がオーバーライド・トリガー・イベントである場合、該コンピューティング・デバイスを該第2の電力モードに遷移することとを含む、前記コンピュータ可読媒体。
【外国語明細書】
2014029719000001.pdf