(57)【特許請求の範囲】
【請求項１】
エネルギー源（４０）によって電力供給されるコンピュータ化システム（１０）における計算作業負荷を管理する方法であって、前記エネルギー源において生成される電力が最適化されるように、前記コンピュータ化システムにおける計算作業負荷を、前記エネルギー源によって供給される電力の時間変動特性に従って調整するステップ（Ｓ５０−Ｓ６０）を含み、
１つ又は複数のプロセッサにおける実行の周波数ｆ、及び、前記１つ又は複数のプロセッサにおける電圧Ｖｄｄが所与の周波数の関数としてｆ＝Ｋ×（Ｖｄｄ−Ｖｔ）α／Ｖｄｄ（Ｋは定数、Ｖｔは閾値電圧、αはプロセス技術に依存する値）の関係式に従って対応して調整される、前記１つ又は複数のプロセッサにおける電圧Ｖｄｄを変更することにより、計算速度を変更するステップ（Ｓ５０−Ｓ６０）を含み、
前記コンピュータ化システムは、前記エネルギー源により、電荷蓄積デバイス（３０）を通して電力供給され、
前記調整するステップは、前記コンピュータ化システムにおける計算作業負荷を、前記時間変動特性に従って、前記電荷蓄積デバイス（３０）を枯渇させるように変更するステップをさらに含む、
方法。
【請求項２】
前記特性を監視するステップ（Ｓ３０）をさらに含み、前記計算作業負荷を調整するステップは、前記監視された特性に従って実行される、請求項１に記載の方法。
【請求項３】
前記特性の時間変動は少なくとも部分的に事前決定され、前記計算作業負荷を調整するステップは、少なくとも部分的に、前記事前決定された特性の時間変動に従って実行される、請求項１又は請求項２に記載の方法。
【請求項４】
前記時間変動特性は、前記エネルギー源の出力部における最適電圧ＶＭＰＰの関数である、請求項１から請求項３までのいずれか１項に記載の方法。
【請求項５】
前記最適電圧ＶＭＰＰは、前記エネルギー源の最大電力点によって決定される、請求項４に記載の方法。
【請求項６】
前記調整するステップの前に、
前記エネルギー源の最大電力点を取得するステップ（Ｓ３０）をさらに含み、それにより前記電荷蓄積デバイスにおける最適端子電圧、次いで前記エネルギー源の出力部における最適電圧ＶＭＰＰが決定され、
前記調整するステップは、前記エネルギー源の前記出力部における前記決定された最適電圧ＶＭＰＰに従って、計算作業負荷を変更するステップを含む、
請求項５に記載の方法。
【請求項７】
前記調整するステップは、
最適電圧ＶＭＰＰを前記エネルギー源の出力部における実際の電圧Ｖｓと比較するステップ（Ｓ４０）と、
前記比較するステップの結果に従って計算作業負荷を変更するステップ（Ｓ５０−Ｓ６０）と、
を含む、請求項１から請求項６までのいずれか１項に記載の方法。
【請求項８】
前記計算作業負荷を変更するステップは、
前記実際の電圧Ｖｓが前記最適電圧ＶＭＰＰより高い場合に前記計算作業負荷の速度を高めるステップ（Ｓ５０）、及び／又は、
前記実際の電圧Ｖｓが前記最適電圧ＶＭＰＰより低い場合に前記計算作業負荷の速度を低下させるステップ（Ｓ６０）、
をさらに含む、請求項７に記載の方法。
【請求項９】
前記コンピュータ化システムは、前記エネルギー源により、電荷蓄積デバイス及び電圧レギュレータ（２０）を通して電力供給され、
前記調整するステップは、前記計算作業負荷を、前記エネルギー源（４０）の前記時間変動特性に従って、前記電荷蓄積デバイス（３０）を枯渇させるように変更して、前記電圧レギュレータ（２０）によって引き込まれる電流に影響を及ぼすことを含む、
請求項１から請求項８までのいずれか１項に記載の方法。
【請求項１０】
前記コンピュータ化システムは、エネルギー源によって電力供給され、前記エネルギー源は太陽エネルギー源であり、太陽電池システム（４０）である、請求項１から請求項９までのいずれか１項に記載の方法。
【請求項１１】
前記コンピュータ化システムにおいて、計算すべき付加的なデータを遠隔コンピュータ化システムから受信するステップ（Ｓ７０）をさらに含み、
前記調整するステップは、前記受信した付加的なデータを用いて前記計算作業負荷を変更することを含む、
請求項１から請求項１０までのいずれか１項に記載の方法。
【請求項１２】
エネルギー源（４０）によって電力供給され、請求項１から請求項１１までのいずれか１項に記載の方法の全てのステップを実装するコンピュータ・プログラム・コード手段を含むコンピュータ化システム（１０）を備える、システム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ・システムの分野に関し、より具体的には、コンピュータ化システムにおける計算作業負荷管理に関する。
【背景技術】
【０００２】
今日のコンピュータ化システムにおいては、多数のアプリケーションを同時に実行する必要がある。従って、それらアプリケーションの並列実行を調整するために作業負荷管理が必要となる。作業負荷管理は幾つかの場所で必要とされる。
【０００３】
第１に、それはプロセッサ・レベルの近くで必要とされる。ここでは通常、オペレーティング・システムがアプリケーション・ソフトウェアの実行を管理する。その中心的構成要素、即ち、カーネルが、アプリケーションとハードウェア・レベルで実行されるデータ処理との間のブリッジとなる。その主要なタスクは、アプリケーションの並列実行を可能にすることである。アプリケーションを実行するために、通常、カーネルはアプリケーションのためのアドレス空間を設定し、アプリケーションのコードをメモリにロードし、プログラムのためのスタックを設定してその実行を開始する。
【０００４】
ほとんどのオペレーティング・システムのプラットホームは、基本的なジョブ・スケジューリング及びプロセス・スケジューリング機能を提供し、これらの機能は、それぞれ、実行のサブミッション、及び、プロセス（即ち、実行中のコンピュータ・プログラムのインスタンス）を使用可能なＣＰＵ上で実行されるように最適に割り当てること、例えばそれらＣＰＵを可能な限りビジー状態に保つようにすることを規定する。
【０００５】
例えば、ＩＢＭのメインフレームにおいては、いわゆる作業負荷（ワークロード）マネージャ（ＷＬＭ）がＭＶＳ／ＥＳＡメインフレーム・オペレーティング・システム及びその後継システムの基本構成要素である。これは、オペレーティング・システム上で実行されている作業について、システム・リソースに対するアクセスを制御する。
【０００６】
また、幾つかのコンピューティング・ユニットがある作業負荷を共有するときにも、作業負荷管理がやはり必要とされる。例えば、幾つかのサーバを含む非同期クライアント／サーバ・システムにおいては、クライアントの要求により迅速に応えるようにするために、各々のサーバが、クライアントの要求を満たすことが可能であり得る（例えば、所与のサーバがビジーである場合に、要求を別のサーバに転送することができる）。その場合、クライアント側に設けられた作業負荷管理ユニットが、どのサーバに特定の要求を割り当てるかの決定を行うことができる。同様に、作業負荷管理ユニットはサーバ側で必要となる場合もある。
【０００７】
ほとんどの場合、作業負荷管理は、速度、実行時間、処理量などを最適化して最良のシステム応答性を実現するように設計される。これは、一般に、リソースの性能、及び、場合によっては、例えば、所与の事業目標を満たすための所与の規則又は会社のポリシーなどの他の制約を十分に考慮するものである。
【０００８】
そのほか、例えば再生可能エネルギーの生成における変動を管理するために、電気エネルギー又は電力網に結合された負荷を１つ又は複数の因子に応じて負荷値の範囲内で制御することを可能にするシステムが、特許文献１から公知である。より詳細には、負荷は、利用可能な電力と負荷との間のバランスの示度に応じて、及び／又は、新たな負荷及び／又は電力網の切り離しに応じて制御することができ、そして、利用可能な電力と、負荷、新たな負荷、及び電力網の切り離しとの間のバランスのうちの１つ又は複数における変化に応じて合計負荷を調整するように、経時的に繰返し制御することができる。負荷は、利用可能な電力と負荷との間のバランスの変動の少なくとも一部分を吸収しながら、ある時間枠内での電力必要量を供給するように、経時的に繰返し制御することができる。
【０００９】
特許文献２は、プロセッサのクロック速度を制御する方法及びシステムを開示する。１つの実装は、電源出力部からの利用可能な電力を表す実時間の正確な信号を受信し、この実時間の正確な信号を監視し、監視された信号に基づいて、利用可能な電力に基づく動的なプロセッサ速度調節のためにプロセッサのクロック速度を動的に調整することを含み、それによりプロセッサは電源からの利用可能な最大出力電力に適合する最大速度においてクロック制御され、ここでプロセッサのクロック周波数は、システム・レベルで、利用可能な電力に基づいて常にプロセッサ性能を最大にするように上下に連続的に調整される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許出願公開第２００９／０２１６３８７（Ａ１）号明細書
【特許文献２】米国特許第７，５１９，８４３号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、エネルギー源の時間変動特性に従ってコンピュータ化システムにおける計算作業負荷を調整する方法及びシステムを提供することである。
【課題を解決するための手段】
【００１２】
第１の態様により、本発明は、エネルギー源によって電力供給されるコンピュータ化システムにおける計算作業負荷を管理する方法として具体化され、この方法は、エネルギー源において生成される電力量が最適化されるように、コンピュータ化システムにおける計算作業負荷を、エネルギー源によって供給される電力の時間変動特性に従って調整するステップを含む。
【００１３】
実施形態において、本方法は以下の特徴のうちの１つ又は複数を備えることができる。
・本方法は、特性を監視するステップをさらに含み、計算作業負荷を調整することは、監視された特性に従って実行される。
・特性の時間変動は、少なくとも部分的に事前決定され、計算作業負荷を調整することは、少なくとも部分的に、事前決定された特性の時間変動に従って実行される。
・計算作業負荷を調整することは、コンピュータ化システムの１つ又は複数のプロセッサにおけるジョブ・スケジューリング；１つ又は複数のプロセッサにおける実行の周波数ｆであって、該１つ又は複数のプロセッサにおける電圧Ｖｄｄを修正しない場合の周波数ｆ；又は、１つ又は複数のプロセッサにおける実行の周波数ｆ、及び、１つ又は複数のプロセッサにおける最適電圧ＶＭＰＰを所与の周波数の関数として与える関係式に従って対応して調整される、１つ又は複数のプロセッサにおける電圧Ｖｄｄ、のうちの１つを変更することによって計算速度を変更することを含む。
・時間変動特性は、エネルギー源の出力部における最適電圧の関数である。
・最適電圧ＶＭＰＰは、エネルギー源の最大電力点によって決定される。
・コンピュータ化システムは、エネルギー源により、電荷蓄積デバイスを通して電力供給され、調整するステップは、コンピュータ化システムにおける計算作業負荷を、時間変動特性に従って、電荷蓄積デバイスを枯渇させるように変更することをさらに含む。
・本方法は、調整することの前に、エネルギー源の最大電力点を取得するステップをさらに含み、それにより電荷蓄積デバイスにおける最適端子電圧、次いでエネルギー源の出力部における最適電圧ＶＭＰＰが決定され、調整するステップは、エネルギー源の出力部における決定された最適電圧に従って、計算作業負荷を変更することを含む。
・調整するステップは、最適電圧をエネルギー源の出力部における実際の電圧Ｖｓと比較すること、及び、比較するステップの結果に従って計算作業負荷を変更することを含む。
・計算作業負荷を変更することは、実際の電圧Ｖｓが最適電圧より高い場合に計算作業負荷の速度を高めること、及び／又は、実際の電圧Ｖｓが最適電圧より低い場合に計算作業負荷の速度を低下させることをさらに含む。
・コンピュータ化システムは、エネルギー源により、電荷蓄積デバイス及び電圧レギュレータを通して電力供給され、調整するステップは、計算作業負荷を、エネルギー源の時間変動特性に従って、電荷蓄積デバイスを枯渇させるように変更して、電圧レギュレータによって引き込まれる電流に影響を及ぼすことを含む。
・コンピュータ化システムは、エネルギー源により電力供給され、エネルギー源は太陽エネルギー源であり、好ましくは太陽電池システムである。
・本方法は、コンピュータ化システムにおいて、計算すべき付加的なデータを遠隔コンピュータ化システムから受信するステップをさらに含み、調整するステップは、受信した付加的なデータを用いて計算作業負荷を変更することを含む。
【００１４】
別の態様により、本発明は、エネルギー源によって電力供給され、本発明の方法の全てのステップを実装するコンピュータ・プログラム・コード手段を含むコンピュータ化システムを備えたシステムとして具体化される。好ましくは、本システムは、電荷蓄積デバイスをさらに備え、コンピュータ化システムは、電荷蓄積デバイスを通してエネルギー源により電力供給される。
【００１５】
次に、本発明を具体化する方法及びシステムを、非限定的な実施例として、添付の図面を参照しながら説明する。
【図面の簡単な説明】
【００１６】
【図１】本発明よる、コンピュータ化システムにおける作業負荷を管理する方法の一実施形態を表すフローチャートである。
【図２】本発明を具体化することができるシステムの略図である。
【図３】本発明を具体化することができるシステムの略図である。
【図４】実施形態において使用される、太陽電池エネルギー源の最大電力点（ＭＰＰ）の概念を示す。
【図５】Ｌｉイオン電荷蓄積デバイスの端子電圧に対する典型的な電荷状態を示す。
【図６】コンデンサの端子電圧に対する典型的な電荷状態を示す。
【図７】本発明の実施形態によるコンピュータ化システムのハードウェアのブロック図である。
【発明を実施するための形態】
【００１７】
以下の説明に対する序論として、初めに、コンピュータ化システムにおける計算作業負荷の管理に向けられる本発明の一般的な態様を示す。一般的に言えば、本発明の目的は、コンピュータ化システムに電力供給するエネルギー源により供給される電力の時間変動特性に従って、計算作業負荷を、エネルギー源において生成される電力を最適化するように調整することである。このことは、特にエネルギー源におけるエネルギー生成の最適化をもたらす。従って、計算に利用できる電力を、例えばエネルギー源におけるより効率的なエネルギー生成効率点に追従するように変化させるための、フィードバック機構が実装される。例えば、その特性は、太陽電池システムの最適端子電圧に関連付けることができる。その場合、計算作業負荷は、例えば、エネルギー源に接続された電荷蓄積デバイスを枯渇させてその端子電圧がエネルギー源の最大電力点に追従するように、変更される。それにより、エネルギーを、経済的価値、低い蓄積コスト及び低い輸送コストを有する形態へと直接変換することに依拠する、エネルギー蓄積の代替手段が実現される。
【００１８】
当業者には認識されるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。それゆえに、本発明の態様は、本明細書では全て一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はソフトウェア態様とハードウェア態様とを組み合せた実施形態の形をとることができる。さらに、本発明の態様は、その上に具体化されたコンピュータ可読プログラム・コードを有する１つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００１９】
１つ又は複数のコンピュータ可読媒体の任意の組合せを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、それらに限定されないが、電子、磁気、光、電磁波、赤外、又は半導体のシステム、装置、又はデバイス、又はそれらの任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）としては、１つ又は複数の線を有する電気的接続、携帯用コンピュータ・ディスケット、ハードディスク、ランダムアクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、光ファイバ、携帯用コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、又はそれらの任意の適切な組合せが挙げられる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスにより、又はそれらと共に用いるためのプログラムを収容する又はストアすることができる任意の有形の媒体とすることができる。
【００２０】
コンピュータ可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部として具体化されたコンピュータ可読プログラム・コードを有する伝搬データ信号を含むことができる。そのような伝搬信号は、それらに限定されないが、電磁気、光、又はこれらの任意の組合せを含む、様々な形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれらと共に用いるためのプログラムを伝達、伝搬、又は搬送することができる任意のコンピュータ可読媒体とすることができる。
【００２１】
コンピュータ可読媒体上に具体化されたプログラム・コードは、それらに限定されないが、無線、有線、光ファイバ・ケーブル、ＲＦなど、又はそれらの任意の適切な組合せを含む、任意の適切な媒体を用いて伝達することができる。
【００２２】
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組合せで書くことができる。プログム・コードは、独立型プログラム・パッケージとして完全にユーザのコンピュー上で若しくは部分的にユーザのコンピュータ上で、又は、部分的にユーザのコンピュータ上及び部分的に遠隔コンピュータ上で、又は完全に遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）を含む任意の型のネットワークを通してユーザのコンピュータに接続することができ、又は接続は、外部コンピュータに対して行うことができる（例えば、インターネット・サービス・プロバイダを使用してインターネットを通して）。
【００２３】
以下で、本発明の実施形態による、方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照しながら本発明の態様を説明する。フローチャート図及び／又はブロック図の各ブロック、及びフローチャート図及び／又はブロック図中のブロックの組合せは、コンピュータ・プログラム命令として実装することができることを理解されたい。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給して機械を生成することができ、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施する手段を作成するようにすることができる。
【００２４】
これらのコンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに特定の様式で機能するように指示することができるコンピュータ可読媒体内にストアすることができ、その結果、コンピュータ可読媒体内にストアされた命令がフローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装する命令を含む製品を生成するようにすることができる。
【００２５】
コンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実行させて、コンピュータ実施のプロセスを生成し、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令がフローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するためのプロセスをもたらすようにすることができる。
【００２６】
図中のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性、及び動作を示す。これに関して、フローチャート又はブロック図中の各ブロックは、指定された論理機能を実施するための１つ又は複数の実行可能命令を含むコードの、モジュール、セグメント、又は部分を表すことができる。さらに、幾つかの代替的実施形態において、ブロック内に記述された機能は、図中に示したのとは別の順序で実行することができることに留意されたい。例えば、連続して示した２つのブロックは、実際には、実質的に並列に実行することができ、又はブロックは場合により、関与する機能性に応じて逆の順序で実行することができる。さらに、ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェアをベースとするシステム、又は専用ハードウェアとコンピュータ命令との組合せによって実施することができることに留意されたい。
【００２７】
図７は、関連する実施形態としてのコンピュータ・システムのハードウェアのブロック図である。コンピュータ・システム９０１は、ＣＰＵ９０４及び主メモリ９０２を含み、これらはバス９００に接続される。バス９００は、ディスプレイ・コントローラ９１２に接続され、後者は、ＬＣＤモニタのようなディスプレイ９１４に接続される。ディスプレイ９１４は、コンピュータ・システムに関する情報を表示するために使用される。バス９００はまた、ハードディスク９０８又はＤＶＤ９１０などの記憶デバイスに、ＩＤＥ又はＳＡＴＡコントローラなどのデバイス・コントローラ９０６を通して接続される。バス９００はさらに、キーボード９２２及びマウス９２４に、キーボード／マウス・コントローラ９２０又は図には示さないＵＳＢコントローラを通して接続される。バスはまた、例えば、イーサネット（商標登録）プロトコルに準拠する通信コントローラ９１８に接続される。通信コントローラ９１８は、コンピュータ・システム９０１を外界、即ち、ネットワーク９１６に物理的に接続するために用いられる。後者は、例えば、実施形態において前述した時間変動特性をモニタするための、監視ユニットを含むことができる。
【００２８】
図１は、図７に概略を示したようなコンピュータ化システムにおける作業負荷管理の方法のステップを表すフローチャートである。図２及び図３は、本発明を適切に具体化することができるシステムの別形の概略を示す。
【００２９】
図１−図３を参照すると、コンピュータ化システム１０が準備される（ステップＳ１０）。後者は時間変動エネルギー源４０によって電力供給される。このエネルギー源は、例えば、太陽電池システムなどの太陽エネルギー源とすることができる。そのようなエネルギー源はそれ自体が既知である。その場合、システムは電荷蓄積デバイス３０を通して電力供給されることが好ましい。必要な場合には、後に論じるように電圧レギュレータ２０を含めることができる。
【００３０】
前述のように、本方法の主要なステップは、エネルギー源によって供給される電力の時間変動特性に従って、システムの計算作業負荷を調整すること（ステップＳ５０）である。その結果、計算に利用できる電力は、より有益な変換点に変えられることになる。
【００３１】
それを行うためには、例えば、コンピュータ・システム内部にある又はコンピュータ・システムと通信する便利な監視論理、ソフトウェア又はハードウェアによって、時間変動特性を監視すること（ステップＳ３０）が必要となる場合がある。その場合、計算作業負荷は、監視された特性に従って変更される。別の形においては、特性の時間変動は事前決定することができる。言うまでもなく中間的状況を企図することができる。例えば、特性が部分的にしか事前決定できず、そのためいくらかの監視が依然として必要である場合がある。そこで、特性がある一定の閾値に達した場合に、本方法は第１のモード（事前決定された時間変動に基づいて計算が調整される）から第２のモード（観測された変動に基づいて計算が調整される）に切り替えることができる。より複雑なシナリオを考案することもできる。
【００３２】
本明細書で考慮する時間変動特性は、例えば、エネルギー源の出力部における「最適」電圧（又はその関数）である。太陽光エネルギー源の場合、前記の電圧は、例えば最大電力が出力される電圧であるがゆえに最適と考えることができる。それにもかかわらず、技術的考慮事項（例えば、電力、熱放散、変換、摩耗など）から又はその他の考慮事項（例えば、所与のポリシー、事業計画、時間変動価格など）から生じることがあるその他の考慮事項が、前記特性の「最適性」に影響を及ぼすことがある。前記特性がエネルギー源によって出力される電力の時間変動特性であることには変わりない。
【００３３】
次に、この最適特性を決定するための幾つかの方法を考えることができる。適切な方法のクラスは、エネルギー源によって実際に出力される電流などの観測された特性に基づいて、最適特性（例えば、最適電圧）を予測するか又はモデル化することに依拠する。方法の一例は、いわゆる最大電力点又はＭＰＰであり、これを図４に示す。実曲線は、エネルギー源の端子電圧に対する出力電流（任意の単位、即ちａ．ｕ．）を表す。破線は出力電力であり、これは測定することもでき、又は、例えば測定された電流に基づいて導出する（例えば、Ｐ＝ｉＶと考える）こともできる。垂直の点線は、出力電力が最大となる端子電圧を示す。この例は、電力生成を、その時間変動特性（この事例ではエネルギー源における電圧）に関していかにして最適化することができるかを示す。
【００３４】
再び図１−図３を参照すると、計算作業負荷を調整するステップ（Ｓ５０）は、基本的に計算速度を変更することを意味する。この結果、入力部において必要な電力が変化し、それにより、エネルギー源によって出力される電力がより最適な機能点へと変化する。これを行うために、幾つかの方法を考えることができる。
【００３５】
第１の可能性は、ジョブ・スケジューリングのみを調整するステップからなる。他の（必ずしも独立ではない）可能性は、プロセス・スケジューリングを調整すること及び／又はスレッドレベルで動作することである。いずれの場合にも、これはＣＰＵを断続的にアイドルにすることによって達成することができ、これが計算速度の変更を効果的にもたらす。ほとんどのＣＰＵはアイドル状態にあるときの電力節約を可能にするので、単純な調整方式を考案できることが理解される。例えば、アイドル期間の数は、監視された特性に線形依存するものとすることができる。
【００３６】
第２の可能性は、プロセッサの入力電圧を修正せずに、プロセッサの実行のクロック周波数ｆを変更することであり、これもやはり効果的な計算及び電力使用量の変更をもたらす。
【００３７】
そのような方式は、さらにプロセッサの入力電圧Ｖｄｄを調整することによって改善することができるが、それを実装するのはより複雑である。実際、実行の周波数ｆは、引き込み電流及び端子電圧に影響を与えるように変更することができる。それに対応して、入力電圧Ｖｄｄを、いずれかの便利な関係式、即ち、最適Ｖｄｄをｆの関数としてあたえる式に従って調整することができる。１つの経験式は以下の式であり、
【数１】
0006012612.tif 000002
式中、Ｋは定数であり、αはプロセス技術に依存する。典型的には、αは、小さいジオメトリ（例えば、４５ｎｍ又は６５ｎｍ）に対する≒１から、より長いジオメトリ（例えば、１８０ｎｍ）に対する≒２まで変化する。状況に応じて他の関係式を用いることができる。Ｖｄｄをｆと一緒に調整することで、プロセッサはより最適な動作点に設定される。より詳細には、このことは、電力使用量を変化させることに加えて、プロセッサにおける電力損を最適化することを可能にする。
【００３８】
コンピュータ化システム１０が（図２及び図３におけるように）電荷蓄積デバイス３０を通して電力供給される場合、計算の変更は、電荷蓄積デバイスを枯渇させ、これがその実際の端子電圧Ｖｃｓに影響を及ぼす。これは、エネルギー源における最適電圧ＶＭＰＰに追従するように実行することができる。
【００３９】
この目的のために、エネルギー源が電流の出力を開始（ステップＳ２０）した後、蓄積デバイスの電荷状態を監視して（ステップＳ３０）、エネルギー源のＭＰＰを得ることができる。ＭＰＰは、電荷蓄積デバイスにおける最適端子電圧ＶＭＰＰを決定し、次いでエネルギー源の出力部における最適電圧を決定する。次に、所望の、即ち最適の電圧ＶＭＰＰをエネルギー源の出力部における実際の電圧Ｖｓと比較することができる（ステップＳ４０）。それに応じて作業負荷を最適に調整することができる（ステップＳ５０）。それを行うと、コンピュータ化システムの電力使用量が変化し、これが電荷蓄積システム３０における枯渇速度に影響を及ぼす（図２又は図３のステップＳ５２を参照のこと）。最終的に、これがサブユニット３０の端子電圧Ｖｃｓの調整をもたらし（ステップＳ５３）、従ってエネルギー源における電圧の調整をもたらす（Ｖｓ＝Ｖｃｓ）。
【００４０】
実際には、電源における実際の電圧Ｖｓが最適電圧ＶＭＰＰより高い場合（ステップＳ４１）、計算速度が高められる（ステップＳ５５）。同様に、有効電圧が最適電圧より低い場合（ステップＳ４２）には、速度を低下させる（Ｓ６０）。
【００４１】
別形においては、閾値を考慮することができる。例えば、条件が最も好適でない場合でも計算速度を最小に維持することが可能である。逆に、高い計算速度をデフォルト設定することができ、及び／又は、最高速度を課すことができる（プロセッサによって定められたもの以外に）。
【００４２】
さらに、アルゴリズムは、好ましくは、十分な計算作業負荷が利用可能かどうか問い合わせする（ステップＳ５７）。利用可能でない場合には、最適電圧に追従するために、付加的な計算データを照会して遠隔システムから受信することができる（ステップＳ７０）。逆に、ローカル・システムに照会して、初期スケジューリングされた計算をそれに対して委ねるように促すことができる。
【００４３】
いずれの場合にも、主要な態様は、エネルギー源によって供給される電力の時間変動特性に従って作業負荷を調整することであり、それが、計算に利用可能な電力に影響を及ぼし、結局、エネルギー生成効率の最適化を可能にする。
【００４４】
このことは、計算タスクが今日のエネルギー使用量の実質的かつ増大しつつある割合を占めているので有利である。この点に関して、計算エネルギーの必要性が、データセンターを安価なエネルギー供給が為される場所に設置する傾向をもたらしている。しかし、現代のシステムにおいては、発電と電力使用とが電力網によって分離されている。このことは電力供給における損失を招く。
【００４５】
風力又は種々の形態の太陽エネルギー（光起電力すなわちＰＶ、集光型太陽熱すなわちＣＳＴなど）のような再生可能エネルギー源は、例えば雲で覆われとき及び日が暮れたときに太陽エネルギー源からの出力電力が減少するなど、その電力出力はしばしば時間と共に著しく変動するので、エネルギー蓄積施設への追加投資を必要とする。太陽電池システムは最大出力電圧を出力する最適出力端子電圧ＶＭＰＰを有するので、太陽電池の場合には、エネルギー捕獲の効率はまた、アレイのセルが保持される電圧に基づいても変化する。この最適端子電圧は、例えば、入射太陽光（すなわち日射）のレベルに依存し、図４を参照して前述したように最大電力点として知られている。一部の太陽電池アレイには、入射太陽光が変化するにつれて最大電力点に追従するように出力端子電圧を連続的に変化させる調整回路が使用されており、この技術は最大電力点追従（ＭＰＰＴ）として知られている。現代のＭＰＰＴシステムには、ＭＰＰを計算し、太陽電池セル又はアレイをその出力電圧において動作させるように強制する回路が使用されている。
【００４６】
本明細書においては、エネルギー源は最適電圧で動作するように強制されない。その代わりに、出力電圧が所望の電圧付近に留まるようにコンピュータ化システムを動作させるための適切な論理が実装される。例えば、図２のシステム構成において、本発明を適用すると、計算作業負荷を用いて、太陽電池セル又はアレイ４０が接続された蓄電池３０から電荷を枯渇させることになる。これは、計算が行われる速度を変更することによるＭＰＰ制御を達成し、その一方で同時に、太陽電池システムによって生成されるエネルギーのエネルギー変換を達成する。
【００４７】
換言すれば、エネルギー源において生成されるエネルギーは、計算に関連付けられたエントロピー変化において消費される。従って、計算はエネルギー変換プロセスとして理解することができる。計算をこのような観点で理解する１つの方法は、所望の形態の一片の情報に関するエネルギーとエントロピーとの間の交換として捉えることである。例えば、ある一定量のデータ（例えば、１テラバイトのテキスト）が与えられ、その中で所与の文字列の出現回数をカウントしたいと望む場合、元の入力データ・セットを、こちらの照会に正確に答える、おそらくより小さいセットにまで減らすプロセスは、観察者の視点から見ればシステムのエントロピーを減少させるプロセスと考えることができる。この例において、プロセスは不可逆的であり、必要とされる最小エネルギーは、消去される（その照会とはおそらく関連しない）情報の１ビット当たりｋＢＴ  ｌｎ２ジュールである。これは、ミクロカノニカル集団のエントロピー及び関連するエネルギー変化の定義に従うものであり、ここで２はアクセス可能な微視的な状態の数であり、ｋＢ及びＴは、それぞれボルツマン定数及び温度を表す。
【００４８】
エネルギーは、遠隔サイトの要求側のために文字列検索計算を実行することによって効率的に伝達され、要求側は、計算を実行するのにもはやローカルに使用可能なエネルギーを使用することを必要としないので、使用可能エネルギーの効果的な増大を達成する。同様に、エネルギーは、これを用いて計算を実行することによって、エネルギー生成のサイトにおいて効果的に蓄積することができる。
【００４９】
エネルギーを完了した計算の形態で蓄積及び交換することは、様々な利点を有する。この形態の「ポテンシャルエネルギー」の蓄積効率及び伝達効率は、技術の発達によって時間とともにさらに改善されるであろう。少量の入力及び大量の計算を必要とする計算が遠隔エネルギー源において実行されるように要求することによって、大量のエネルギーを非常に小さいオーバーヘッドで伝達することができる。
【００５０】
電源に整合させるためにシステムの負荷を制御する機構（例えば、特許文献１を参照されたい）とは異なり、本明細書で説明するシステムは、時間変動するエネルギー源を効率的に蓄積する／捕獲する手段として計算を使用する。これは、使用可能電力と負荷とのバランスをとるためにエネルギー負荷を制御する、エネルギー蓄積の手段として計算を用いることを伴わないデバイスとは対照的である。プロセッサのクロック速度を最大利用可能入力電力に基づいて調整するためのシステム（例えば、特許文献２を参照されたい）とは対照的に、本明細書で説明するシステムは、ＣＰＵがエネルギーを使用しているとき、そのＣＰＵが実行している計算は価値を有しているとの洞察を用いるものである。従って、プロセッサの電力使用をエネルギー変換システムとして用いることができる。さらに、計算は、使用可能エネルギーに対してではなく（即ち、最大許容量に対してではなく）、最大エネルギー生成効率を達成する（エネルギー源によって出力される電力が最適化されるときの）レベルに対して調整される。
【００５１】
上述のように、一般的なシステムの構成要素は、好ましくは太陽電池又はアレイ（ＰＶサブシステム４０）、電荷蓄積デバイス３０、コンピューティング・システム１０（例えば、少なくともマイクロプロセッサを含む）、及び、例えばコンピューティング・デバイスが固定動作電圧を必要とし、電荷蓄積デバイスから直接に動作することができない場合には、随意の電圧レギュレータ２０である。別形において、サブシステム３０は、エネルギー源又はコンピューティング・システムの一部分とすることができる。同様に、サブシステム２０も、蓄積デバイス３０又はコンピュータ・システム１０の一部分とすることができる。ちなみに、本発明は、例えばアレイのセルが保持される電圧に基づいて変動する、任意のエネルギー源（太陽、水力発電、風力など）とともに適切に実装することができることを理解されたい。より一般的には、最適エネルギー生成点が時間とともに変化する任意のエネルギー源を使用することができる。従って、より一般的には、本発明は、コンピュータ化システムにおける計算作業負荷の調整を、エネルギー源によって供給される（時間変動）電力の時間変動特性に従って、エネルギー源によって生成される電力を最適化するように管理するものである。
【００５２】
実施形態において、電荷蓄積デバイス及びＰＶをモニタするために、監視ユニット５０（コンピュータ化システムとは別個の）を設けることができる（図３に明示的に示すように）。やはり、このユニットも他のサブユニットと一体化することができる。このユニットは、電気信号を検出（電流又は電圧検出）することができるように、電荷蓄積デバイス３０（及び／又はエネルギー源）に電気的に接続している。従って、電荷状態及び／又はエネルギー源からの電流を検査することが可能である。監視ユニット５０は、エネルギー源のみに電気的に接続するように設置することができることに留意されたい。監視ユニット５０は、さらに、システム１０に論理的に接続され、電荷蓄積デバイス３０の電荷の状態又はエネルギー源電圧Ｖｓに関するフィードバックを提供する。そのようなフィードバックは、実際には、コンピュータ化システムにおける計算作業負荷の調整を担う論理（プログラム、ＯＳ、又は回路）に提供される。従って、これは、ＭＰＰ、電荷蓄積セルの所望の端子電圧、そして、それゆえにＰＶサブシステムの出力部における所望の電圧を計算するよう進行させることができる。そのような計算は、例えば、スケジュールに従って実行することができる。
【００５３】
次いで、前述の実施形態と同様に、電荷蓄積セルの端子電圧が所望の最適端子電圧を上回る場合、前記の論理は、コンピューティング・システムにその計算速度を高めるように指示し、電荷蓄積デバイスを枯渇させてその動作電圧を最適電圧にさせる。反対に、端子電圧が最適点を下回る場合には、前記の論理はコンピューティング・システムにその計算速度を抑えるように指示する。
【００５４】
計算速度の増大又は減少の程度は、例えば、プロセッサの処理速度に対するその電力損の依存性と、電荷蓄積デバイスの電荷状態に対するその端子電圧の依存性との組合せによって決定することができる。電荷状態に対する端子電圧の依存性の例を、リチウムイオン電池（図５）及びコンデンサ（図６）について示す。
【００５５】
電力損に対する処理速度の依存性は、コンピュータ化システム１０の様々な実装方針からもたらされ得る。例えば、単一のマイクロプロセッサから成るコンピュータ制御サブシステムは、前に論じたように、そのクロック周波数、動作電圧、又は両方の変化によって電力損の調整を達成することができる。他方、複数のプロセッサ（又は、マルチコア・プロセッサ）を備えたコンピュータ制御サブシステムは、より多数又はより少数の処理コアを使用することによって、その計算速度及び電力損を調整することができる。
【符号の説明】
【００５６】
１０：コンピュータ化システム
２０：電圧レギュレータ
３０：電荷蓄積デバイス
４０：エネルギー源
５０：監視ユニット
９００：バス
９０１：コンピュータ・システム
９０２：主メモリ
９０４：ＣＰＵ
９０６：デバイス・コントローラ
９０８：ハードディスク
９１０：ＤＶＤ
９１２：ディスプレイ・コントローラ
９１４：ディスプレイ
９１６：ネットワーク
９１８：通信コントローラ
９２０：キーボード／マウス・コントローラ
９２２：キーボード
９２４：マウス
【図１】
0006012612.tif 000003
【図２】
0006012612.tif 000004
【図３】
0006012612.tif 000005
【図４】
0006012612.tif 000006
【図５】
0006012612.tif 000007
【図６】
0006012612.tif 000008
【図７】
0006012612.tif 000009