(57)【要約】  コンピューティングデバイスは、１または複数のエネルギ蓄積デバイスを備えたエネルギ蓄積デバイスシステムを有する。コンピューティングデバイスは、エネルギ蓄積デバイス（複数も可）を充電するために様々な電力資源（たとえば電力源および／または電力プロファイル）に接続され得る。任意の所与の時間にエネルギ蓄積デバイス（複数も可）を充電するために電力資源のうちどの１つまたは複数を使用するかを決定するために、様々な基準が用いられる。基準は、コンピューティングデバイスの物理特性、コンピューティングデバイスの動作中に変化するエネルギ蓄積デバイスの特性および／またはコンピューティングデバイスの特性、およびコンピューティングデバイスの推定または予測使用量を含んでよい。これらの基準は、コンピューティングデバイスの動作中に評価され、これらの基準に基づいて、任意の所与の時間にエネルギ蓄積デバイス（複数も可）を充電するための適切な電力資源が決定される。
2020513603.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて実行される方法であって、
前記１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するために前記コンピューティングデバイスが利用可能な複数の電力資源を識別することと、
前記複数の電力資源のうち、前記第１のエネルギ蓄積デバイスに関して最もエネルギ効率の良い第１の電力資源を選択することと、
前記第１の電力資源を用いて前記第１のエネルギ蓄積デバイスを充電するように前記エネルギ蓄積デバイスシステムを設定することと
を備える方法。
【請求項２】
前記複数の電力資源の各々は様々な電力源を備え、および／または、前記複数の電力資源の各々は、電力源の複数の電力プロファイルのうちの１つを備える、請求項１に記載の方法。
【請求項３】
前記選択することは、
前記複数の電力資源の各々について、前記電力資源と前記第１のエネルギ蓄積デバイスとの間の相互接続抵抗を識別することと、
前記複数の電力資源のうち、前記電力資源と前記第１のエネルギ蓄積デバイスとの間の最も小さい相互接続抵抗を有する１つを前記第１の電力資源として選択することと
を備える、請求項１または請求項２に記載の方法。
【請求項４】
前記１または複数のエネルギ蓄積デバイスは、複数のエネルギ蓄積デバイスを含み、前記方法は、
前記複数の電力資源のうち、前記複数のエネルギ蓄積デバイスのうちの第２のエネルギ蓄積デバイスに関して最もエネルギ効率の良い第２の電力資源を選択することと、
前記第１の電力資源を用いて前記第１のエネルギ蓄積デバイスを充電するのと同時に、前記第２の電力資源を用いて前記第２のエネルギ蓄積デバイスを充電するように前記エネルギ蓄積デバイスシステムを設定することと
を更に備える、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記コンピューティングデバイスが電力資源に接続されてない場合、
前記１または複数のエネルギ蓄積デバイスにおける充電量が閾値充電量を下回っていると決定することと、
前記コンピューティングデバイスが閾値時間未満で電力資源に接続されることが予測されると決定することと、
前記コンピューティングデバイスが前記電力資源に接続される前に、前記コンピューティングデバイスの温度を下げるために前記コンピューティングデバイスを熱的に調整することと
を更に備える、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記コンピューティングデバイスが高性能状態にあることに応答して、前記第１のエネルギ蓄積デバイスの充電を停止することと、前記コンピューティングデバイスが低性能状態にあることに応答して、前記第１のエネルギ蓄積デバイスの充電を再開することとを更に備える、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて実行される方法であって、
前記１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するために前記コンピューティングデバイスが利用可能な複数の電力資源を識別することと、
前記複数の電力資源の各々について、前記電力資源から前記第１のエネルギ蓄積デバイスへの充電経路に沿った熱的活動を決定することと、
前記複数の電力資源から前記第１のエネルギ蓄積デバイスへの前記充電経路に沿った前記熱的活動に基づいて、前記複数の電力資源から電力資源を選択することと、
前記選択された電力源を用いて前記第１のエネルギ蓄積デバイスを充電するように前記エネルギ蓄積デバイスシステムを設定することと
を備える方法。
【請求項８】
前記選択することは、前記複数の電力資源のうち、熱的安定ゾーン内にある前記第１のエネルギ蓄積デバイスへの充電経路を有する１つを前記電力資源として選択することを備える、請求項７に記載の方法。
【請求項９】
前記選択することおよび設定することは、前記複数の電力資源をデューティサイクルすることを備える、請求項７または請求項８に記載の方法。
【請求項１０】
前記複数の電力資源の各々は様々な電力源を備え、および／または、前記複数の電力資源の各々は、電力源の複数の電力プロファイルのうちの１つを備える、請求項７〜９のいずれか１項に記載の方法。
【請求項１１】
１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムと、
処理システムと、
前記処理システムによる実行に応答して、前記１または複数のプロセッサに、
前記１または複数のエネルギ蓄積デバイスにおける充電量が閾値充電量を下回ると決定することと、
コンピューティングデバイスが閾値時間未満で電力資源に接続されることが予測されると決定することと、
前記コンピューティングデバイスが前記電力資源に接続される前に、前記コンピューティングデバイスの温度を下げるために前記コンピューティングデバイスを熱的に調整することと
を備える動作を実行させる複数の命令を格納しているコンピュータ可読記憶媒体と
を備えるコンピューティングデバイス。
【請求項１２】
前記動作は更に、前記コンピューティングデバイスがその後電力資源に接続されている間、前記１または複数のエネルギ蓄積デバイスが熱的高温ゾーン内にあること、および前記１または複数のエネルギ蓄積デバイスに残っている充電量が、前記コンピューティングデバイスが次に電力資源に接続されるまで前記コンピューティングデバイスへの動力供給を維持すると予測されることに応答して、前記１または複数のエネルギ蓄積デバイスを充電しないことを決定することを更に備える、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記動作は更に、前記コンピューティングデバイスがその後電力資源に接続されている間、前記１または複数のエネルギ蓄積デバイスに残っている充電量が、前記コンピューティングデバイスが次に電力資源に接続されるまで前記コンピューティングデバイスへの動力供給を維持しないと予測されることに応答して、前記１または複数のエネルギ蓄積デバイスを充電することを決定することを更に備える、請求項１１または請求項１２に記載のコンピューティングデバイス。
【請求項１４】
前記閾値充電量は、前記コンピューティングデバイスが次に電力資源に接続されると予測されるまでの前記コンピューティングデバイスの予想電力使用量を含む、請求項１１〜１３のいずれか１項に記載のコンピューティングデバイス。
【請求項１５】
前記熱的に調整することは、前記エネルギ蓄積デバイスの少なくとも１つが熱的高温ゾーン内にある場合にのみ、前記コンピューティングデバイスを熱的に調整することを備える、請求項１１〜１４のいずれか１項に記載のコンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
［0001］  技術の進歩とともに、モバイルコンピューティングデバイスはますます一般的なものとなっている。モバイルコンピューティングデバイスは、ユーザに様々な機能を提供し、ユーザが、電子メールのチェック、ウェブの閲覧、テキストメッセージの作成、アプリケーションとのインタラクトなどのためにデバイスとインタラクトすることを可能にする。モバイルコンピューティングデバイスの開発者が直面する１つの問題は、効率的な電力管理およびバッテリ寿命の延長である。デバイスのために実装された電力管理が、良好なバッテリ寿命をもたらすことができなければ、デバイスおよび製造会社へのユーザの不満が生じ得る。
【発明の概要】
【０００２】
［0002］  本概要は、発明を実施するための形態において更に後述される概念の抜粋を簡略化した形式で紹介するために提供される。本概要は、主張される主題事項の重要特徴または必須特徴を識別することが意図されたものではなく、主張される主題事項の範囲を限定するために用いられることが意図されたものでもない。
【０００３】
［0003］  １または複数の態様によると、１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて、コンピューティングデバイスが１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するために利用可能な複数の電力資源が識別される。複数の電力資源のうち、第１のエネルギ蓄積デバイスに関して最もエネルギ効率の良い第１の電力資源が選択され、エネルギ蓄積デバイスシステムは、第１の電力資源を用いて第１のエネルギ蓄積デバイスを充電するように設定される。
【０００４】
［0004］  １または複数の態様によると、１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて、コンピューティングデバイスが１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するために利用可能な複数の電力資源が識別される。複数の電力資源の各々について、電力資源から第１のエネルギ蓄積デバイスへの充電経路に沿った熱的活動が決定される。複数の電力資源から第１のエネルギ蓄積デバイスへの充電経路に沿った熱的活動に基づいて、複数の電力資源から電力資源が選択され、エネルギ蓄積デバイスシステムは、選択された電力源を用いて第１のエネルギ蓄積デバイスを充電するように設定される。
【０００５】
［0005］  １または複数の態様によると、コンピューティングデバイスは、１または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステム、処理システム、およびコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、処理システムによる実行に応答して１または複数のプロセッサに、１または複数のエネルギ蓄積デバイスにおける充電量が閾値充電量を下回ると決定すること、コンピューティングデバイスが閾値時間未満で電力資源に接続されることが予測されると決定すること、および、コンピューティングデバイスが電力資源に接続される前に、コンピューティングデバイスの温度を下げるためにコンピューティングデバイスを熱的に調整することを備える動作を実行させる複数の命令を格納している。
【０００６】
［0006］  発明を実施するための形態は、添付図面を参照して説明される。図面において、参照番号の左端の数字（複数も可）は、その参照番号が最初に出現する図を識別する。説明および図面の様々な例における同じ参照番号の使用は、同様または同一の事項を識別し得る。図面に表されるエンティティは、１または複数のエンティティを示すものであってよく、説明における単数形または複数形のエンティティは相互置換的に参照され得る。
【図面の簡単な説明】
【０００７】
【図１】［0007］１または複数の実施形態に係る動作環境を示す。
【図２】［0008］１または複数の実装に係る、１または複数のエネルギ蓄積デバイスを備えたエネルギ蓄積デバイスシステムを有するコンピューティングデバイスの細部の例を示す。
【図３】［0009］１または複数の実装に係る、動的外部電力資源選択のための手順例の細部を説明するフロー図である。
【図４】［0010］１または複数の実装に係る、動的外部電力資源選択のための他の手順例の細部を説明するフロー図である。
【図５】［0011］本明細書で説明される様々な技術を実装し得る１または複数のコンピューティングシステムおよび／またはデバイスの典型であるコンピューティングデバイス例を含むシステム例を示す。
【発明を実施するための形態】
【０００８】
概観
［0012］  １または複数のエネルギ蓄積デバイスを備えたエネルギ蓄積デバイスシステムを有するコンピューティングデバイスのための動的外部電力資源選択が説明される。エネルギ蓄積デバイスは、コンピューティングデバイスに接続され得る様々な電力資源によって充電され得る。電力資源は、電力源および／または電力プロファイルを指す。電力源は、コンピューティングデバイスの１または複数のエネルギ蓄積デバイスを充電するために用いられ得る電力、一般にＡＣ電力の供給源である。電力プロファイルは、電力源によって供給される電力量を指す。電力資源は、１または複数の様々な電力プロファイルに対応してよい。
【０００９】
［0013］  任意の所与の時間にエネルギ蓄積デバイスを充電するために複数の電力資源のどの１つまたは複数を使用するかを決定するために、様々な基準が用いられる。任意の所与の時間にエネルギ蓄積デバイスを充電するために複数の電力資源のどの１つまたは複数を使用するかを決定するために用いられる基準は、静的基準、動的システム基準、および予測基準を含む。静的基準は、コンピューティングデバイスが動作する間（たとえば、様々なプログラムの実行中）に変化することがない、エネルギ蓄積デバイスおよび／またはコンピューティングデバイスの物理特性を指す。動的システム基準は、コンピューティングデバイスが動作する間（たとえば、様々なプログラムの実行中）に変化する、エネルギ蓄積デバイスおよび／またはコンピューティングデバイスの特性を指す。予測基準は、推定または予測されるユーザ挙動（たとえば、ユーザの意図を予測すること）、プログラム挙動（たとえば、ウイルス対策サービスなど、インストールされたソフトウェアがシステムをどのように使用しているか／どのような使用を引き起こすかを予測すること）、および／または、たとえば電力資源との接続などコンピューティングデバイスのより一般的な使用を指す。
【００１０】
［0014］  これらの基準は、コンピューティングデバイスの動作中に評価され、これらの基準に基づいて、コンピューティングデバイスのエネルギ蓄積デバイスを充電するために任意の所与の時間に電力が引き出される適切な電力資源が決定される。本明細書で説明される技術は、特定のコンピューティングデバイスおよびコンピューティングデバイスのユーザの一般的使用に適応する方法で、コンピューティングデバイスのエネルギ蓄積デバイスを充電するために様々な電力資源から電力が引き出されることを可能にする。いつエネルギ蓄積デバイスを充電するか、およびどの電力資源から電力を引き出すかに関する、よりスマートな決定を下すことができ、それによって、より長い持続期間コンピューティングデバイスがエネルギ蓄積デバイスの電力で動作することが可能になり、エネルギ蓄積デバイスの寿命を延長することができる。
【００１１】
［0015］  以下の説明において、「動作環境」と題されたセクションが提供され、１または複数の実装が用いられ得る環境の一例を説明する。それに続き、「動的外部電力資源選択システム細部」と題されたセクションは、１または複数の実装に係る細部および手順の例を説明する。最後に、「システム例」と題されたセクションは、動的外部電力資源選択の１または複数の実装のために用いられ得るコンピューティングシステム、構成要素、およびデバイスの例を説明する。
動作環境
【００１２】
［0016］  図１は、１または複数の実施形態に係る動作環境を全体的に１００として示す。環境１００は、１または複数のプロセッサおよびデバイス（たとえばＣＰＵ、ＧＰＵ、マイクロコントローラ、ハードウェア要素、固定論理デバイスなど）とともに処理システム１０４を有するコンピューティングデバイス１０２、１または複数のコンピュータ可読媒体１０６、オペレーティングシステム１０８、および任意選択的に、コンピュータ可読媒体に常駐し処理システムによって実行可能な１または複数のアプリケーション１１０を含む。処理システム１０４は、並列または直列に構成された複数の独立プロセッサおよび１または複数のマルチコア処理ユニットを含むように構成され得る。マルチコア処理ユニットは、同じチップまたは集積回路に含まれる２つ以上のプロセッサ（「コア」）を有してよい。１または複数の実装において、処理システム１０４は、様々な性能、処理効率、および電力使用特性を提供する複数の処理コアを含んでよい。
【００１３】
［0017］  処理システム１０４は、ゲーム、オフィスプロダクティビティ、電子メール、メディア管理、印刷、ネットワーキング、ウェブ閲覧などを含むがこれに限定されない、コンピューティングデバイス１０２の様々な機能を提供するために、アプリケーション１１０からコンピュータプログラム命令を取り出し、実行してよい。またアプリケーション１１０に関連する様々なデータおよびプログラムファイルも含まれてよく、その例は、ゲームファイル、オフィス文書、マルチメディアファイル、電子メール、データファイル、ウェブページ、ユーザプロフィルおよび／または嗜好データなどを含む。
【００１４】
［0018］  コンピューティングデバイス１０２は、たとえば限定ではなく例として、ゲームシステム、デスクトップコンピュータ、ラックサーバまたは他のサーバコンピュータ、ポータブルコンピュータ、タブレットまたはスレートコンピュータ、たとえばパーソナルデジタルアシスタント（ＰＤＡ）などのハンドヘルドコンピュータ、携帯電話、セットトップボックス、装着型デバイス（たとえば時計、バンド、眼鏡、仮想現実（ＶＲ）ヘッドセット、拡張現実（ＡＲ）ヘッドセットなど）、ホームコンピューティングデバイス（たとえば音声制御型無線スピーカ、または他のスマートホームデバイス）、企業用デバイス（たとえば現金自動取引装置（ＡＴＭ））、他の消費者デバイス（たとえばドローン、スマートクロージングなど）など、任意の適切なコンピューティングシステムおよび／またはデバイスとして具体化され得る。たとえば図１に示すように、コンピューティングデバイス１０２は、メディアコンテンツを表示するための表示デバイス１１８に接続された、テレビクライアントデバイス１１２、コンピュータ１１４、および／またはゲームシステム１１６として実装され得る。あるいはコンピューティングデバイスは、一体型ディスプレイ１２２を含む任意の種類のポータブルコンピュータ、携帯電話、またはポータブルデバイス１２０であってよい。コンピューティングデバイスは、ユーザによって装着、取り付け、携帯、または他の方法で持ち運ばれるように設計された装着型デバイス１２４として構成されてもよい。図１に示す装着型デバイス１２４の例は、眼鏡、ヘッドセット、スマートバンドまたはウォッチ、およびたとえばクリップオンフィットネスデバイス、メディアプレーヤ、またはトラッカなどのポッドデバイスを含む。装着型デバイス１２４の他の例は、数例を挙げると、バッジ、キーフォブ、アクセスカード、および指輪、衣服、手袋、またはブレスレットを含むが、これに限定されない。コンピューティングデバイスはいずれも、たとえば１または複数のプロセッサおよびメモリデバイスなど様々な構成要素、ならびに様々な構成要素の任意の組み合わせとともに実装され得る。コンピューティングデバイス１０２を含む様々なシステムおよび／またはデバイスを表すことができるコンピューティングシステムの一例は、図５に関連して示され、後述される。
【００１５】
［0019］  コンピュータ可読媒体は、限定ではなく例として、一般的にコンピューティングデバイスに関連する、あらゆる形式の揮発性および不揮発性メモリおよび／またはストレージメディアを含んでよい。そのような媒体は、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスク、消去可能媒体などを含んでよい。コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「通信媒体」の両方を含んでよく、その例は、図５のコンピューティングシステム例の説明において記載され得る。
【００１６】
［0020］  コンピューティングデバイス１０２はまた、上述および後述のように動作する動的外部電力資源選択システム１２６およびエネルギ蓄積デバイスシステム１２８も含む。動的外部電力資源選択システム１２６は、オペレーティングシステム１０８の一部として実装されてよく、オペレーティングシステム１０８とは別に実装されてよく、あるいは一部がオペレーティングシステム１０８によって実装され、一部がオペレーティングシステム１０８とは別に実装されてもよい。動的外部電力資源選択システム１２６は、任意選択的に、提携して作動する１または複数の離散システム１２６として実装され得る。エネルギ蓄積デバイスシステム１２８は、更に詳しく後述されるように１または複数のエネルギ蓄積デバイスを含むように構成される。動的外部電力資源選択システム１２６およびエネルギ蓄積デバイスシステム１２８は、ハードウェア、ソフトウェア、ファームウェア、および／または論理デバイスの任意の適切な組み合わせを用いて提供され得る。図示するように、動的外部電力資源選択システム１２６およびエネルギ蓄積デバイスシステム１２８は、別々のスタンドアロンシステムとして構成され得る。追加または代替として、動的外部電力資源選択システム１２６は、オペレーティングシステム１０８と組み合わせられるシステムまたはモジュールとして構成され、またはエネルギ蓄積デバイスシステム１２８のコントローラまたは他の構成要素を介して実装され得る。
【００１７】
［0021］  動的外部電力資源選択システム１２６は、エネルギ蓄積デバイスシステム１２８のエネルギ蓄積デバイスを充電するための電力資源を選択すること、様々な時間にエネルギ蓄積デバイスを充電するために様々な電力資源の選択を可能にすることを含む、エネルギ蓄積デバイスシステム１２８のエネルギ蓄積デバイスの充電を管理するように動作可能な機能を表す。これは、コンピューティングデバイス１０２に関する静的基準、コンピューティングデバイス１０２に関する動的システム基準、およびコンピューティングデバイス１０２に関する使用予測を含む様々な基準を分析することを伴ってよい。静的基準は、コンピューティングデバイス１０２に関する動的システム基準とは異なり、一般に、コンピューティングデバイス１０２の動作中に変化することはない。コンピューティングデバイス１０２に関する静的基準は、コンピューティングデバイス１０２の物理特性（たとえばコンピューティングデバイス１０２内のハードウェアの位置など）、静的ソフトウェアおよび／またはファームウェアの特性、たとえば更に詳しく後述するような相互接続抵抗または熱ゾーンレイアウト（たとえば、どのデバイスがどの熱ゾーン内にあるか）などの静的特性などを指す。コンピューティングデバイス１０２に関する動的システム基準は、コンピューティングデバイス１０２の動作中（たとえば、オペレーティングシステム１０８および１または複数のアプリケーション１１０の実行中）に変化する、エネルギ蓄積デバイスシステム１２８の一部であるエネルギ蓄積デバイスおよび／またはコンピューティングデバイス１０２の特性を指す。コンピューティングデバイス１０２に関する予測基準は、推定または予測されるユーザ挙動、プログラム挙動、および／または、たとえば電力資源へのコンピューティングデバイス１０２の接続などコンピューティングデバイス１０２のより一般的な使用法を指す。
【００１８】
［0022］  動的外部電力資源選択システム１２６は、エネルギ蓄積デバイスシステム１２８のモード、エネルギ蓄積デバイスシステム１２８のバッテリセルまたは他のエネルギ蓄積デバイスの状態、電力資源からエネルギ蓄積デバイスシステム１２８への電力のルート付けなどを制御することによって、エネルギ蓄積デバイスの充電を管理することができる。たとえば、動的外部電力資源選択システム１２６は、動的外部電力資源選択システム１２６によって実行された分析に従って、エネルギ蓄積デバイスシステム１２８のエネルギ蓄積デバイスへ充電電流を供給するためにエネルギ蓄積デバイス間で切り換えるようにハードウェア切換え動作を指示するために、制御信号を伝達し、または他の方法でエネルギ蓄積デバイスシステム１２８とインタラクトするように動作可能である。動的外部電力資源選択のこれらの態様および他の態様に関する詳細は、以下で説明される。
【００１９】
［0023］  環境１００が更に示すように、コンピューティングデバイス１０２は、ネットワーク１３０を介してサービスプロバイダ１３２と通信可能に結合されてよく、それによってコンピューティングデバイス１０２は、サービスプロバイダ１３２によって利用可能になる様々なリソース１３４にアクセスし、これとインタラクトすることが可能である。リソース１３４は、１または複数のサービスプロバイダによってネットワークを介して一般に利用可能になるコンテンツおよび／またはサービスの任意の適切な組み合わせを含んでよい。たとえばコンテンツは、テキスト、ビデオ、アド、オーディオ、マルチメディアストリーム、アプリケーション、アニメーション、画像、ウェブページなどの様々な組み合わせを含んでよい。サービスのいくつかの例は、オンラインコンピューティングサービス（たとえば「クラウド」コンピューティング）、認証サービス、ウェブベースのアプリケーション、ファイルストレージおよびコラボレーションサービス、検索サービス、たとえば電子メースおよび／またはインスタントメッセージングなどのメッセージングサービス、およびソーシャルネットワーキングサービスを含むが、これに限定されない。
【００２０】
［0024］  動作環境例が説明されたが、ここで、動的外部電力資源選択の１または複数の実装に関連する細部および技術の例を考える。
動的外部電力資源選択システム細部
【００２１】
［0025］  更に詳しく説明するために、本明細書で説明される動的外部電力資源選択を提供するために用いられ得るデバイス、構成要素、手順、および実装細部の例について、このセクションにおける説明を考慮する。一般に、上記および下記の例に関連して説明される機能、特徴、および概念は、このセクションで説明される手順例に関して用いられ得る。また、本文書における様々な図面および例に関連して説明される機能、特徴、および概念は、互いに置き換えられてよく、特定の図面または手順に関する実装に限定されるものではない。更に、本明細書における様々な典型的な手順および対応する図面に関連するブロックは、結合して適用され、および／または様々な方法で組み合わせられてよい。したがって、本明細書における様々な環境、デバイス、構成要素、図面、および手順の例に関連して説明される個々の機能、特徴、および概念は、任意の適切な組み合わせで用いられてよく、本説明に挙げられた例によって表される特定の組み合わせに限定されるものではない。
デバイス例
【００２２】
［0026］  図２は、１または複数の実装に係る、1または複数のエネルギ蓄積デバイスを備えたエネルギ蓄積デバイスシステム１２８を有するコンピューティングデバイス１０２の細部の例を全体的に２００として示す。またコンピューティングデバイス１０２は、図１に関して説明したような処理システム１０４、コンピュータ可読媒体１０６、オペレーティングシステム１０８、およびアプリケーション１１０も含む。図示した例において、動的外部電力資源選択システム１２６もまた、オペレーティングシステム１０８の構成要素として実装されるものとして示される。ただし留意すべき点として、動的外部電力資源選択システム１２６は、他の方法で実装されてもよい。たとえば、動的外部電力資源選択システム１２６の一部（または全部）は、エネルギ蓄積デバイスシステム１２８の一部として実装され得る。
【００２３】
［0027］  限定ではなく例として、エネルギ蓄積デバイスシステム１２８は、１または複数のエネルギ蓄積デバイス２０２およびエネルギ蓄積デバイスコントローラ２０４を有するものとして示される。エネルギ蓄積デバイス（複数も可）２０２は、コンピューティングデバイス１０２と互換性があり、および／またはコンピューティングデバイス１０２とともに含まれ得る様々な種類のエネルギ蓄積デバイスの典型例である。これらのエネルギ蓄積デバイスは、たとえば個々のまたは集合的なバッテリセル、スーパーキャパシタなどを含んでよい。エネルギ蓄積デバイス２０２は、製造または流通時にコンピューティングデバイス１０２に含まれ、コンピューティングデバイス１０２と特に共働するように設計されるエネルギ蓄積デバイス、および／または、後の時点で（たとえばユーザによって）コンピューティングデバイス１０２に追加される外部エネルギ蓄積デバイス（たとえば相手先商標製造会社（ＯＥＭ）が製造した外部バッテリ）を含んでよい。留意すべき点として、これらのエネルギ蓄積デバイスは、外部ＡＣ電力資源とは対照的にエネルギを蓄積する様々なデバイスを含む。エネルギ蓄積デバイス（複数も可）２０２は、単一のエネルギ蓄積デバイスを含んでよく、あるいは、たとえば様々なサイズ、容量、化学性、バッテリ技術、形状、年数、サイクル、温度など様々な特性を有する複数のエネルギ蓄積デバイス（異種エネルギ蓄積デバイス）を含んでよい。したがって、エネルギ蓄積デバイスシステム１２８は、任意選択的に、複数のエネルギ蓄積デバイスの多様な組み合わせを含んでよく、これらの少なくともいくつかは、互いに異なる特性を有してよい。あるいは、エネルギ蓄積デバイス（複数も可）２０２は、同じ特性を有するエネルギ蓄積デバイス、または単一のエネルギ蓄積デバイスを含んでよい。様々な容量、性能、効率、電力使用特性、および（たとえば重みを均衡させ、エネルギ蓄積容量および／またはエネルギ蓄積性能を向上させるための）デバイス内の空間使用率などを提供するために、エネルギ蓄積デバイス（複数も可）２０２の様々な組み合わせが用いられ得る。
【００２４】
［0028］  エネルギ蓄積デバイスコントローラ２０４は、エネルギ蓄積デバイスシステム１２８の動作を制御し、コンピューティングデバイス１０２のシステム負荷をサービス提供するためにエネルギ蓄積デバイス（複数も可）２０２からの電力供給を制御し、エネルギ蓄積デバイス（複数も可）２０２を充電するための１または複数の電力資源２２２、２２４からエネルギ蓄積デバイス（複数も可）２０２への電力供給を制御する制御システムの典型例である。システム負荷は、動作するために任意の所与の時点でコンピューティングデバイス１０２によって必要なエネルギを指す。エネルギ蓄積デバイスコントローラ２０４は、エネルギ蓄積デバイス（複数も可）２０２を互いに接続し、システムに電力供給し、エネルギ蓄積デバイス間で切り換えることなどに適した様々な論理、ハードウェア、回路、ファームウェア、および／またはソフトウェアを用いて構成され得る。限定ではなく例として、図２のエネルギ蓄積デバイスコントローラ２０４は、様々な時間にエネルギ蓄積デバイス（複数も可）２０２の指定された様々な供給源の使用を選択的に切り換えるように動作可能な切換えハードウェア２０６および制御論理２０８を含むものとして示される。制御論理２０８は、動的外部電力資源選択システム１２６によって決定されるような様々な基準に基づいてエネルギ蓄積デバイス（複数も可）２０２の１つへ電力が供給されるように、エネルギ蓄積デバイス（複数も可）２０２のうちの異なるものを充電することを切り換える様々な切換えモードを反映してよい。したがって、エネルギ蓄積デバイスを単に並列または直列に相互接続するのではなく、切換えハードウェア２０６は、コンピューティングデバイス１０２に関する様々な基準に基づいて様々なエネルギ蓄積デバイスを選択するように切換え方式を設定するために用いられ得る。
【００２５】
［0029］  コンピューティングデバイス１０２は、様々な電力資源２２２、２２４に接続され得る。図２には２つの電力資源２２２、２２４が示されるが、コンピューティングデバイス１０２は、任意の数の電力資源に接続され得る。上述したように、電力資源は、電力源および／または電力プロファイルを指す。電力源は、コンピューティングデバイス１０２に接続され得る、電力、一般にＡＣ電力の供給源である。電力源は、有線接続および／または無線接続を介してコンピューティングデバイス１０２に接続され得る。有線接続の場合、コンピューティングデバイス１０２は、電力源から充電電力を受け取ることができる様々な電力ポートを設けてよい。これらの電力ポートは、プロプリエタリポートであってよく、または様々な規格（たとえばユニバーサルシリアルバス（ＵＳＢ）ポート）に準拠してよい。電力プロファイルは、電力源によって提供される電力量を指す。電力源は、１または複数の様々な電力プロファイルをサポートしてよい。たとえば電力源は、少ない電力（たとえば低電圧）を提供する通常電力プロファイルおよび多くの電力（たとえば、通常電力プロファイルが提供するよりも高い電圧）を提供する急速充電電力プロファイルの両方をサポートしてよい。
【００２６】
［0030］  電力資源２２２、２２４は、コンピューティングデバイス１０２に外付けである。電力資源２２２、２２４は、エネルギ蓄積デバイス２０２から独立しており、エネルギ蓄積デバイス２０２を充電するために用いられる。
【００２７】
［0031］  留意すべき点として、本明細書においてＡＣ（交流）電力源が参照されるが、ＤＣ（直流）電力が電力源（たとえばＡＣ電力源）から引き出される。また、場合によっては、たとえば磁化波として電力を伝送する無線電力源など、他の方法で電力が引き出される。本明細書で説明される技術は、電力源の性質とは無関係に適用される。
【００２８】
［0032］  動的外部電力資源選択システム１２６は、静的基準決定モジュール２１０、動的システム基準決定モジュール２１２、予測モジュール２１４、および電力資源選択モジュール２１６を含む。
【００２９】
［0033］  静的基準決定モジュール２１０は、コンピューティングデバイス１０２に含まれる構成要素の様々な特性および／またはコンピューティングデバイス１０２の他の物理特性（たとえばコンピューティングデバイス１０２に含まれるハードウェアの位置など）、静的ソフトウェアおよび／またはファームウェアの特性、たとえば更に詳しく後述するような相互接続抵抗または熱ゾーンレイアウト（たとえばどのデバイスがどの熱ゾーン内にあるか）などの静的特性などの値を決定するように動作可能な機能を表す。
【００３０】
［0034］  １または複数の実施形態において、静的基準は、コンピューティングデバイス１０２における電力資源２２２、２２４とエネルギ蓄積デバイス（複数も可）２０２との近接度のインジケーションを含む。電力資源とエネルギ蓄積デバイスとの近接度は、電力資源とエネルギ蓄積デバイスとの間の電気的近接度を指す。電力資源とエネルギ蓄積デバイスとの近接度は、様々な値を用いて明示され得る。１または複数の実施形態において、電力資源とエネルギ蓄積デバイスとの近接度は、電力資源とエネルギ蓄積デバイスとの間の相互接続抵抗を表す値によって明示される。相互接続抵抗は、電力資源とエネルギ蓄積デバイスとの間の抵抗の量の程度であり、一般に、電力資源とエネルギ蓄積デバイスとの間の物理的距離が増加すると大きくなる。相互接続抵抗の量が多いほど、電力資源とエネルギ蓄積デバイスとの間に、より大量の電力損失が生じる。追加または代替として、電力資源とエネルギ蓄積デバイスとの近接度は、電力資源からエネルギ蓄積デバイスまでの（たとえばセンチメートルまたはインチ単位で測定されるような）物理的距離である値によって明示される。
【００３１】
［0035］  電力資源とエネルギ蓄積デバイスとの近接度を表す別の値は、各電力資源およびエネルギ蓄積デバイスのペアに関して得られる。電力資源とエネルギ蓄積デバイスとの近接度を表す値は、たとえばコンピューティングデバイス１０２の供給会社または製造会社によって、（たとえば、オペレーティングシステム１０８および／または動的外部電力資源選択システム１２６による）電力資源を用いたエネルギ蓄積デバイスの充電の観測に基づいてなど、様々な方法で得られ得る。
【００３２】
［0036］  電力資源選択モジュール２１６は、様々な方法で電力資源とエネルギ蓄積デバイスとの近接度を表す値を用いることができる。留意すべき点として、図２には個別に示されるが、電力資源選択モジュール２１６の少なくとも一部は、エネルギ蓄積デバイス１２８の一部として実装され得る。エネルギ蓄積デバイス１２８が電力資源選択モジュール２１６の一部を実装する場合、オペレーティングシステム１０８内に顕在する動的外部電力資源選択システム１２６の一部は、エネルギ蓄積デバイス１２８内に顕在する動的外部電力資源選択システム１２６の一部にポリシ（たとえば、モード選択およびエネルギ蓄積デバイス制約設定）を指示する役割を担う。
【００３３】
［0037］  １または複数の実施形態において、電力資源選択モジュール２１６は、エネルギ蓄積デバイスを充電するために、そのエネルギ蓄積デバイスに関して最もエネルギ効率の良い電力資源を選択する。たとえば、所与のエネルギ蓄積デバイスに関して、電力資源選択モジュール２１６は、エネルギ蓄積デバイスを充電するために最もエネルギ効率の良いエネルギ蓄積デバイスとして、エネルギ蓄積デバイスに対して最も小さい相互接続抵抗を有する電力資源、および／またはエネルギ蓄積デバイスとの最小物理的距離を有する電力資源を選択してよい。
【００３４】
［0038］  エネルギ蓄積デバイスシステム１２８が複数のエネルギ蓄積デバイス２０２を含む場合、電力資源選択モジュール２１６は、複数のエネルギ蓄積デバイス２０２を同時に充電するために、電力資源とエネルギ蓄積デバイスとの近接度を表す値を用いてよい。１または複数の実施形態において、電力資源選択モジュール２１６は、複数のエネルギ蓄積デバイスの各々について、エネルギ蓄積デバイスを充電するためにそのエネルギ蓄積デバイスに関して最もエネルギ効率の良い電力資源を選択する。たとえば、エネルギ蓄積デバイスシステム１２８が２つのエネルギ蓄積デバイス、エネルギ蓄積デバイスＡおよびエネルギ蓄積デバイスＢを含む場合、電力資源選択モジュール２１６は、エネルギ蓄積デバイスＡに対して最小の相互接続抵抗を有する電力資源Ｘによってエネルギ蓄積デバイスＡを充電し、エネルギ蓄積デバイスＢに対して最小の相互接続抵抗を有する電力資源Ｙによってエネルギ蓄積デバイスＢを充電することを選択してよい。
【００３５】
［0039］  動的システム基準決定モジュール２１２は、コンピューティングデバイス１０２の動作中（たとえば、コンピューティングデバイス１０２がオペレーティングシステム１０８および１または複数のアプリケーション１１０を実行する間）に変化する、エネルギ蓄積デバイス（複数も可）２０２、コンピューティングデバイス１０２、および／または電力資源２２２、２２４の様々な特性に関する値を決定するために動作可能な機能を表す。動的システム基準決定モジュール２１２によって用いられる基準は、コンピューティングデバイス１０２の動作中に経時的に変化するので、動的なものとして参照される。たとえば、動的システム基準決定モジュール２１２によって用いられる基準は、コンピューティングデバイス１０２の動作中に経時的に変化する、電力資源からエネルギ蓄積デバイスへの充電経路の熱ゾーンの温度、エネルギ蓄積デバイス２０２の年数などを含んでよい。
【００３６】
［0040］  １または複数の実施形態において、動的システム基準は、様々な熱ゾーンに関与する。熱ゾーンは、温度制御のために集合的に扱われる１または複数の構成要素（たとえばハードウェア）のグループを指す。様々な熱ゾーンは、任意選択的に、たとえば通気口、ファン、熱シンクなどの様々な冷却機構を有してよい。動的外部電力資源選択システム１２６は、たとえばコンピューティングデバイス１０２の供給会社または製造会社によってなど様々な方法で、どの構成要素がどの熱ゾーン内にあるかのインジケーションを得ることができる。コンピューティングデバイス１０２が、たとえば電力制御インタフェース、バージョン６．１（２０１６年１月）などの電力制御インタフェース（ＡＣＰＩ）に対応する１または複数の実施形態において、動的外部電力資源選択システム１２６は、ＡＣＰＩのメソッドを呼び出すことによって、熱ゾーンのインジケーション、任意選択的に、どの構成要素がどの熱ゾーン内にあるかを得ることができる。
【００３７】
［0041］  電力資源からエネルギ蓄積デバイスへの充電経路は、電力資源、エネルギ蓄積デバイス、および任意選択的に電力資源からエネルギ蓄積デバイスへルート付けされる時に電力が通過する１または複数の追加の構成要素といった、複数の構成要素を含む。充電経路内の構成要素の各々は同じ熱ゾーン内に含まれ、あるいは充電経路の様々な構成要素が様々な熱ゾーン内に含まれてよい。電力資源選択モジュール２１６は、これらの充電経路に沿った熱的活動に基づいて、エネルギ蓄積デバイス（複数も可）２０２を充電するための電力を引き出す電力資源を選択してよい。
【００３８】
［0042］  １または複数の実施形態において、動的システム基準は、電力資源およびエネルギ蓄積デバイスの各ペアについて、電力資源とエネルギ蓄積デバイスとの間の充電経路が熱的高温（熱的に活性であるとも称される）ゾーンにあるかどうかのインジケーションを含む。動的システム基準決定モジュール２１２は、たとえばＡＣＰＩを介して、コンピューティングデバイス１０２内の温度計部品にアクセスすることによってなど、様々な方法で様々な熱ゾーンの温度のインジケーションを得ることができる。熱ゾーンは、熱ゾーンの温度が閾値温度を満たす（たとえば閾値温度と同じ、閾値温度と同じまたは等しい）場合、高温ゾーンまたは熱的高温ゾーンと称される。１または複数の実施形態において、閾値温度は、コンピューティングデバイス１０２の設計者または供給会社が、これより上で熱ゾーンが動作しない方が良いとする値である。閾値温度はたとえば、特定の温度（たとえば華氏８５度）、または相対値（たとえば、コンピューティングデバイス１０２の設計者または供給会社によって明示されるコンピューティングデバイス１０２の最大動作温度の８０％）であってよい。
【００３９】
［0043］  各充電経路に関する値は、充電経路が熱的高温ゾーン内にあるかに基づいて生成され得る。たとえば、充電経路が熱的高温ゾーン内の１または複数の構成要素を含むことにより充電経路が熱的高温ゾーン内にあることを示すために、１または真の値が用いられ得る。０または偽の値は、充電経路が熱的高温ゾーン内の構成要素を含まないこと（熱的安定ゾーンとも称され得る）により充電経路は熱的高温ゾーン内にないことを示すために用いられ得る。
【００４０】
［0044］  電力資源選択モジュール２１６は、様々な方法で、どの充電経路が熱的高温ゾーン内にあり、どの充電経路が熱的高温ゾーン内にないかを示す値を用いてよい。１または複数の実施形態において、電力資源選択モジュール２１６は、熱的高温ゾーン内にない（熱的安定ゾーンにあるとも称される）充電経路を選択し、選択された充電経路から電力資源を用いてエネルギ蓄積デバイスを充電するようにエネルギ蓄積デバイス１２８を設定する。充電経路内の構成要素の温度は一般に、電流がエネルギ蓄積デバイスに供給されると高くなり、エネルギ蓄積デバイスを充電するためにどの電力資源を用いるかを選択する際、熱的高温ゾーン内に構成要素を含まない充電経路を選択することによって、動的外部電力資源選択システム１２６は、コンピューティングデバイス１０２の熱的安定性の管理（たとえば、コンピューティングデバイス１０２の熱ゾーンが高温になりすぎないように維持すること）を容易にする。
【００４１】
［0045］  エネルギ蓄積デバイス（複数も可）２０２を充電するために用いられ得る、コンピューティングデバイス１０２に接続された複数の電力資源が存在する場合がある。そのような状況において、エネルギ蓄積デバイス２０２を充電する電力を供給するために、単一の電力資源が用いられ得る。あるいは、充電されるエネルギ蓄積デバイスへの全ての充電経路が熱的高温ゾーン内に構成要素を含む場合、エネルギ蓄積デバイスを充電するために用いられる電力は、複数の様々な電力資源によって供給され得る。様々な電力資源が、異なる時間にエネルギ蓄積デバイスを充電するために使用される電力を供給する電力資源のうちの異なるものを用いて、デューティサイクルされ得る。
【００４２】
［0046］  １または複数の実施形態において、動的システム基準は、どの電力資源がコンピューティングデバイス１０２に接続され、任意の所与の時間にエネルギ蓄積デバイス（複数も可）２０２を充電するために用いられ得るかのインジケーションを含む。各電力資源に関する値が決定される。様々な整数（たとえば１、２、３など）または他の符号が、各電力資源に関する値として用いられ得る。あるいは、各電力資源に関する値は、たとえばどの程度最近、またはどの程度の期間、電力資源によって電流が充電のためにエネルギ蓄積デバイスへ供給されたかに基づいて生成され得る。この値は、たとえばミリ秒数、電力資源によって電流が最近供給されたことを示す１つの値（たとえば１または真）および電流が電力資源によって最近供給されていないことを示す他の値（たとえば０または偽）など、様々な形式をとってよい。
【００４３】
［0047］  電力資源選択モジュール２１６は、様々な方法で様々な電力資源を示す値を用いてよい。１または複数の実施形態において、電力資源選択モジュール２１６は、この値を用いて電力資源を選択し、複数の電力資源をデューティサイクル（たとえば電力源および／または電力プロファイルをデューティサイクル）する。充電経路内の構成要素の温度は一般に、充電のためにエネルギ蓄積デバイスへ電流が供給されると高くなるので、電力資源をデューティサイクルすることにより、様々な充電経路が用いられ、エネルギ蓄積デバイスを充電した結果生じる熱の増加は、様々な充電経路内の構成要素に分散する。たとえば３つの電力資源がある場合、電力資源選択モジュール２１６は、特定の時間（たとえば５秒間）エネルギ蓄積デバイスを充電するために３つの電力資源のうちの第１の電力資源を選択し、その後、特定の時間（たとえば５秒間）エネルギ蓄積デバイスを充電するために３つの電力資源のうちの第２の電力資源を選択し、その後、特定の時間（たとえば５秒間）エネルギ蓄積デバイスを充電するために３つの電力資源のうちの第３の電力資源を選択し、その後、特定の時間（たとえば５秒間）エネルギ蓄積デバイスを充電するために３つの電力資源のうちの第１の電力資源を選択し、以下同様である。
【００４４】
［0048］  電力資源選択モジュール２１６は、追加または代替として、充電経路に沿った他の熱的活動に基づいて、エネルギ蓄積デバイス（複数も可）２０２を充電するための電力を引き出す電力資源を選択してよい。１または複数の実施形態において、電力資源選択モジュール２１６は、コンピューティングデバイス１０２の性能に基づいて、エネルギ蓄積デバイスの充電を開始または停止する。コンピューティングデバイス１０２の性能は、たとえば中央処理ユニットの性能（たとえば、中央処理ユニットの速度または使用率）、グラフィック処理ユニットの性能（たとえば、グラフィック処理ユニットの速度または使用率）、コンピューティングデバイス１０２におけるメモリ負荷または使用量など、様々な方法で測定され得る。コンピューティングデバイス１０２が高性能状態にあり（たとえば、グラフィックまたは中央処理ユニットが閾値周波数またはそれ以上（たとえば１．２ギガヘルツ）で動作している、グラフィックまたは中央処理ユニットが閾値使用率またはそれ以上（たとえば５０％の使用率）で動作しているなど）、（たとえば、現在の熱的活動による）熱的活動の緩和が所望される場合、電力資源選択モジュール２１６は、エネルギ蓄積デバイスの充電を停止する。それによって、エネルギ蓄積デバイスの充電によるエネルギ蓄積デバイス（およびエネルギ蓄積デバイスへの充電経路）の任意の温度上昇が緩和され、コンピューティングデバイスが高性能状態で動作している場合、エネルギ蓄積デバイスの充電よりもコンピューティングデバイス性能が優先される。
【００４５】
［0049］  しかし、コンピューティングデバイス１０２が高（たとえば最高）性能状態でない（たとえば、グラフィックまたは中央処理ユニットが閾値周波数（たとえば１．２ギガヘルツ）未満で動作している、グラフィックまたは中央処理ユニットが閾値使用率（たとえば５０％の使用率）未満で動作しているなどの）場合、電力資源選択モジュール２１６は、エネルギ蓄積デバイスの充電を開始または再開する。これにより、コンピューティングデバイスが低性能状態で動作している場合、コンピューティングデバイス性能よりもエネルギ蓄積デバイスの充電が優先される。
【００４６】
［0050］  追加または代替として、電力資源選択モジュール２１６は、充電および性能状態の調整をデューティサイクルすることができる。性能状態の調整とは、ハードウェアおよび／またはソフトウェア構成要素の性能を低下させることを指す。ハードウェア構成要素の性能を低下させることは、一般にハードウェア構成要素を緩慢な周波数または速度で動作させることによって、構成要素によって生じる熱量を低減することを指す。たとえば、処理ユニットの性能は、処理ユニットが動作している周波数を（たとえば１．２ギガヘルツ（ＧＨｚ）から８００メガヘルツ（ＭＨｚ）に）低速化することによって低下し得る。ソフトウェア構成要素の性能を低下させることは、たとえば性能を制限すること、ソフトウェアにリソース制約および／または予算を（現在動作中に、または今後の動作に起因して）課すこと、（ソフトウェアの動作を延期、または全て取り消すことによって）動作を中断すること、これらの組み合わせなど、様々な方法で行われ得る。
【００４７】
［0051］  充電および性能状態の調整をデューティサイクルすることによって、電力資源選択モジュール２１６は、エネルギ蓄積デバイスを充電することと、ハードウェアおよび／またはソフトウェア構成要素を高性能状態で実行することとを交互に行う。ハードウェアおよび／またはソフトウェア構成要素が高性能状態で動作するのと同時にはエネルギ蓄積デバイスを充電しないことにより、コンピューティングデバイス１０２における熱量が低減される。
【００４８】
［0052］  予測モジュール２１４は、推定または予測されるユーザ挙動（たとえばユーザの意図を予測すること）、プログラム挙動（たとえば、ウイルス対策サービスなど、インストールされたソフトウェアがシステムをどのように使用しているか／どのような使用を引き起こすかを予測すること）、および／またはコンピューティングデバイス１０２のより一般的な使用の様々な特性に関する値を決定するために動作可能な機能を表す。この予測挙動または使用は、たとえばコンピューティングデバイス１０２と電力資源との接続のタイミング、コンピューティングデバイス１０２と電力資源との接続の期間、電力プロファイル（複数も可）、これらの組み合わせなどを含んでよい。
【００４９】
［0053］  １または複数の実施形態において、コンピューティングデバイスの推定または予測使用は、コンピューティングデバイス１０２が電力資源に接続されると予測されるタイミング、およびコンピューティングデバイス１０２と電力資源との接続の予測期間を含む。コンピューティングデバイスが電力資源に接続されると予測されるまでの時間を示す、たとえば秒数または分数である値などの値が決定される。コンピューティングデバイス１０２が電力資源に接続されると予測される期間を示す、たとえば秒数または分数などの値である他の値が決定される。他の例として、様々な非二値が用いられ得る。たとえば、コンピューティングデバイスが接続されると予測される電力資源によってどの程度の電力が供給され得るかを示す値が生成され、コンピューティングデバイスがどの程度の期間電力資源に接続されると予想されるかを示す値が生成され、コンピューティングデバイスが電力資源に接続される期間にどの程度のエネルギが電力資源から引き出されると予想されるかを示す値が生成され得るなどである。
【００５０】
［0054］  電力資源選択モジュール２１６は、これらの値を様々な方法で用いてよい。１または複数の実施形態において、コンピューティングデバイスが近い将来、短い時間電力資源に接続されることが予測され、エネルギ蓄積デバイスに残っている充電の量が閾値量を下回っている場合、電力資源選択モジュール２１６は、コンピューティングデバイスの温度を下げるためにコンピューティングデバイスを熱的に調整することを選択する。電力資源選択モジュール２１６は、コンピューティングデバイスのエネルギ蓄積デバイス（複数も可）が熱的高温ゾーン内にある場合、あるいはコンピューティングデバイスの任意の熱ゾーンの現在温度に関わらず、コンピューティングデバイスを熱的に調整することを選択してよい。コンピューティングデバイスを熱的に調整し、コンピューティングデバイスの温度を下げることによって、電力資源選択モジュール２１６は、電力資源への予測される近々の接続のためにコンピューティングデバイスを準備する。コンピューティングデバイスの温度が下げられたことにより、エネルギ蓄積デバイスの充電は、エネルギ蓄積デバイスを含む熱ゾーンが熱的高温ゾーンになることを避けながら、コンピューティングデバイスのより大きな温度上昇に寄与することができる。
【００５１】
［0055］  たとえば能動冷却機構（たとえばファン）をオンにすること、コンピューティングデバイス１０２の性能状態を低下させること（たとえば、中央処理ユニットが動作する周波数を低減すること、グラフィック処理ユニットを無効化すること）など、コンピューティングデバイスを熱的に調整するために様々な行動がとられ得る。
【００５２】
［0056］  近い将来コンピューティングデバイスが電力資源に接続されると予測されることは、現在時間から何らかの閾値時間内にコンピューティングデバイスが電力資源に接続されると予測されることを指す。この閾値時間は、たとえば１０分または２時間など、数分または数時間のオーダであってよい。
【００５３】
［0057］  短い時間の間に電力資源に接続されると予測されるコンピューティングデバイスは、一定の時間（たとえば５分間）または割合（たとえば、コンピューティングデバイス内のエネルギ蓄積デバイスを現在の充電レベルに関してフル充電するための推定時間の２５％）であり得る閾値時間より短い時間量を指す。
【００５４】
［0058］  追加または代替として、電力資源選択モジュール２１６は、コンピューティングデバイス１０２が電力資源に接続されると予測されるまでの時間を示す値、および／またはコンピューティングデバイス１０２が電力資源に接続されると予測される期間を示す値を他の方法で用いてよい。１または複数の実施形態において、コンピューティングデバイス１０２が電力資源に接続されているが、エネルギ蓄積デバイスを含む熱ゾーンが熱的に高温であり、エネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイス１０２が次に電力資源に接続されるまでコンピューティングデバイス１０２への動力供給を維持することが予測される場合、電力資源選択モジュール２１６は、エネルギ蓄積デバイスを充電しないことを決定する。エネルギ蓄積デバイスを充電しないことにより、エネルギ蓄積デバイスを含む熱ゾーンの温度がエネルギ蓄積デバイスの充電によって更に上昇することはなく、エネルギ蓄積デバイスの充電よりも、コンピューティングデバイスによる所望の作業負荷を実行すること（たとえば、コンピューティングデバイス１０２のユーザによって所望されるアプリケーションを実行すること）が優先される。
【００５５】
［0059］  ただし、コンピューティングデバイス１０２が電力資源に接続されており、エネルギ蓄積デバイスを含む熱ゾーンが熱的に高温であるが、エネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイス１０２が次に電力資源に接続されるまでコンピューティングデバイス１０２への動力供給を維持すると予測されない場合、電力資源選択モジュール２１６は、エネルギ蓄積デバイスを充電することを決定する。これによって、所望の作業負荷を実行することよりもエネルギ蓄積デバイスを充電することが事実上優先されるが、これは、エネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイス１０２が次に電力資源に接続されるまでコンピューティングデバイス１０２への動力供給を維持すると予測されないため、電力資源選択モジュール２１６によって適切と判断される。
【００５６】
［0060］  予測モジュール２１４は、コンピューティングデバイスがいつ電力資源に接続されるか、および接続の期間を、様々な方法で推定または予測してよい。１または複数の実施形態において、予測モジュール２１４は、コンピューティングデバイスが電力資源に接続される時間帯および／または曜日を示す記録を（たとえば、およそ数週間または数か月にわたり）維持する。この記録によって、予測モジュール２１４は、コンピューティングデバイスがいつ電力資源に接続されるか、およびコンピューティングデバイスが電力資源に接続される期間を示す使用パターンを識別することができる。記録を分析してこれらの使用パターンを識別するために、様々な公開技術および／または特許技術のいずれかが用いられ得る。
【００５７】
［0061］  たとえば、毎日曜（または、たとえば８０％など少なくとも閾値数の日曜）に正午から夜中０時までコンピューティングデバイスが電力資源に接続される場合、予測モジュール２１４は、次の日曜の正午、コンピューティングデバイスが電力資源に１２時間接続されると予測することができる。他の例として、毎曜日（または、たとえば７５％など少なくとも閾値数の曜日）、午後１時から午後２時半まで、コンピューティングデバイスが電力資源に接続される場合、現在時間が午後１２時４５分であれば、予測モジュール２１４は、コンピューティングデバイスが１５分以内に１時間半電力資源に接続されると予測することができる。
【００５８】
［0062］  追加または代替として、予測モジュール２１４は、コンピューティングデバイスがいつ電力資源に接続されるか、および／または接続の期間を、様々な他のデータのいずれかに基づいて予測してよい。予測モジュール２１４は、様々なソースからデータを得、予測される未来の使用パターンを識別するために様々な公開技術および／または特許技術のいずれかを用いてデータを分析してよい。
【００５９】
［0063］  例として、予測モジュール２１４は、コンピューティングデバイス１０２のユーザのカレンダーからデータを得てよい。過去の使用データ（コンピューティングデバイスが電力資源に接続された時間帯および／または曜日を示す記録）がユーザのカレンダーと比較されてよく、会合中（または特定の場所での会合中）、コンピューティングデバイスが電力資源に接続されるという決定が下される。たとえば予測モジュール２１４は、ユーザのカレンダーにおいて識別された近々の会合（または特定の場所での会合）の間、コンピューティングデバイスが電力資源に接続されることを予測してよい。
【００６０】
［0064］  他の例として、予測モジュール２１４は、たとえば（たとえばグローバルポジショニングシステム（ＧＰＳ）、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ、三角測量などを用いる）コンピューティングデバイス１０２の位置認識モジュールなどから、コンピューティングデバイス１０２の位置データを取得してよい。過去使用データ（コンピューティングデバイスが電力資源に接続された時間帯および／または曜日を示す記録）がユーザの位置と比較されてよく、特定の位置（たとえば自宅）でコンピューティングデバイスが電力資源に接続されるという決定が下される。たとえば予測モジュール２１４は、ユーザが自宅にいる場合、ある程度の時間コンピューティングデバイスが電力資源に接続されることを予測するが、（カレンダーの入力、会合の約束などに基づいて）ユーザが自宅におらず仕事に向かっている場合、短い時間コンピューティングデバイスが電力資源に接続されることを予測してよい。
【００６１】
［0065］  他の例として、予測モジュール２１４は、コンピューティングデバイスに関する使用データを収集するクラウドサービスからデータを得てよい。クラウドサービスは、様々な時間帯および／または曜日に関して、コンピューティングデバイス１０２と同じ種類のコンピューティングデバイスのユーザが自身のコンピューティングデバイスを電力資源に接続した期間のインジケーションを提供してよい。予測モジュール２１４はたとえば、クラウドサービスによって示されたこれらの時間帯および／または曜日にこれらの期間、コンピューティングデバイス１０２が電力資源に接続されることを予測してよい。
【００６２】
［0066］  予測モジュール２１４は、エネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイス１０２が次に電力資源に接続されるまでコンピューティングデバイス１０２への動力供給を維持するために十分であるかを、様々な方法で予測してよい。１または複数の実施形態において、予測モジュール２１４は、コンピューティングデバイス１０２の今後の予想作業負荷および／または電力使用に基づいて、この予測を行う。コンピューティングデバイス１０２が次に電力資源に接続されると予測されるまでのコンピューティングデバイス１０２の今後の予想作業負荷および／または電力使用が決定され、閾値充電量として用いられる。コンピューティングデバイス１０２の今後の予想作業負荷および／または電力使用を実行するためにエネルギ蓄積デバイス内に十分な充電があるか（たとえば、エネルギ蓄積デバイス内の充電残量が閾値充電量を超えているか）に関する決定が下される。
【００６３】
［0067］  予測モジュール２１４は、コンピューティングデバイス１０２の今後の予想作業負荷および／または電力使用を様々な方法で推定または予測してよい。１または複数の実施形態において、予測モジュール２１４は、時間帯および／または曜日、およびその時間帯および／または曜日における電力使用を示す記録を（たとえば、およそ数週間または数か月にわたり）維持する。この記録から、予測モジュール２１４は、コンピューティングデバイス１０２の電力使用を示す使用パターンを識別してよい。記録を分析し、時間および／または日にちに基づく使用パターンを識別するために、様々な公開技術および／または特許技術のいずれかが用いられ得る。追加または代替として、予測モジュール２１４は、コンピューティングデバイス１０２で実行したアプリケーション、およびこれらのアプリケーションの実行時における電力使用の記録を維持する。この記録から、予測モジュール２１４は、アプリケーション（複数も可）の実行に基づくコンピューティングデバイス１０２の電力使用を示す使用パターンを識別してよい。記録を分析して使用パターンを識別するために、様々な公開技術および／または特許技術のいずれかが用いられ得る。
【００６４】
［0068］  たとえば、毎月曜（または、たとえば８０％など少なくとも閾値数の月曜）、午前７時から午前１０時まで、特定の量の電力（たとえば１５００ミリアンペア毎時（ｍＡｈ））が使用される場合、予測モジュール２１４は、次の月曜、午前７時から午前１０時まで、コンピューティングデバイスが同じ特定量の電力（たとえば１５００ｍＡｈ）を使用することを予測してよい。他の例として、毎曜日（または、たとえば７５％など少なくとも閾値数の曜日）、正午から午後１時まで、コンピューティングデバイスが特定の量の電力（たとえば３０ｍＡｈ）を使用する場合、予測モジュール２１４は、現在午前１１時とすると、コンピューティングデバイスが本日の正午から午後１時までに３０ｍＡｈを使用することを予測してよい。また他の例として、画像処理アプリケーションがコンピューティングデバイス上で実行する度（または、たとえば７０％など少なくとも閾値数の回数）、コンピューティングデバイスが１０００ミリアンペア毎時（ｍＡ／ｈ）を使用する場合、予測モジュール２１４は、画像処理が現在コンピューティングデバイス上で実行しているとすると、コンピューティングデバイスが目下、１０００ｍＡ／ｈを使用すると予測してよい。
【００６５】
［0069］  追加または代替として、予測モジュール２１４は、様々な他のデータのいずれかに基づいて、コンピューティングデバイス１０２の今後の予想作業負荷および／または電力使用を推定または予測してよい。予測モジュール２１４は、様々なソースからデータを取得し、今後の予想使用パターンを識別するために様々な公開技術および／または特許技術のいずれかを用いてデータを分析してよい。
【００６６】
［0070］  例として、予測モジュール２１４は、コンピューティングデバイス１０２のユーザのカレンダーからデータを取得してよい。過去の使用データ（時間帯および／または曜日、およびこれらの時間帯および／または曜日における電力使用を示す記録）は、ユーザのカレンダーと比較されてよく、会合（または特定の場所での会合）中にコンピューティングデバイスが特定の量の電力（たとえば５０ｍＡ／ｈ）を使用するという決定が下される。予測モジュール２１４は、たとえば、コンピューティングデバイスが、ユーザのカレンダーにおいて識別された近々の会合（または特定の場所での会合）中にも５０ｍＡ／ｈを使用すること、またはユーザが会合の発表者として示されている場合、５０ｍＡ／ｈより多く（たとえば７０ｍＡ／ｈ）を使用することを予測してよい。
【００６７】
［0071］  例として、予測モジュール２１４は、コンピューティングデバイス１０２のユーザのカレンダーおよび／またはデジタルパーソナルアシスタント（たとえば、Ｃｏｒｔａｎａ（登録商標）パーソナルアシスタント）からデータを取得してよい。予測モジュール２１４は、この取得したデータがある場合、ユーザが（たとえば会合、休憩などのために）コンピューティングデバイス１０２から遠くにいる時を予測してよい。予測モジュール２１４は、たとえば、ユーザがコンピューティングデバイス１０２から遠くにいる間はコンピューティングデバイスが少量の電力（たとえば５ｍＡ／ｈ）しか使用しないことを更に予測してよい。
【００６８】
［0072］  例として、予測モジュール２１４は、たとえばコンピューティングデバイス１０２の位置認識モジュールなどから、コンピューティングデバイス１０２の位置データを取得してよい。過去の使用データ（たとえば、時間帯および／または曜日、およびこれらの時間帯および／または曜日における電力使用を示す記録）がユーザの位置と比較されてよく、特定の位置（たとえば自宅）において、コンピューティングデバイスが特定の量の電力（たとえば１００ｍＡ／ｈ）を使用するという決定が下される。予測モジュール２１４は、たとえばコンピューティングデバイスが、ユーザが次に自宅にいる時にも１００ｍＡ／ｈを使用することを予測してよい。
【００６９】
［0073］  例として、予測モジュール２１４は、コンピューティングデバイスに関する使用データを収集するクラウドサービスからデータを取得してよい。クラウドサービスは、コンピューティングデバイス１０２と同じ種類の他のコンピューティングデバイスに関する時間帯および／または曜日、およびこれらの時間帯および／または曜日における電力使用のインジケーションを提供してよい。予測モジュール２１４はたとえば、コンピューティングデバイスが、クラウドサービスによって示されたこれらの時間帯および／または曜日に同様または同じ量の電力を使用することを予測してよい。
【００７０】
［0074］  静的基準決定モジュール２１０からの情報が与えられると、動的システム基準決定モジュール２１２、および／または予測モジュール２１４、電力資源選択モジュール２１６は、任意の特定の時間にどのエネルギ蓄積デバイス（複数も可）２０２を充電するためにどの電力資源２２２、２２４を使用するかを容易に選択することができる。たとえば規則的または不規則的間隔（たとえばある程度の期間）で、特定のイベント（たとえばコンピューティングデバイス２００が新たに電力資源に接続されたこと）に応答してなど、様々な時間に、どのエネルギ蓄積デバイス（複数も可）２０２を充電するためにどの電力資源２２２、２２４を使用するかの決定が下される。
【００７１】
［0075］  １または複数の実施形態において、電力資源選択モジュール２１６は、上述したように個々の基準を用いる。エネルギ蓄積デバイス選択モジュール２１６は、個々の基準を用い、あるいは任意の組み合わせの基準を用いてよい。追加または代替として、電力資源選択モジュール２１６は、任意の所与の時間にどのエネルギ蓄積デバイス（複数も可）２０２を充電するためにどの電力資源２２２、２２４を使用するかを決定するために、様々な規則またはアルゴリズムを適用してよい。
【００７２】
［0076］  １または複数の実施形態において、電力資源選択モジュール２１６は、動的外部電力資源選択システム１２６によって用いられる基準をすべて満たすことを試みる。本明細書において様々な基準が説明されるが、留意すべき点として、必ずしも本明細書で説明される全ての基準が動的外部電力資源選択システム１２６によって用いられるわけではない。追加または代替として、動的外部電力資源選択システム１２６によって追加の基準が用いられてもよい。
【００７３】
［0077］  動的外部電力資源選択システム１２６によって用いられる全ての基準が満たされ得る場合、電力資源選択モジュール２１６は、動的外部電力資源選択システム１２６によって用いられる基準が全て満たされるように、任意の所与の時間にどのエネルギ蓄積デバイス（複数も可）２０２を充電するためにどの電力資源２２２、２２４を使用するかを選択する。ただし、全ての基準が満たされることはできない場合が起こり得る。たとえば、電力資源からエネルギ蓄積デバイスへの最もエネルギ効率の良い充電経路が熱的高温ゾーン内にある場合、１つの基準はその電力資源を使用することを示し得るが、他の基準はその電力資源を使用しないことを示す。
【００７４】
［0078］  １または複数の実施形態において、各基準は、様々な分類を割り当てられる。様々な符号を有する様々な分類レベルが用いられてよく、これらの分類レベルは、静的および／または動的に割り当てられ得る。様々な分類名または符号のいずれかが用いられ得る。分類レベルの一例は、（優先度または重要度の順に）最重要、重要、および情報提供である。たとえば数字または「重要度」値（たとえば０〜１００）など、他の分類レベルまたは符号が代わりに用いられてもよい。高い分類レベルは、低い分類レベルに対し優先権を付与される。たとえば、電力資源とエネルギ蓄積デバイスとの近接度が重要の分類レベルを付与され、充電経路が熱的安定ゾーン内にあることが（重要よりも高い）最重要の分類レベルを付与されるものとする。特定のエネルギ蓄積デバイスに関して最もエネルギ効率の良い電力資源が熱的高温ゾーン内にある場合、最もエネルギ効率の良い電力資源を選択することよりも熱的安定ゾーン内にある充電経路を選択することが優先されるため、電力資源選択モジュール２１６は、特定のエネルギ蓄積デバイスを充電するために最もエネルギ効率の良い電力資源以外の電力資源を選択する。
【００７５】
［0079］  １または複数の実施形態において、同じ分類レベルの基準が互いに矛盾する状況も起こり得る。そのような状況は、たとえば様々な基準に割り当てられた優先レベルを用いることなど、様々な方法で解決され得る。これらの優先レベルは、静的および／または動的に割り当てられ得る。様々な優先名または符号のいずれかが用いられ得る。符号の一例は、（優先度または重要度の順に）、高、中、および低である。同じ分類レベルを有する２つの異なる基準が矛盾する（たとえば、１つの基準は、特定のエネルギ蓄積デバイスを使用すべきであることを示し、他の基準は、特定のエネルギ蓄積デバイスを使用すべきでないことを示す）場合、電力資源選択モジュール２１６は、より高い優先度を有する基準を適用する。ただし、同じ優先レベルを有するが異なる分類レベルを有する２つの異なる基準が矛盾する場合、電力資源選択モジュール２１６は、より高い分類レベルを有する基準を適用する。
【００７６】
［0080］  分類レベルおよび優先レベルの評価は、逆の順序で実行されてもよい。たとえば、２つの異なる基準が矛盾する（たとえば、１つの基準は、特定のエネルギ蓄積デバイスを使用すべきであることを示し、他の基準は、特定のエネルギ蓄積デバイスを使用すべきでないことを示す）場合、エネルギ蓄積デバイス選択モジュール２１６は、より高い優先度を有する基準を適用する。同じ優先レベルの基準が互いに矛盾する状況が起こり得る。そのような状況は、たとえば様々な基準に割り当てられた分類レベルを用いることなど、様々な方法で解決され得る。たとえば、同じ優先レベルを有する２つの異なる基準が矛盾する（たとえば、１つの基準は、特定のエネルギ蓄積デバイスを使用すべきであることを示し、他の基準は、特定のエネルギ蓄積デバイスを使用すべきでないことを示す）場合、エネルギ蓄積デバイス選択モジュール２１６は、より高い分類レベルを有する基準を適用する。
【００７７】
［0081］  本明細書で説明される技術は、エネルギ蓄積デバイスを充電するために複数の電力資源のうちのどれを使用するかを選択するための動的アプローチを提供する。この動的アプローチは、複数の様々な基準に基づいて変化し、ユーザが自身のコンピューティングデバイスを用いる方法を考慮し得る。したがって、エネルギ蓄積デバイスを充電するための電力資源を選択するためにフリーサイズアプローチを用いるのではなく、本明細書で説明される動的アプローチは、個々のユーザに対してカスタマイズされ、または合わせられる。その結果、コンピューティングデバイスのより高い性能および熱的安定性がもたらされる。
【００７８】
［0082］  留意すべき点として、様々な値、符号、レベルなどが本明細書で説明されるが、これらは例であって、本明細書で説明される技術は、これらの例に限定されるものではない。たとえば、本明細書で説明される任意の特定の閾値および／または符号は例にすぎず、様々な他の閾値および／または符号が追加または代替として用いられてよい。これらの例は単なる例示であり、本明細書で説明される技術の範囲を限定することが意図されたものではない。
手順例
【００７９】
［0083］  動的外部電力資源選択技術の更なる態様が、図３および図４の手順例に関して説明される。本文書で説明される手順は、本明細書で説明される環境、システム、デバイス、および構成要素を用いて、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせに関連して実装され得る。手順は、１または複数のエンティティによって実行される動作を明示するブロックのセットとして表されてよく、必ずしも、動作の実行に関してそれぞれのブロックによって示される順序に限定されるものではない。
【００８０】
［0084］  図３は、１または複数の実装に係る、動的外部電力資源選択のための手順例３００の細部を説明するフロー図である。手順３００は、電力資源の選択の細部を説明する。手順３００は、たとえばオペレーティングシステム１０８、動的外部電力資源選択システム１２６、および／または図１〜２の例に関して説明された他の機能などによって、適切に構成されたコンピューティングデバイスによって実装され得る。
【００８１】
［0085］  コンピューティングデバイスの１または複数のエネルギ蓄積デバイスを充電するために利用可能な複数の電力資源が識別される（ブロック３０２）。どの電力資源がコンピューティングデバイスに接続されるか、接続が有線であるか無線であるかは、経時的に変化し得る。接続されると、接続は、電力資源によって用いられるプロトコルまたは規格に基づいて容易に識別され得る。
【００８２】
［0086］  複数の電力資源および／またはコンピューティングデバイスに関する１または複数の基準が評価される（ブロック３０４）。様々な基準が、上述したように評価され得る。たとえば、電力資源からエネルギ蓄積デバイスへの充電経路に沿った熱的活動が評価され得る、電力資源とエネルギ蓄積デバイスとの近接度が評価され得るなどである。また、無線充電源を使用することは最適ではないかもしれないなど、ユーザの利便性が考慮されてもよいが、無線充電源を使用する方がユーザ側での作業が少なくて済むなど、ユーザにとってより便利である。
【００８３】
［0087］  複数の電力資源の１または複数が、評価に基づいて選択される（ブロック３０６）。選択された電力資源はたとえば、電力が供給されるエネルギ蓄積デバイスに関して最もエネルギ効率が良い電力資源である。エネルギ蓄積デバイスシステムは、選択された１または複数の電力資源を用いて１または複数のエネルギ蓄積デバイスを充電するように設定される（ブロック３０８）。この設定によって、１または複数のエネルギ蓄積デバイスへ電力がルート付けされ、１または複数のエネルギ蓄積デバイスが充電される。
【００８４】
［0088］  図４は、１または複数の実装に係る、動的外部電力資源選択のための手順例４００の細部を説明するフロー図である。手順４００は、電力資源の選択の細部を説明する。手順４００は、たとえばオペレーティングシステム１０８、動的外部電力資源選択システム１２６、および／または図１〜２の例に関して説明された他の機能などによって、適切に構成されたコンピューティングデバイスによって実装され得る。
【００８５】
［0089］  コンピューティングデバイスの１または複数のエネルギ蓄積デバイスに残っている充電量が評価される（ブロック４０２）。この評価は、１または複数のエネルギ蓄積デバイスに残っている充電量が、たとえばエネルギ蓄積デバイスまたはエネルギ蓄積デバイスコントローラへの問い合わせなどの様々な方法で決定され得ることを含んでよい。
【００８６】
［0090］  コンピューティングデバイスが次に電力資源に接続されると予測されるのはいつか、および／または電力資源との接続の期間、および／または利用可能な電力プロファイルが決定される（ブロック４０４）。上述したように、これらの予測（複数も可）および／または利用可能な電力プロファイルを決定するために、様々なデータが分析され得る。これらの予測（複数も可）および／または電力プロファイル可用性のいずれか１つまたは任意の組み合わせが、動作４０４において決定され得る。
【００８７】
［0091］  ブロック４０４における決定に基づいて、コンピューティングデバイスは、コンピューティングデバイスを電力資源に接続する前に熱的に調整され、作業負荷（たとえば性能集約作業負荷）の実行が優先され、および／またはエネルギ蓄積デバイスの充電が優先される（ブロック４０６）。たとえばエネルギ蓄積デバイスが熱的に高温であるか、エネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイスが次に電力資源に接続されるまでコンピューティングデバイスへの動力供給を維持すると予測されるかなど様々な要因に基づいて、ブロック４０６において様々な行動がとられ得る。
システム例
【００８８】
［0092］  図５は、本明細書で説明される様々な技術を実行し得る１または複数のコンピューティングシステムおよび／またはデバイスの典型であるコンピューティングデバイス例５０２を含むシステム例５００を示す。コンピューティングデバイス５０２は、たとえばサービスプロバイダのサーバ、クライアントに関連するデバイス（たとえばクライアントデバイス）、オンチップシステム、および／または他の任意の適切なコンピューティングデバイスまたはコンピューティングシステムであってよい。
【００８９】
［0093］  図示したコンピューティングデバイス例５０２は、互いに通信可能に結合された、処理システム５０４、１または複数のコンピュータ可読媒体５０６、および１または複数のＩ／Ｏインタフェース５０８を含む。図示されないが、コンピューティングデバイス５０２は、様々な構成要素を互いに結合するシステムバスまたは他のデータおよびコマンド転送システムを更に含んでよい。システムバスは、たとえばメモリバスまたはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、および／または様々なバスアーキテクチャのいずれかを用いるプロセッサまたはローカルバスなど、様々なバス構造のいずれか１つまたは組み合わせを含んでよい。たとえば制御線およびデータ線など、他の様々な例も考えられる。
【００９０】
［0094］  処理システム５０４は、ハードウェアを用いて１または複数の動作を実行するための機能を表す。したがって処理システム５０４は、プロセッサ、機能ブロックなどとして構成され得るハードウェア要素５１０を含むものとして示される。これは、特定用途向け集積回路または１または複数の半導体を用いて形成された他の論理デバイスとしてのハードウェアにおける実装を含んでよい。ハードウェア要素５１０は、それらが形成される材料またはその内部で用いられる処理機構によって限定されるものではない。たとえばプロセッサは、半導体（複数も可）および／またはトランジスタ（たとえば電子集積回路（ＩＣ））から成ってよい。そのような場合、プロセッサ実行可能命令は、電子的に実行可能な命令であってよい。
【００９１】
［0095］  コンピュータ可読媒体５０６は、メモリ／ストレージ５１２を含むものとして示される。メモリ／ストレージ５１２は、１または複数のコンピュータ可読媒体に関連するメモリ／ストレージ容量を表す。メモリ／ストレージ５１２は、揮発性媒体（たとえばランダムアクセスメモリ（ＲＡＭ）など）および／または不揮発性媒体（たとえば読取専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスクなど）を含んでよい。メモリ／ストレージ５１２は、固定媒体（たとえばＲＡＭ、ＲＯＭ、固定ハードドライブなど）および取外し可能媒体（たとえばフラッシュメモリ、取外し可能ハードドライブ、光ディスクなど）を含んでよい。コンピュータ可読媒体５０６は、詳しく後述するように、様々な他の方法で構成され得る。
【００９２】
［0096］  入力／出力インタフェース（複数も可）５０８は、ユーザがコンピューティングデバイス５０２にコマンドおよび情報を入力することを可能にし、様々な入力／出力デバイスを用いて情報がユーザおよび／または他の構成要素またはデバイスに提示されることも可能にするための機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス（たとえばマウス）、音声動作用マイクロフォン、スキャナ、タッチ機能（たとえば、物理的接触を検出するように構成された容量式または他のセンサ）、（たとえば、ジェスチャなど接触を含まない動きを検出するために赤外周波数などの非可視波長および／または可視波長を利用し得る）カメラなどを含む。出力デバイスの例は、表示デバイス（たとえばモニタまたはプロジェクタ）、スピーカ、プリンタ、ネットワークカード、触覚応答デバイスなどを含む。したがって、コンピューティングデバイス５０２は、ユーザインタラクションに対応するために、詳しく後述するような様々な方法で構成され得る。
【００９３】
［0097］  様々な技術が、ソフトウェア、ハードウェア要素、またはプログラムモジュールの一般的文脈で本明細書において説明され得る。一般にそのようなモジュールは、特定のタスクを実行または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、構成要素、データ構造などを含む。本明細書で用いられる「モジュール」、「機能」、および「構成要素」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせを表す。本明細書で説明される技術の特徴は、プラットフォーム非依存であり、これは、様々なプロセッサを有する様々な商業用コンピューティングプラットフォームに技術が実装され得ることを意味する。
【００９４】
［0098］  説明されるモジュールおよび技術の実装は、何らかの形式のコンピュータ可読媒体に格納され、それらの間で伝送され得る。コンピュータ可読媒体は、コンピューティングデバイス５０２によってアクセスされ得る様々な媒体を含んでよい。限定ではなく例として、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「通信媒体」を含んでよい。
【００９５】
［0099］  「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波、または信号それ自体ではなく、情報の格納を可能にする媒体および／またはデバイスを指す。コンピュータ可読記憶媒体は、信号担持媒体、一時的信号、または信号それ自体を含むものではない。コンピュータ可読記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュール、論理要素／回路、または他のデータなどの情報の格納に適した方法または技術で実装される、たとえば揮発性および不揮発性、取外し可能および非取外し可能な媒体および／またはストレージデバイスを含む。コンピュータ可読記憶媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または他のストレージデバイス、有形媒体、またはコンピュータによってアクセスされ得る、所望の情報の格納に適した製品を含んでよいが、これに限定されるものではない。
【００９６】
［0100］  「通信媒体」は、たとえばネットワークを介してなど、コンピューティングデバイス５０２のハードウェアへ命令を伝送するように構成された信号担持媒体を指してよい。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、たとえば搬送波、データ信号、または他の移送機構などの変調データ信号で具体化してよい。通信媒体は、任意の情報配信媒体も含んでよい。「変調データ信号」という用語は、その特性の１または複数を有する、または情報を信号に符号化するための方法で変更された信号を意味する。限定ではなく例として、通信媒体は、たとえば有線ネットワークまたは直接有線接続などの有線媒体、およびたとえばアコーステック、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。
【００９７】
［0101］  上述したように、ハードウェア要素５１０およびコンピュータ可読媒体５０６は、本明細書で説明される技術の少なくともいくつかの態様を実装するためにいくつかの実施形態において用いられ得る、ハードウェア形式で実装された命令、モジュール、プログラマブルデバイス論理、および／または固定デバイス論理を表す。ハードウェア要素は、集積回路またはオンチップシステム、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブル論理デバイス（ＣＰＬＤ）、およびシリコンまたは他のハードウェアデバイスにおける他の実装の構成要素を含んでよい。これに関して、ハードウェア要素は、たとえば上述したコンピュータ可読記憶媒体など、実行のための命令を格納するために用いられるハードウェアデバイスおよびハードウェア要素によって具体化された命令、モジュール、および／または論理によって定義されたプログラムタスクを実行する処理デバイスとして動作してよい。
【００９８】
［0102］  上記の組み合わせもまた、本明細書で説明される様々な技術およびモジュールを実装するために用いられ得る。したがって、オペレーティングシステム１０８、アプリケーション１１０、動的外部電力資源選択システム１２６、および他のプログラムモジュールを含むソフトウェア、ハードウェア、またはプログラムモジュールは、何らかの形式のコンピュータ可読記憶媒体に、および／または１または複数のハードウェア要素５１０によって具体化される１または複数の命令および／または論理として実装され得る。コンピューティングデバイス５０２は、ソフトウェアおよび／またはハードウェアモジュールに対応する特定の命令および／または機能を実行するように構成され得る。したがって、ソフトウェアとしてコンピューティングデバイス５０２によって実行可能なモジュールとしてモジュールを実装することは、少なくとも部分的にハードウェアにおいて、たとえばコンピュータ可読記憶媒体および／または処理システムのハードウェア要素５１０を用いることによって実現され得る。命令および／または機能は、本明細書で説明される技術、モジュール、および例を実装するための１または複数の製品（たとえば１または複数のコンピューティングデバイス５０２および／または処理システム５０４）によって実行可能／動作可能であってよい。
【００９９】
［0103］  図５に更に示すように、システム例５００は、パーソナルコンピュータ（ＰＣ）、テレビデバイス、および／またはモバイルデバイスにおけるアプリケーションの実行時にシームレスなユーザ体験のためのユビキタス環境を可能にする。サービスおよびアプリケーションは、アプリケーションの使用、ビデオゲームのプレイ、ビデオの視聴などにおいて１つのデバイスから次のデバイスへ移行する場合の共通ユーザ体験のために、３つ全ての環境でほぼ同様に実行する。
【０１００】
［0104］  システム例５００において、複数のデバイスが、中央コンピューティングデバイスによって相互接続される。中央コンピューティングデバイスは、複数のデバイスにローカルであってよく、または複数のデバイスから遠隔に位置してよい。１つの実施形態において、中央コンピューティングデバイスは、ネットワーク、インターネット、または他のデータ通信リンクを介して複数のデバイスに接続された１または複数のサーバコンピュータのクラウドであってよい。
【０１０１】
［0105］  １つの実施形態において、この相互接続アーキテクチャは、複数のデバイスのユーザに共通かつシームレスな体験を提供するために、複数のデバイスにわたり機能が配信されることを可能にする。複数のデバイスの各々は、異なる物理要件および性能を有してよく、中央コンピューティングデバイスは、デバイスに合わせられ、かつ全てのデバイスに共通であるようにデバイスへ体験を配信することを可能にするプラットフォームを用いる。１つの実施形態において、ターゲットデバイスのクラスが作成され、体験は、デバイスのジェネリッククラスに合わせられる。デバイスのクラスは、物理的特徴、使用の種類、またはデバイスの他の一般特性によって定義され得る。
【０１０２】
［0106］  様々な実装において、コンピューティングデバイス５０２は、たとえばコンピュータ５１４、モバイル５１６、およびテレビ５１８が使用するために、様々な構成を想定し得る。これらの構成の各々は、一般に様々な構成および性能を有し得るデバイスを含むので、コンピューティングデバイス５０２は、様々なデバイスクラスの１または複数に従って構成され得る。たとえば、コンピューティングデバイス５０２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブックなどを含む、コンピュータ５１４クラスのデバイスとして実装され得る。
【０１０３】
［0107］  コンピューティングデバイス５０２は、たとえばモバイル電話、ポータブル音楽プレーヤ、ポータブルゲームデバイス、タブレットコンピュータ、マルチスクリーンコンピュータなどのモバイルデバイスを含む、モバイル５１６クラスのデバイスとして実装されてもよい。コンピューティングデバイス５０２は、略式の視聴環境において一般に大きなスクリーンを有する、または大きなスクリーンに接続されるデバイスを含む、テレビ５１８クラスのデバイスとして実装されてもよい。これらのデバイスは、テレビ、セットトップボックス、ゲーム機などを含む。
【０１０４】
［0108］  本明細書で説明される技術は、これらの様々な構成のコンピューティングデバイス５０２に対応してよく、本明細書で説明される技術の特定の例に限定されるものではない。これは、動的外部電力資源選択システム１２６およびエネルギ蓄積デバイスシステム１２８をコンピューティングデバイス５０２に含むことによって示される。動的外部電力資源選択システム１２６および他のモジュール／アプリケーションによって表される機能は、たとえば後述するようにプラットフォーム５２２を介して「クラウド」５２０によってなど、分散型システムの使用を通して全部または一部が実装されてもよい。
【０１０５】
［0109］  クラウド５２０は、リソース５２４のためのプラットフォーム５２２を含み、および／またはこれを表す。プラットフォーム５２２は、クラウド５２０のハードウェア（たとえばサーバ）およびソフトウェアリソースの基礎機能を抽象化する。リソース５２４は、コンピューティングデバイス５０２から遠隔にあるサーバ上でコンピュータ処理が実行されている時に用いられ得るアプリケーションおよび／またはデータを含んでよい。リソース５２４は、たとえばセルラまたはＷｉＦｉネットワークなどの加入者ネットワークおよび／またはインターネットを介して提供されるサービスも含んでよい。
【０１０６】
［0110］  プラットフォーム５２２は、コンピューティングデバイス５０２を他のコンピューティングデバイスと接続するためにリソースおよび機能を抽象化してよい。プラットフォーム５２２は、プラットフォーム５２２を介して実装されるリソース５２４に対する、直面した要求に対応する規模を提供するために、リソースのスケーリングを抽象化するためにも機能し得る。したがって、相互接続型デバイス実施形態において、本明細書で説明される機能の実装は、システム５００全体に分散され得る。たとえば、機能は、コンピューティングデバイス５０２に部分的に実装されるとともに、クラウド５２０の機能を抽象化するプラットフォーム５２２を介して実装され得る。
【０１０７】
［0111］  本明細書の論議において、様々な実施形態が説明される。理解すべき点として、本明細書で説明される各実施形態は、それ自体で、または本明細書で説明される１または複数の他の実施形態と関連して用いられ得る。本明細書で説明される技術の更なる態様は、以下の実施形態の１または複数に関連する。
【０１０８】
［0112］  １または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて実行される方法であって、１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するためにコンピューティングデバイスが利用可能な複数の電力資源を識別することと、複数の電力資源のうち、第１のエネルギ蓄積デバイスに関して最もエネルギ効率の良い第１の電力資源を選択することと、第１の電力資源を用いて第１のエネルギ蓄積デバイスを充電するようにエネルギ蓄積デバイスシステムを設定することとを備える方法。
【０１０９】
［0113］  上述した方法のいずれかへの代替または追加として、複数の電力資源の各々は様々な電力源を備えること、複数の電力資源の各々は、電力源の複数の電力プロファイルのうちの１つを備えること、選択することは、複数の電力資源の各々について、電力資源と第１のエネルギ蓄積デバイスとの間の相互接続抵抗を識別することと、複数の電力資源のうち、電力資源と第１のエネルギ蓄積デバイスとの間の最も小さい相互接続抵抗を有する１つを第１の電力資源として選択することとを備えること、１または複数のエネルギ蓄積デバイスが複数のエネルギ蓄積デバイスを含み、複数の電力資源のうち、複数のエネルギ蓄積デバイスのうちの第２のエネルギ蓄積デバイスに関して最もエネルギ効率の良い第２の電力資源を選択することと、第１の電力資源を用いて第１のエネルギ蓄積デバイスを充電するのと同時に、第２の電力資源を用いて第２のエネルギ蓄積デバイスを充電するようにエネルギ蓄積デバイスシステムを設定することとを更に備える方法、コンピューティングデバイスが電力資源に接続されてない場合、１または複数のエネルギ蓄積デバイスにおける充電量が閾値充電量を下回っていると決定することと、コンピューティングデバイスが閾値時間未満で電力資源に接続されることが予測されると決定することと、コンピューティングデバイスが電力資源に接続される前に、コンピューティングデバイスの温度を下げるためにコンピューティングデバイスを熱的に調整することとを更に備える方法、コンピューティングデバイスが高性能状態にあることに応答して、第１のエネルギ蓄積デバイスの充電を停止することを更に備える方法、コンピューティングデバイスが低性能状態にあることに応答して、第１のエネルギ蓄積デバイスの充電を再開することを更に備える方法のいずれか１つまたは組み合わせ。
【０１１０】
［0114］  １または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムを有するコンピューティングデバイスにおいて実行される方法であって、１または複数のエネルギ蓄積デバイスのうちの第１のエネルギ蓄積デバイスを充電するためにコンピューティングデバイスが利用可能な複数の電力資源を識別することと、複数の電力資源の各々について、電力資源から第１のエネルギ蓄積デバイスへの充電経路に沿った熱的活動を決定することと、複数の電力資源から第１のエネルギ蓄積デバイスへの充電経路に沿った熱的活動に基づいて、複数の電力資源から電力資源を選択することと、選択された電力源を用いて第１のエネルギ蓄積デバイスを充電するようにエネルギ蓄積デバイスシステムを設定することとを備える方法。
【０１１１】
［0115］  上述した方法のいずれかへの代替または追加として、選択することは、複数の電力資源のうち、熱的安定ゾーン内にある第１のエネルギ蓄積デバイスへの充電経路を有する１つを電力資源として選択することを備えること、選択することおよび設定することは、複数の電力資源をデューティサイクルすることを備えること、コンピューティングデバイスが高性能状態にあることに応答して、第１のエネルギ蓄積デバイスの充電を停止することを更に備える方法、コンピューティングデバイスが低性能状態にあることに応答して、第１のエネルギ蓄積デバイスの充電を再開することを更に備える方法、複数の電力資源の各々は様々な電力源を備えること、複数の電力資源の各々は、電力源の複数の電力プロファイルのうちの１つを備えることのいずれか１つまたは組み合わせ。
【０１１２】
［0116］  １または複数のエネルギ蓄積デバイスを含むエネルギ蓄積デバイスシステムと、処理システムと、処理システムによる実行に応答して、１または複数のプロセッサに、１または複数のエネルギ蓄積デバイスにおける充電量が閾値充電量を下回ると決定することと、コンピューティングデバイスが閾値時間未満で電力資源に接続されることが予測されると決定することと、コンピューティングデバイスが電力資源に接続される前に、コンピューティングデバイスの温度を下げるためにコンピューティングデバイスを熱的に調整することとを備える動作を実行させる複数の命令を格納しているコンピュータ可読記憶媒体とを備えるコンピューティングデバイス。
【０１１３】
［0117］  上述したコンピューティングデバイスに代替または追加として、動作は更に、コンピューティングデバイスがその後電力資源に接続されている間、１または複数のエネルギ蓄積デバイスが熱的高温ゾーン内にあること、および１または複数のエネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイスが次に電力資源に接続されるまでコンピューティングデバイスへの動力供給を維持すると予測されることに応答して、１または複数のエネルギ蓄積デバイスを充電しないことを決定することを備えること、動作は更に、コンピューティングデバイスがその後電力資源に接続されている間、１または複数のエネルギ蓄積デバイスに残っている充電量が、コンピューティングデバイスが次に電力資源に接続されるまでコンピューティングデバイスへの動力供給を維持しないと予測されることに応答して、１または複数のエネルギ蓄積デバイスを充電することを決定することを備えること、閾値充電量は、コンピューティングデバイスが次に電力資源に接続されると予測されるまでのコンピューティングデバイスの予想電力使用量を備えること、熱的に調整することは、エネルギ蓄積デバイスの少なくとも１つが熱的高温ゾーン内にある場合、コンピューティングデバイスを熱的に調整することを備えることのいずれか１つまたは組み合わせ。
結論
【０１１４】
［0118］  実装の例は、構造的特徴および／または方法論的動作に特有の言語で説明されたが、理解すべき点として、添付のクレームにおいて定義される実装は、必ずしも説明された特定の特徴または動作に限定されるものではない。本来、特定の特徴および動作は、主張される特徴を実装する形式の例として開示されるものである。
【図１】
2020513603.tif 000003
【図２】
2020513603.tif 000004
【図３】
2020513603.tif 000005
【図４】
2020513603.tif 000006
【図５】
2020513603.tif 000007
【国際調査報告】
2020513603.tif 000008
2020513603.tif 000009
2020513603.tif 000010
2020513603.tif 000011
2020513603.tif 000012