(57)【特許請求の範囲】
【請求項１】
複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターするステップと、
現在の負荷の少なくとも１つの負荷特徴をモニターするステップと、
複数の選択モードのうちの１つに従って、少なくとも１つのエネルギー源特徴をモニターする前記ステップ及び少なくとも１つの負荷特徴をモニターする前記ステップに応じて、前記複数の有限のエネルギー源のうちの１つを選択するステップと、
前記現在の負荷を、選択された前記有限のエネルギー源にスケジュールするステップと、を含み、
前記複数の有限のエネルギー源が、複数のバッテリーモジュールを含み、
少なくとも１つのエネルギー源特徴をモニターする前記ステップが、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターするステップと、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスするステップと
を含み、
前記複数の選択モードのうちの１つに従って、前記複数の有限のエネルギー源のうちの１つを選択する前記ステップが、
今後の推定作業負荷を計算するステップと、
前記今後の推定作業負荷、少なくとも１つのエネルギー源特徴をモニターする前記ステップ、又は少なくとも１つの負荷特徴をモニターする前記ステップのうちの少なくとも１つに応じて、前記現在の負荷に対して、前記複数の選択モードのうちから選択モードを割り当てるステップと、
前記割り当てられた選択モードに従って、前記複数の有限のエネルギー源のうちの前記１つを選択するステップと
をさらに含み、
少なくとも１つの負荷特徴をモニターする前記ステップが、
前記現在の負荷が低電力負荷であるか、又は高電力負荷であるかを判断するステップを含み、
前記割り当てられた選択モードが、分離モード、投資モード、又は予約モードを含み、
前記投資モードが、
貪欲アルゴリムを適用して、前記複数のバッテリーモジュールから貪欲嗜好のバッテリーを選ぶステップであって、
前記貪欲アルゴリムが、低電力負荷を、デバイス内のその他のバッテリーと比べて高い内部抵抗を有するバッテリーに割り当てるステップ、及び、高電力負荷を、デバイス内のその他のバッテリーと比べて低い内部抵抗を有するバッテリーに割り当てるステップを含み、
前記貪欲嗜好のバッテリーが、高電力負荷に対してスケジューリング決定を行う時点において最も低い内部抵抗を有するバッテリー、及び、低電力負荷に対してスケジューリング決定を行う時点において最も高い内部抵抗を有するバッテリーを含む、
ものと、
前記現在の負荷が低電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、前記現在の選択に関わらず、低電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリーを選択するステップと、
前記現在の負荷が高電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、スケジューリング決定に関わらず、高電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリー以外の有限のエネルギー源を選択するステップと
を含み、
前記予約モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップであって、前記第１のバッテリーモジュールが前記第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有し、第１のバッテリー最大抵抗が、前記第２のバッテリーの第２のバッテリー最大抵抗より低い、識別するステップと、
前記現在の負荷が低電力であり、前記第２のバッテリー最大抵抗の前記第１のバッテリー最大抵抗に対する割合が、最大抵抗不平衡閾値を超え、前記今後の推定作業負荷が、前記第１のバッテリーモジュールの残存容量を占めるのに十分な高電力負荷量を予測する場合に、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと
を含み、
前記分離モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップあって、前記第１のバッテリーモジュールが前記第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有する、識別するステップと、
前記現在の負荷が低電力である場合、選択された前記有限のエネルギー源として、前記第１のバッテリーモジュールを選択するステップと、
前記現在の負荷が高電力である場合、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと
を含む、方法。
【請求項２】
少なくとも１つのエネルギー源特徴をモニターする前記ステップが、第１のバッテリーモジュールから消費されたエネルギー量を計算するステップを含み、
前記複数の有限のエネルギー源のうちの１つを選択する前記ステップが、
前記第１のバッテリーモジュールから消費された前記エネルギー量が、切り替え閾値以下である場合、前記複数の選択モードのうちの第１の選択モードに従って選択するステップと、
前記第１のバッテリーモジュールから消費された前記エネルギー量が、前記切り替え閾値より大きい場合、前記複数の選択モードのうちの第２の選択モードに従って選択するステップと
を含む、請求項１に記載の方法。
【請求項３】
少なくとも１つの負荷特徴をモニターする前記ステップが、
前記現在の負荷が、低電力負荷であるか、又は高電力負荷であるかを判断するステップを含み、
前記第１の選択モードが、前記第１のバッテリーモジュールを選択するステップを含み、
前記第２の選択モードが、
前記現在の負荷が低電力である場合、前記第１のバッテリーモジュールを選択するステップと、
前記現在の負荷が高電力である場合、前記第２のバッテリーモジュールを選択するステップと
を含む、請求項２に記載の方法。
【請求項４】
前記複数の有限のエネルギー源のうちの少なくとも１つの前記少なくとも１つの状態が、前記複数のバッテリーモジュールの少なくとも１つの内部抵抗、充電状態、温度、年齢、又は完了した放電サイクルの回数のうちの少なくとも１つの値を含み、
前記複数の有限のエネルギー源のうちの少なくとも１つの前記少なくとも１つの格納された特徴が、前記複数のバッテリーモジュールの少なくとも１つの前記内部抵抗対エネルギー出力の格納された情報、前記充電状態対エネルギー出力の格納された情報、初期内部抵抗、又は最大抵抗を含む、請求項１に記載の方法。
【請求項５】
複数の有限のエネルギー源に結合された少なくとも１つのコンピューティングデバイスであって、前記複数の有限のエネルギー源が、前記少なくとも１つのコンピューティングデバイスに電力を供給するように構成され、前記複数の有限のエネルギー源が、複数のバッテリーモジュールを含む、少なくとも１つのコンピューティングデバイスと、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターするように構成されたバッテリーモニタリングモジュールと、
現在の負荷の少なくとも１つの負荷特徴をモニターするように構成された負荷特徴付けモジュールと、
負荷スケジューリングモジュールと
を備え、前記負荷スケジューリングモジュールが、
複数の選択モードのうちの１つに従って、前記バッテリーモニタリングモジュールによって前記負荷スケジューリングモジュールに提供されたデータ、又は前記負荷特徴付けモジュールによって前記負荷スケジューリングモジュールに提供されたデータのうちの少なくとも１つに応じて、前記複数の有限のエネルギー源のうちの１つを選択し、
前記現在の負荷を、選択された前記有限のエネルギー源にスケジュールする
ように構成され、
前記バッテリーモニタリングモジュールが、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターし、
前記複数のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスする
ように、さらに構成され、
前記負荷スケジューリングモジュールが、
今後の推定作業負荷を計算し、
前記今後の推定作業負荷、前記バッテリーモニタリングモジュールによって提供された前記データ、又は前記負荷特徴付けモジュールによって提供された前記データのうちの少なくとも１つに応じて、前記現在の負荷に対して、前記複数の選択モードから選択モードを割り当て、
前記割り当てられた選択モードに従って、前記複数の有限のエネルギー源のうちの前記１つを選択する
ように、さらに構成され、
前記負荷特徴付けモジュールが、前記現在の負荷を、低電力負荷又は高電力負荷として特徴付けるようにさらに構成され、前記割り当てられた選択モードが、分離モード、投資モード、又は予約モードを含み、
前記投資モードが、
貪欲アルゴリムを適用して、前記複数のバッテリーモジュールから貪欲嗜好のバッテリーを選ぶステップであって、
前記貪欲アルゴリムが、低電力負荷を、デバイス内のその他のバッテリーと比べて高い内部抵抗を有するバッテリーに割り当てるステップ、及び、高電力負荷を、デバイス内のその他のバッテリーと比べて低い内部抵抗を有するバッテリーに割り当てるステップを含み、
前記貪欲嗜好のバッテリーが、高電力負荷に対してスケジューリング決定を行う時点において最も低い内部抵抗を有するバッテリー、及び、低電力負荷に対してスケジューリング決定を行う時点において最も高い内部抵抗を有するバッテリーを含む、
ものと、
前記現在の負荷が低電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、前記現在の選択に関わらず、低電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリーを選択するステップと、
前記現在の負荷が高電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、スケジューリング決定に関わらず、高電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリー以外の有限のエネルギー源を選択するステップと
を含み、
前記予約モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップであって、前記第１のバッテリーモジュールが前記第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有し、第１のバッテリー最大抵抗が、前記第２のバッテリーの第２のバッテリー最大抵抗より低い、識別するステップと、
前記現在の負荷が低電力であり、前記第２のバッテリー最大抵抗の前記第１のバッテリー最大抵抗に対する割合が、最大抵抗不平衡閾値を超え、前記今後の推定作業負荷が、前記第１のバッテリーモジュールの残存容量を占めるのに十分な高電力負荷量を予測する場合に、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと
を含み、
前記分離モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップあって、前記第１のバッテリーモジュールが前記第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有する、識別するステップと、
前記現在の負荷が低電力である場合、選択された前記有限のエネルギー源として、前記第１のバッテリーモジュールを選択するステップと、
前記現在の負荷が高電力である場合、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと、
を含む、システム。
【請求項６】
コンピューター実行可能命令が記録された１つ又は複数のコンピューター可読媒体であって、前記コンピューター実行可能命令が、複数の有限のエネルギー源に関連したコンピューティングシステムによって実行されると、前記コンピューティングシステムに、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターするステップと、
現在の負荷の少なくとも１つの負荷特徴をモニターするステップと、
複数の選択モードのうちの１つに従って、少なくとも１つのエネルギー源特徴をモニターする前記ステップ、及び少なくとも１つの負荷特徴をモニターする前記ステップに応じて、前記複数の有限のエネルギー源のうちの１つを選択するステップと、
前記現在の負荷を選択された前記有限のエネルギー源にスケジュールするステップと、を含む動作を実行させるように構成され、
少なくとも１つのエネルギー源特徴をモニターする前記ステップが、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターするステップと、
前記複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスするステップと
を含み、
複数の選択モードのうちの１つに従って、前記複数の有限のエネルギー源のうちの１つを選択する前記ステップが、
今後の推定作業負荷を計算するステップと、
前記今後の推定作業負荷、少なくとも１つのエネルギー源特徴をモニターする前記ステップ、又は少なくとも１つの負荷特徴をモニターする前記ステップのうちの少なくとも１つに応じて、前記現在の負荷に対して、前記複数の選択モードから選択モードを割り当てるステップと、
前記割り当てられた選択モードに従って、前記複数の有限のエネルギー源のうちの前記１つを選択するステップと
をさらに含み、
少なくとも１つの負荷特徴をモニターする前記ステップが、前記現在の負荷が、低電力負荷であるか、又は高電力負荷であるかを判断するステップを含み、
前記割り当てられた選択モードが、分離モード、投資モード、又は予約モードを含み、      前記複数の有限のエネルギー源が、複数のバッテリーモジュールを含み、
前記投資モードが、
貪欲アルゴリムを適用して、前記複数のバッテリーモジュールから貪欲嗜好のバッテリーを選ぶステップであって、
前記貪欲アルゴリムが、低電力負荷を、デバイス内のその他のバッテリーと比べて高い内部抵抗を有するバッテリーに割り当てるステップ、及び、高電力負荷を、デバイス内のその他のバッテリーと比べて低い内部抵抗を有するバッテリーに割り当てるステップを含み、
前記貪欲嗜好のバッテリーが、高電力負荷に対してスケジューリング決定を行う時点において最も低い内部抵抗を有するバッテリー、及び、低電力負荷に対してスケジューリング決定を行う時点において最も高い内部抵抗を有するバッテリーを含む、
ものと、
前記現在の負荷が低電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、前記現在の選択に関わらず、低電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリーを選択するステップと、
前記現在の負荷が高電力であり、前記今後の推定作業負荷が、前記貪欲嗜好のバッテリーの現時点で使用可能な状態が、スケジューリング決定に関わらず、高電力負荷で占められるようになると予測する場合に、選択された前記有限のエネルギー源として、前記貪欲嗜好のバッテリー以外の有限のエネルギー源を選択するステップと
を含み、
前記予約モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップであって、前記第１のバッテリーモジュールが、前記第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有し、第１のバッテリー最大抵抗が、前記第２のバッテリーの第２のバッテリー最大抵抗より低い、識別するステップと、
前記現在の負荷が低電力であり、前記第２のバッテリー最大抵抗の前記第１のバッテリー最大抵抗に対する割合が、最大抵抗不平衡閾値を超え、前記今後の推定作業負荷が、前記第１のバッテリーモジュールの残存容量を占めるのに十分な高電力負荷量を予測する場合に、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと
を含み、
前記分離モードが、
第１のバッテリーモジュールと第２のバッテリーモジュールとを識別するステップであって、前記第１のバッテリーモジュールが、前記第２のバッテリーモジュールの内部抵抗より相対的に高い内部抵抗を有する、識別するステップと、
前記現在の負荷が低電力である場合、選択された前記有限のエネルギー源として、前記第１のバッテリーモジュールを選択するステップと、
前記現在の負荷が高電力である場合、選択された前記有限のエネルギー源として、前記第２のバッテリーモジュールを選択するステップと
を含む、
コンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数バッテリーデバイスにおける負荷スケジューリングに関する。
【背景技術】
【０００２】
[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]さらなる実施形態において、システムにおけるバッテリーについての格納された情報又はプロファイルが、負荷スケジューリングモジュールに提供され得る、又は負荷スケジューリングモジュールによってアクセスされ得る。いくつかの実施形態において、推定作業負荷が計算され、負荷スケジューリングモジュールに提供され得る。いくつかの実施形態において、負荷スケジューリングモジュールは、モニターされたバッテリーパラメーター、負荷特徴、推定作業負荷、格納されたバッテリー情報もしくはプロファイル、又はその他の情報のうちの任意の組合せを使用して、負荷スケジューリング決定を行うことができる。
【００２２】
[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]分離（ｓｅｐａｒａｔｉｏｎ）、投資、及び予約の原理を適用するハイブリッド負荷スケジューリングアルゴリズムの特定の例示的な実施形態の例示的な擬似コードが以下に現れる。擬似コード１は、擬似コード２と擬似コード３の両方に適用可能な入力、出力、及び関数の定義を紹介する。擬似コード２は、高電力負荷用の例示的なスケジューリングアルゴリズムを表す。擬似コード３は、低電力負荷用の例示的なスケジューリングアルゴリズムを表す。
【００９３】
【表１】
0006667502.tif 000002
【００９４】
【表２】
0006667502.tif 000003
【００９５】
【表３】
0006667502.tif 000004
【００９６】
[0101]例示的な擬似コード１、２、及び３のアルゴリズムは、負荷スケジューリングモジュール１２０、バッテリーモニタリングモジュール１１６、作業負荷推定モジュール１１８、又は電力管理モジュール１１４のうちのいずれか１つ又は組合せによって実施され得る。表されたアルゴリズムは、図３、４、及び５に示され、また本明細書で詳細に説明されたプロセス及びステップのより詳細な実施態様を表すことができる。
例示的な条項
[0102]Ａ．方法であって、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターすることと、現在の負荷の少なくとも１つの負荷特徴をモニターすることと、少なくとも１つのエネルギー源特徴をモニターすること、及び少なくとも１つの負荷特徴をモニターすることに応じて、複数の有限のエネルギー源のうちの１つを選択することと、現在の負荷を有限の選択エネルギー源にスケジュールすることと、を含む、方法。
【００９７】
[0103]Ｂ．複数の有限のエネルギー源が複数のバッテリーモジュールを備える、条項Ａ、Ｍ、又はＱによる、方法、システム、又はコンピューター可読媒体。
[0104]Ｃ．少なくとも１つのエネルギー源特徴をモニターすることが、第１のバッテリーモジュールから消費されたエネルギー量を計算することを含み、複数の有限のエネルギー源のうちの１つを選択することが、第１のバッテリーモジュールから消費されたエネルギー量が切り替え閾値以下である場合、第１の選択モードに従って選択することと、第１のバッテリーモジュールから消費されたエネルギー量が切り替え閾値より大きい場合、第２の選択モードに従って選択することと、を含む、条項Ｂによる方法。
【００９８】
[0105]Ｄ．少なくとも１つの負荷特徴をモニターすることが、現在の負荷が低電力負荷であるか、又は高電力負荷であるかを判断することを含み、第１の選択モードが、第１のバッテリーモジュールを選択することを含み、第２の選択モードが、現在の負荷が低電力である場合、第１のバッテリーモジュールを選択することと、現在の負荷が高電力である場合、第２のバッテリーモジュールを選択することと、を含む、条項Ｃによる方法。
【００９９】
[0106]Ｅ．少なくとも１つのエネルギー源特徴をモニターすることが、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターすることと、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスすることと、を含む、条項Ｂによる方法。
【０１００】
[0107]Ｆ．複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態が、複数のバッテリーモジュールのうちの少なくとも１つの内部抵抗、充電状態、温度、年齢、又は完了した放電サイクルの回数のうちの少なくとも１つの値を含み、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴が、複数のバッテリーモジュールのうちの少なくとも１つの、内部抵抗対エネルギー出力の格納された情報、充電状態対エネルギー出力の格納された情報、初期内部抵抗、最大抵抗を含む、条項Ｅによる方法。
【０１０１】
[0108]Ｇ．少なくとも１つの格納された特徴が、方法の以前の適用の結果に応じて、拡張又は修正される、条項Ｆによる方法。
[0109]Ｈ．複数の有限のエネルギー源のうちの１つを選択することが、今後の推定作業負荷を計算することと、今後の推定作業負荷、少なくとも１つのエネルギー源特徴をモニターすること、又は少なくとも１つの負荷特徴をモニターすることのうちの少なくとも１つに応じて、現在の負荷に対して選択モードを割り当てることと、割り当てられた選択モードに従って、複数の有限のエネルギー源のうちの１つを選択することと、をさらに含む、条項Ｅによる方法。
【０１０２】
[0110]Ｉ．少なくとも１つの負荷特徴をモニターすることが、現在の負荷が低電力負荷であるか、又は高電力負荷であるかを判断することを含み、割り当てられた選択モードが、分離モード、投資モード、又は予約モードを含む、条項Ｈによる方法。
【０１０３】
[0111]Ｊ．投資モードが、貪欲アルゴリズムを適用して、複数のバッテリーモジュールから貪欲嗜好のバッテリーを選ぶことと、現在の負荷が低電力であり、今後の推定作業負荷が、貪欲嗜好のバッテリーの現時点で使用可能な位置が、現在の選択に関わらず、低電力負荷で占められるようになると予測する場合に、有限の選択エネルギー源として、貪欲嗜好のバッテリーを選択することと、現在の負荷が高電力であり、今後の推定作業負荷が、貪欲嗜好のバッテリーの現時点で使用可能な位置が、スケジューリング決定に関わらず、高電力負荷で占められるようになると予測する場合に、有限の選択エネルギー源として、貪欲嗜好のバッテリー以外の有限のエネルギー源を選択することと、を含む、条項Ｉによる方法。
【０１０４】
[0112]Ｋ．予約モードが、第１のバッテリーモジュールと第２のバッテリーモジュールとを識別することであって、第１のバッテリーモジュールが第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有し、第１のバッテリー最大抵抗が、第２のバッテリーの第２のバッテリー最大抵抗より低い、識別することと、現在の負荷が低電力であり、第２のバッテリー最大抵抗の第１のバッテリー最大抵抗に対する割合が、最大抵抗不平衡閾値を超え、今後の推定作業負荷が、第１のバッテリーモジュールの残存容量を占めるのに十分な高電力負荷量を予測する場合に、有限の選択エネルギー源として、第２のバッテリーモジュールを選択することと、を含む、条項Ｉ、Ｐ、又はＳによる方法、システム、又はコンピューター可読媒体。
【０１０５】
[0113]Ｌ．分離モードが、第１のバッテリーモジュールと第２のバッテリーモジュールとを識別することであって、第１のバッテリーモジュールが第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有する、識別することと、現在の負荷が低電力である場合、有限の選択エネルギー源として、第１のバッテリーモジュールを選択することと、現在の負荷が高電力である場合、有限の選択エネルギー源として、第２のバッテリーモジュールを選択することと、を含む、条項Ｉ、Ｐ、又はＳによる方法、システム、又はコンピューター可読媒体。
【０１０６】
[0114]Ｍ．システムであって、複数の有限のエネルギー源に結合された少なくとも１つのコンピューティングデバイスであって、複数の有限のエネルギー源が、少なくとも１つのコンピューティングデバイスに電力を供給するように構成された、少なくとも１つのコンピューティングデバイスと、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターするように構成されたバッテリーモニタリングモジュールと、現在の負荷の少なくとも１つの負荷特徴をモニターするように構成された負荷特徴付けモジュールと、負荷スケジューリングモジュールとを備え、負荷スケジューリングモジュールが、バッテリーモニタリングモジュールによって負荷スケジューリングモジュールに提供されたデータ、又は負荷特徴付けモジュールによって負荷スケジューリングモジュールに提供されたデータのうちの少なくとも１つに応じて、複数の有限のエネルギー源のうちの１つを選択し、現在の負荷を、有限の選択エネルギー源にスケジュールするように構成された、システム。
【０１０７】
[0115]Ｎ．複数の有限のエネルギー源が、複数のバッテリーモジュールを含む、条項Ｍによるシステム。
[0116]Ｏ．バッテリーモニタリングモジュールが、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターし、複数のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスするようにさらに構成され、負荷スケジューリングモジュールが、今後の推定作業負荷を計算し、今後の推定作業負荷、バッテリーモニタリングモジュールによって提供されたデータ、又は負荷特徴付けモジュールによって提供されたデータのうちの少なくとも１つに応じて、現在の負荷に対して選択モードを割り当て、割り当てられた選択モードに従って、複数の有限のエネルギー源のうちの１つを選択するようにさらに構成される、条項Ｎによるシステム。
【０１０８】
[0117]Ｐ．負荷特徴付けモジュールが、現在の負荷を、低電力負荷又は高電力負荷として特徴付けするようにさらに構成され、割り当てられる選択モードが、分離モード、投資モード、又は予約モードを含む、条項Ｏによるシステム。
【０１０９】
[0118]Ｑ．コンピューター実行可能命令が記録された１つ又は複数のコンピューター可読媒体であって、コンピューター実行可能命令が、複数の有限のエネルギー源に関連したコンピューティングシステムによって実行されると、コンピューティングシステムに、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つのエネルギー源特徴をモニターすることと、現在の負荷の少なくとも１つの負荷特徴をモニターすることと、少なくとも１つのエネルギー源特徴をモニターすること、及び少なくとも１つの負荷特徴をモニターすることに応じて、複数の有限のエネルギー源のうちの１つを選択することと、現在の負荷を有限の選択エネルギー源にスケジュールすることと、を含む動作を実行させるように構成された、１つ又は複数のコンピューター可読媒体。
【０１１０】
[0119]Ｒ．少なくとも１つのエネルギー源特徴をモニターすることが、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの状態をモニターすることと、複数の有限のエネルギー源のうちの少なくとも１つの少なくとも１つの格納された特徴にアクセスすることと、を含み、複数の有限のエネルギー源のうちの１つを選択することが、今後の推定作業負荷を計算することと、今後の推定作業負荷、少なくとも１つのエネルギー源特徴をモニターすること、又は少なくとも１つの負荷特徴をモニターすることのうちの少なくとも１つに応じて、現在の負荷に対して選択モードを割り当てることと、割り当てられた選択モードに従って、複数の有限のエネルギー源のうちの１つを選択することと、をさらに含む、条項Ｑによるコンピューター可読記憶媒体。
【０１１１】
[0120]Ｓ．少なくとも１つの負荷特徴をモニターすることが、現在の負荷が低電力負荷であるか、又は高電力負荷であるかを判断することを含み、割り当てられる選択モードが、分離モード、投資モード、又は予約モードを含む、条項Ｒによるコンピューター可読記憶媒体。
【０１１２】
[0121]Ｔ．複数の有限のエネルギー源が、複数のバッテリーモジュールを含み、投資モードが、貪欲アルゴリズムを適用して、複数のバッテリーモジュールから貪欲嗜好のバッテリーを選ぶことと、現在の負荷が低電力であり、今後の推定作業負荷が、貪欲嗜好のバッテリーの現時点で使用可能な位置が、現在の選択に関わらず低電力負荷で占められるようになると予測する場合に、有限の選択エネルギー源として、貪欲嗜好のバッテリーを選択することと、現在の負荷が高電力であり、今後の推定作業負荷が、貪欲嗜好のバッテリーの現時点で使用可能な位置が、スケジューリング決定に関わらず高電力負荷で占められるようになると予測する場合に、有限の選択エネルギー源として、貪欲嗜好のバッテリー以外の有限のエネルギー源を選択することと、を含み、予約モードが、第１のバッテリーモジュールと第２のバッテリーモジュールとを識別することであって、第１のバッテリーモジュールが第２のバッテリーモジュールの内部抵抗より高い内部抵抗を有し、第１のバッテリー最大抵抗が、第２のバッテリーの第２のバッテリー最大抵抗より低い、識別することと、現在の負荷が低電力であり、第２のバッテリー最大抵抗の第１のバッテリー最大抵抗に対する割合が、最大抵抗不平衡閾値を超え、今後の推定作業負荷が、第１のバッテリーモジュールの残存容量を占めるのに十分な高電力負荷量を予測する場合に、有限の選択エネルギー源として、第２のバッテリーモジュールを選択することと、を含み、分離モードが、第１のバッテリーモジュールと第２のバッテリーモジュールとを識別することであって、第１のバッテリーモジュールが第２のバッテリーモジュールの内部抵抗より相対的に高い内部抵抗を有する、識別することと、現在の負荷が低電力である場合、有限の選択エネルギー源として、第１のバッテリーモジュールを選択することと、現在の負荷が高電力である場合、有限の選択エネルギー源として、第２のバッテリーモジュールを選択することと、を含む、条項Ｓによるコンピューター可読記憶媒体。
結論
[0122]構造的特徴及び／又は方法論的動作（ｍｅｔｈｏｄｏｌｏｇｉｃａｌ  ａｃｔｓ）に特有の言い回しで技法が説明されたが、添付の特許請求の範囲は、説明された特徴又は動作に必ずしも限定されるものではないことが理解されるべきである。むしろ、これらの特徴及び動作は、このような技法の例示的な実施態様として、説明される。
【０１１３】
[0123]上に説明された方法及びプロセスの全ては、１つ又は複数の汎用コンピューター又はプロセッサによって実行されるソフトウェアコードモジュールにおいて具体化、またそのモジュールを介して完全に自動化されることが可能である。このコードモジュールは、任意のタイプのコンピューター可読記憶媒体又はその他のコンピューター記憶域デバイスに格納され得る。方法のいくつか又は全ては、代替え的に、専用のコンピューターハードウェアにおいて具体化されてもよい。
【０１１４】
[0124]いくつかある中でも特に、「ｃａｎ（〜することができる）」、「ｃｏｕｌｄ（〜する可能性がある）」、「ｍｉｇｈｔ（〜する可能性がある）」、又は「ｍａｙ（〜してもよい）」などの条件的な言い回しは、特段の記述がない限り、ある特徴、要素及び／又はステップを、ある実施形態は含むが、その他の実施形態は含まないことを提示することが、文脈内で理解される。従って、このような条件的な言い回しは、ある特徴、要素及び／又はステップが、１つ又は複数の実施形態に、いずれにせよ必要とされること、あるいは１つ又は複数の実施形態が、ある特徴、要素及び／又はステップが任意の特定の実施形態に含まれる、又はその実施形態において実行されるべきであるか否かを、ユーザー入力又はプロンプトの有無に関わらず、決定するためのロジックを必然的に含むことを意味するよう、一般的に意図されたものではない。
【０１１５】
[0125]「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ｘ、Ｙ  ｏｒ  Ｚ（Ｘ、Ｙ、又はＺのうちの少なくとも１つ）」のフレーズなどの結合的な言い回しは、特段の記述がない限り、項目、用語などが、Ｘ、Ｙ、又はＺのいずれか、あるいはそれらの組合せであり得ることを提示することが、理解されるべきである。
【０１１６】
[0126]本明細書で説明され、及び／又は添付図面に描画されたフローチャート内のルーチン説明、要素又はブロックは、ルーチンにおける特定の論理的な機能又は要素を実施するための１つ又は複数の実行可能命令を含む、コードのモジュール、区分、又は部分を潜在的に表すとして、理解される必要がある。代替え的な実施態様は、要素又は機能が、当業者であれば理解するような関係する機能性に基づいて、実質的に同期又は逆順を含む、示された又は述べられた順序から削除、又は順序が乱れて実行され得る、本明細書で説明された実施形態の範囲内に含まれる。
【０１１７】
[0127]その要素が、いくつかある中でも特に許容可能な例であるとして理解されるべきである上で説明された実施形態に対して、多くの変形形態及び修正形態が作られ得る、ということが強調されるべきである。このような変形形態及び修正形態の全ては、本開示の範囲内で本明細書に含まれ、以下の特許請求の範囲によって保護されるものである。
【図１】
0006667502.tif 000005
【図２】
0006667502.tif 000006
【図３】
0006667502.tif 000007
【図４】
0006667502.tif 000008
【図５】
0006667502.tif 000009
【図６】
0006667502.tif 000010