(57)【要約】【課題】実行待ちプロセスがある場合でも、単位時間あたりの消費電力を抑えることができる情報処理装置、動作状態制御方法及びプログラムを提供する。【解決手段】実施形態の情報処理装置は、プロセッサを有する情報処理装置であって、第１制御部と蓄電部と第２制御部とを備える。第１制御部は、プロセッサによるプロセスの実行を制御する。蓄電部は、電力を蓄える。第２制御部は、実行待ちのプロセスがある場合に、蓄電部の蓄電量が第１閾値以下である場合に、情報処理装置の消費電力を小さくさせるようにする。【選択図】図１
2014167780.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを有する情報処理装置であって、
前記プロセッサによるプロセスの実行を制御する第１制御部と、
電力を蓄える蓄電部と、
実行待ちのプロセスがあり、前記蓄電部の蓄電量が第１閾値以下である場合に、前記情報処理装置の消費電力を小さくさせるようにする第２制御部と
を備える情報処理装置。
【請求項２】
プロセッサと、
前記プロセッサによるプロセスの実行を制御する第１制御部と、
電力を蓄える蓄電部と、
実行待ちのプロセスがあり、前記蓄電部の蓄電量が第１閾値以下である場合に、前記プロセッサをアイドル状態に移行する第２制御部と
を備える情報処理装置。
【請求項３】
第１状態と、前記第１状態よりも消費電力が低い第２状態とを動作状態として有する情報処理装置であって、
プロセスの実行を制御する第１制御部と、
実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするかを判定し、前記動作状態を前記第２状態にすると判定した場合に、前記動作状態を前記第２状態にする第２制御部と
を備える情報処理装置。
【請求項４】
前記情報処理装置は、
電力を蓄電する蓄電部と、
前記蓄電部の蓄電量を検出する蓄電量検出部とを更に備え、
前記第２制御部は、
前記蓄電量が第１閾値以下である場合に、前記動作状態を前記第２状態にする
請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
電力を発電する発電部と、
前記発電部の発電量を検出する発電量検出部とを更に備え、
前記第２制御部は、
前記発電量が第２閾値以下である場合に、前記動作状態を前記第２状態にする
請求項３又は４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、
電力を発電する発電部と、
電力を蓄電する蓄電部と、
前記発電部の発電量を検出する発電量検出部と
前記蓄電部の蓄電量を検出する蓄電量検出部とを更に備え、
前記第２制御部は、
前記発電量が第２閾値以下であり、かつ、前記蓄電量が第１閾値以下である場合に、前記動作状態を前記第２状態にする
請求項３に記載の情報処理装置。
【請求項７】
前記情報処理装置は、
単位時間当たりに前記動作状態が前記第１状態である時間を表すアクティブ率を算出する算出部を更に備え、
前記第２制御部は、
前記アクティブ率が第３閾値以下である場合に、前記動作状態を前記第２状態にする
請求項３乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、
電力を発電する発電部と、
前記発電部の発電量を検出する発電量検出部とを更に備え、
前記第２制御部は、
前記第３閾値を前記発電量に応じて変更する
請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、
電力を蓄電する蓄電部と、
前記蓄電部の蓄電量を検出する蓄電量検出部とを更に備え、
前記第２制御部は、
前記第３閾値を前記蓄電量に応じて変更する
請求項７又は８に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、
電力を発電する発電部と、
電力を蓄電する蓄電部と、
前記発電部の発電量を検出する発電量検出部とを更に備え、
前記蓄電部の蓄電量を検出する蓄電量検出部とを更に備え、
前記第２制御部は、
前記第３閾値を前記発電量と前記蓄電量に応じて変更する
請求項７に記載の情報処理装置。
【請求項１１】
前記第２制御部は、
前記プロセスの優先度が第４閾値以上である実行待ちの前記プロセスがある場合は、前記動作状態を前記第２状態にしない
請求項３乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記情報処理装置は、
前記プロセスの実行時の消費電力を記憶する記憶部を更に備え、
前記第２制御部は、
前記プロセスの実行時の消費電力を読み出し、前記プロセスの実行に必要な消費電力がない場合は、前記動作状態を前記第２状態にする
請求項３乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記プロセスは、
仮想マシンであり、
前記第１制御部は、
前記仮想マシンの実行を制御するハイパーバイザである
請求項３乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
第１状態と、前記第１状態よりも消費電力が低い第２状態とを動作状態として有する情報処理装置の動作状態制御方法であって、
第１制御部が、プロセスの実行を制御するステップと、
第２制御部が、実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするかを判定し、前記動作状態を前記第２状態にすると判定した場合に、前記動作状態を前記第２状態にするステップと
を含む動作状態制御方法。  
【請求項１５】
電力を蓄える蓄電部を備えるコンピュータを、
プロセッサによるプロセスの実行を制御する第１制御部と、
実行待ちのプロセスがあり、前記蓄電部の蓄電量が第１閾値以下である場合に、前記情報処理装置の消費電力を小さくさせるようにする第２制御部
として機能させるためのプログラム。
【請求項１６】
電力を蓄える蓄電部を備えるコンピュータを、
プロセッサによるプロセスの実行を制御する第１制御部と、
実行待ちのプロセスがあり、前記蓄電部の蓄電量が第１閾値以下である場合に、前記プロセッサをアイドル状態に移行する第２制御部
として機能させるためのプログラム。
【請求項１７】
第１状態と、前記第１状態よりも消費電力が低い第２状態とを動作状態として有するコンピュータを、
プロセスの実行を制御する第１制御部と、
実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするかを判定し、前記動作状態を前記第２状態にすると判定した場合に、前記動作状態を前記第２状態にする第２制御部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、動作状態制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年の情報処理装置では、消費電力を制御する技術が重要である。情報処理装置で省電力化を考慮した制御を行えば、機器全体の消費電力を抑えることができ、例えば、稼働時間を延ばすことができたり、充電する時間的な余裕を生むことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１６８７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、実行待ちプロセスがある場合でも、単位時間あたりの消費電力を抑えることができる情報処理装置、動作状態制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の情報処理装置は、プロセッサを有する情報処理装置であって、第１制御部と蓄電部と第２制御部とを備える。第１制御部は、前記プロセッサによるプロセスの実行を制御する。蓄電部は、電力を蓄える。第２制御部は、実行待ちのプロセスがある場合に、前記蓄電部の蓄電量が第１閾値以下である場合に、前記情報処理装置の消費電力を小さくさせるようにする。
【０００６】
また、実施形態の情報処理装置は、プロセッサと第１制御部と蓄電部と第２制御部とを備える。第１制御部は、前記プロセッサによるプロセスの実行を制御する。蓄電部は、電力を蓄える。第２制御部は、実行待ちのプロセスがある場合に、前記蓄電部の蓄電量が第１閾値以下である場合に、前記プロセッサをアイドル状態に移行する。
【０００７】
また、実施形態の情報処理装置は、第１状態と、前記第１状態より消費電力を抑える第２状態とを動作状態として有する情報処理装置であって、第１制御部と第２制御部とを備える。第１制御部は、プロセスの実行を制御する。第２制御部は、実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするか判定し、前記動作状態を前記第２状態にすると判定された場合に、前記動作状態を前記第２状態にする。
【０００８】
実施形態の動作状態制御方法は、第１状態と、前記第１状態より消費電力を抑える第２状態とを動作状態として有する情報処理装置の動作状態制御方法であって、実行制御するステップと第２状態を制御するステップとを含む。実行制御するステップは、第１制御部が、プロセスの実行を制御する。第２状態を制御するステップは、第２制御部が、実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするか否かを判定し、前記動作状態を前記第２状態にすると判定された場合に、前記動作状態を前記第２状態にする。
【０００９】
実施形態のプログラムは、電力を蓄える蓄電部を備えるコンピュータを、第１制御部と第２制御部として機能させる。第１制御部は、プロセッサによるプロセスの実行を制御する。第２制御部は、実行待ちのプロセスがある場合に、前記蓄電部の蓄電量が第１閾値以下である場合に、前記情報処理装置の消費電力を小さくさせるようにする。
【００１０】
また、実施形態のプログラムは、電力を蓄える蓄電部を備えるコンピュータを、第１制御部と第２制御部として機能させる。第１制御部は、プロセッサによるプロセスの実行を制御する。第２制御部は、実行待ちのプロセスがある場合に、前記蓄電部の蓄電量が第１閾値以下である場合に、前記プロセッサの消費電力を小さくさせるようにする。
【００１１】
また、実施形態のプログラムは、第１状態と、前記第１状態より消費電力を抑える第２状態とを動作状態として有するコンピュータを、第１制御部と第２制御部として機能させる。第１制御部は、プロセスの実行を制御する。第２制御部は、実行待ちのプロセスがある場合に、前記動作状態を前記第２状態にするか否かを判定すし、前記動作状態を前記第２状態にすると判定された場合に、前記動作状態を前記第２状態にする。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の情報処理装置の機能ブロックの構成の一例を示す図。
【図２】第１実施形態の情報処理装置のハードウェア構成の一例を示す図。
【図３】第１実施形態の情報処理装置の動作状態を説明するための図。
【図４】第１実施形態の制御部の機能ブロックの構成の一例を示す図。
【図５】第１実施形態の動作状態制御方法の一例を示すフローチャート。
【図６】第１実施形態の発電量を判定する方法の一例を示すフローチャート。
【図７】第１実施形態の蓄電量を判定する方法の一例を示すフローチャート。
【図８】第１実施形態の発電量及び蓄電量の判定方法の一例を示すフローチャート。
【図９】第２実施形態の制御部の機能ブロックの構成の一例を示す図。
【図１０】第２実施形態のアクティブ率の閾値の決定方法の一例を示す図。
【図１１】第２実施形態のアクティブ率による判定方法の一例を示すフローチャート。
【図１２】第２実施形態のプロセスの優先度による判定方法の一例を示すフローチャート。
【図１３】第２実施形態のプロセスの消費電力による判定方法の一例を示すフローチャート。
【図１４】第１及び２実施形態の制御部を適用する場合の具体例を示す図。
【図１５】第１及び２実施形態の変形例の機能ブロックの構成の一例を示す図。
【図１６】第１及び２実施形態の変形例のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１３】
（第１実施形態）
図１は、第１実施形態の情報処理装置１００の機能ブロックの構成の一例を示す図である。本実施形態の情報処理装置１００は、電源部１０、検出部２０、制御部３０、プロセス記憶部５１、入出力部６０及び記憶部７０を備える。電源部１０は、発電部１１、蓄電部１２及び管理部１３を備える。検出部２０は、発電量検出部２１及び蓄電量検出部２２を備える。制御部３０は、判定部３５、状態制御部４０及び実行制御部５０を備える。本発明に係る「情報処理装置」の「第１制御部」としての機能は実行制御部５０が持ち、「第２制御部」としての機能は判定部３５及び状態制御部４０が持つ。
【００１４】
発電部１１は、電力を発電する。蓄電部１２は、電力を蓄電する。管理部１３は、電力を供給先となる装置で必要な電圧に調整してから情報処理装置内の各装置（図示しない装置も含む）に供給する。発電量検出部２１は、発電部１１が発電する発電量を計測する。蓄電量検出部２２は、蓄電部１２の蓄電量を計測する。判定部３５は、実行待ちのプロセスがある場合に、情報処理装置１００の動作状態を第２状態にするか否かを判定する。
【００１５】
第１状態とは、情報処理装置１００がアクティブの状態をいう。ここで、情報処理装置１００がアクティブの状態とは、プロセスが実行されている状態をいう。
【００１６】
第２状態とは、第１状態よりも情報処理装置１００の消費電力が低い状態（アイドル状態）をいう。たとえば、ここでは、アイドル状態とは、プロセスが実行されていない状態をいう。以下、本実施形態の説明では、第１状態をアクティブ状態という。また、第２状態をアイドル状態という。
【００１７】
判定部３５は、発電量検出部２１で計測された発電量を取得する。また、判定部３５は、蓄電量検出部２２で計測された蓄電量を取得する。判定部３５は、実行制御部５０からプロセスの有無の情報を受け付ける。判定部３５は、プロセスの有無の情報を受け付けると、発電量検出部２１から発電量検出部２１が検出した発電量、又は蓄電量検出部２２が検出した蓄電量を取得する。判定部３５は、プロセスの有無の情報および受け付けた電力量（発電量または蓄電量）に基づいて、プロセスを実行するか、または、情報処理装置１００をアイドル状態に移行させるかを判定する。判定部３５は、プロセスを実行すると判定した場合は、後述する実行制御部５０にプロセスの実行の指示を送付する。判定部３５は、情報処理装置１００をアイドル状態に移行させると判定した場合は、状態制御部４０に情報処理装置１００をアイドル状態にする指示を送付する。なお、情報処理装置１００の動作状態及び動作状態の判定の説明の詳細については後述する。
【００１８】
状態制御部４０は、情報処理装置１００の動作状態をアイドル状態に移行すると判定された場合に、情報処理装置１００の動作状態をアイドル状態に移行する。なお、状態制御部４０は、情報処理装置１００をアイドル状態に移行するとき、情報処理装置１００を省電力モードにする命令を管理部１３に送信する。省電力モードについては、後述する。
【００１９】
実行制御部５０は、プロセスの実行を制御する。実行制御部５０は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）からプロセスを受け付ける。実行制御部５０は、受け付けたプロセスを後述するプロセス記憶部５１に書き込む。実行制御部５０は、判定部３５からプロセスの実行の指示を受け付ける。実行制御部５０は、プロセスの実行の指示を受け付けると、プロセス記憶部５１から実行対象のプロセスを読み出し、その実行対象のプロセスを実行する。
【００２０】
プロセス記憶部５１は、プロセスを記憶する記憶部である。例えば、プロセス記憶部５１は、実行対象のプロセスを特定する情報を記憶する。実行対象のプロセスと実行順序とを対応付けて記憶しても良い。プロセス記憶部５１は、１以上の記憶領域を有する。
【００２１】
入出力部６０は、情報処理装置１００の外部から情報を入力する。また、入出力部６０は、情報処理装置１００の外部へ情報を出力する。出力するとは、記憶媒体に書き込むことも含まれるが、これに限られない。
【００２２】
記憶部７０は、オペレーティングシステムやアプリケーションのプログラムや、ユーザデータを記憶する。
【００２３】
なお、制御部３０（判定部３５、状態制御部４０及び実行制御部５０）は、ソフトウェアであっても、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアであってもよい。また、制御部３０をソフトウェアとハードウェアとを組み合わせて実現してもよい。
【００２４】
図２は、第１実施形態の情報処理装置１００のハードウェア構成の一例を示す図である。本実施形態の情報処理装置１００は、電源装置１０１、発電量検出装置１０５、蓄電量検出装置１０６、入出力装置１０７、プロセッサ１０８及びメインメモリ１０９を備える。電源装置１０１は、電力供給装置１０２、電力蓄積装置１０３及び電源管理装置１０４を備える。電源装置１０１は、図１の電源部１０に対応する。電力供給装置１０２は、図１の発電部１１に対応する。電力蓄積装置１０３は、図１の蓄電部１２に対応する。電源管理装置１０４は、図１の管理部１３に対応する。発電量検出装置１０５は、図１の発電量検出部２１に対応する。蓄電量検出装置１０６は、図１の蓄電量検出部２２に対応する。入出力装置１０７は、図１の入出力部６０に対応する。プロセッサ１０８上でプログラムが実行されることにより実現される機能は、図１の制御部３０（判定部３５、状態制御部４０及び実行制御部５０）に対応する。メインメモリ１０９は、図１のプロセス記憶部５１や記憶部７０に対応する。
【００２５】
電力供給装置１０２は、電力蓄積装置１０３に電力を供給する。電力供給装置１０２は、例えば、太陽電池、無線電力給電装置、ＡＣ電源などであるが、これに限られない。本実施の形態の情報処理装置１００の説明では、電力供給装置１０２を太陽電池であることを前提にして説明する。しかしながら、電力供給装置１０２は、太陽電池に限られず、ＡＣ電源などで代用することも可能である。太陽電池は、光エネルギーを利用して電力を発電する装置である。電力蓄積装置１０３は、電力を蓄積する。電力蓄積装置１０３は、例えば、電気２重層キャパシタやリチウムイオンキャパシタなどの大容量キャパシタ、又はリチウムイオン電池などのバッテリなどである。なお、電力蓄積装置１０３は、大容量キャパシタ及びバッテリの両方を組み合わせた装置でもよい。
【００２６】
太陽電池は、光量などで発電量が大きく変化する一方で、情報処理装置１００の電力消費量も一定ではない。そのため、本実施形態の情報処理装置１００では、発電量と電力消費量の差を吸収するために、発電した電力を電力蓄積装置１０３に一旦充電してから使用する。
【００２７】
電源管理装置１０４は、情報処理装置１００に含まれるデバイス（図示しないものも含む）に電力を供給する、例えば、電源管理装置１０４は、情報処理装置１００に含まれる装置に電力を供給するＰＭＩＣ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
【００２８】
発電量検出装置１０５は、電力供給装置１０２の発電量を計測する。例えば、電力供給装置１０２が太陽電池である場合、発電量検出装置１０５は、例えば、シャント抵抗を利用して発電量を計測する。なお、電力供給装置１０２がＡＣ電源である場合は、発電量検出装置１０５は、常に一定量の電流を計測することになる。そのため、情報処置装置１００は、発電量検出装置１０５を備えていなくてもよい。
【００２９】
蓄電量検出装置１０６は、電力蓄積装置１０３の蓄電量を計測する。例えば、電力蓄積装置１０３が電気二重層キャパシタやリチウムイオンキャパシタなどのキャパシタである場合は、その出力電圧を計測することで蓄電量を取得することができる。そのため、ＡＤコンバータを電力蓄積装置１０３として用いることができる。また、電力蓄積装置１０３がリチウムイオン電池などのバッテリである場合は、クーロンカウンタを電力蓄積装置１０３として用いることができる。つまり、バッテリの充放電量をクーロンカウンタで計測することで蓄電量を取得することができる。
【００３０】
入出力装置１０７は、情報処理装置１００の外部から情報を入力するための装置であるとともに、情報処理装置１００の外部に情報を出力するための装置である。出力するとは、記憶媒体に書き込むことも含まれるが、これに限られない。
例えば、ユーザとのインターフェースとして使用する装置の場合は、液晶ディスプレイ、キーボード、マウス又はタッチパネルなどである。また、補助記憶装置として使用する装置の場合は、入出力装置１０７は、メモリーカード、光学ドライブ又はハードディスクドライブなどである。
【００３１】
プロセッサ１０８は、オペレーティングシステムやアプリケーションなどのプログラムを実行する。プログラムが実行されることによって実現される機能は、情報処理装置１００の動作を制御する。
プロセッサ１０８は、入出力装置１０７による割り込み処理を受ける。図２では省略しているが、プロセッサ１０８は、内部に割り込みを処理する割り込み制御装置を備える。なお、入出力装置１０７とプロセッサ１０８との間に、当該割り込み制御装置があってもよい。
【００３２】
メインメモリ１０９は、プロセッサ１０８がプログラムを実行する際に利用されるメモリであって、プログラム自体やプログラムの実行するために必要なデータを記憶する。揮発性のメモリでも不揮発性のメモリでもよい。例えば、メインメモリ１０９が揮発性である場合は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。また、メインメモリ１０９が不揮発性である場合は、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。
【００３３】
ここで、メインメモリ１０９の消費電力について説明する。例えば、メインメモリ１０９がＤＲＡＭの場合、データを保持する必要はあるが、ＤＲＡＭにアクセスが発生しない場合は、セルフリフレッシュモードなどの省電力モードにすることで消費電力を抑えることができる。また、メインメモリ１０９がＭＲＡＭの場合は、セルフリフレッシュモードなどの省電力モードに加え、ＭＲＡＭが不揮発性なメモリのため、電源を切ることでメモリの消費電力を抑えることができる。ＰＣＭ、ＲｅＲＡＭ及びＦｅＲＡＭも、不揮発性なメモリのため、ＭＲＡＭと同様に電源を切ることで消費電力を抑えることができる。
【００３４】
次に、本実施形態の情報処理装置１００の動作状態について説明する。本実施形態の情報処理装置１００は、アクティブ状態(第１状態)と、アクティブ状態よりも消費電力の低いアイドル状態(第２状態)とを有する。
【００３５】
情報処理装置１００のアイドル状態は、情報処理装置１００のプロセッサ１０８、メインメモリ１０９及び電源管理装置１０４などが、省電力モードの状態である。図３は、第１実施形態の情報処理装置１００の動作状態を説明するための図である。
【００３６】
まず、プロセッサ１０８の場合を例にして動作状態について説明する。プロセッサのアクティブ状態は、プロセッサ１０８がプロセスなどの処理を実行している状態である。プロセッサのアイドル状態は、入出力装置１０７からの割り込みを待っている状態である。言い換えると、プロセッサ１０８がプロセスなどの処理を実行していない状態である。プロセッサのアイドル状態時は、消費電力がプロセッサのアクティブ状態より低い。つまり、このとき、プロセッサは、省電力モードの状態である。プロセッサ１０８によっては、アイドル状態に相当する状態を複数持っている場合もある。例えば、キャッシュメモリの電源を入れたままデータを保持する第一のアイドル状態と、キャッシュメモリの電源を落としてデータを保存しないディープスリープと呼ばれる第２のアイドル状態を持つプロセッサも多い。このように、アイドル状態は、複数の状態を有していてもよい。メインメモリ１０９の省電力モードは、上述のメインメモリ１０９の消費電力の説明の通りである。電源管理装置１０４の省電力モードは、各デバイスに供給する電圧を、デバイス毎に定められている通常の電力モードでの電圧よりも下げて、各デバイスに供給する。
【００３７】
次に、本実施形態の情報処理装置１００の制御部３０の機能ブロックの構成について説明する。図４は、第１実施形態の情報処理装置１００の制御部３０の機能ブロック及び情報処理装置１００内のプロセス記憶部５１の構成の一例を示す図である。本実施形態の制御部３０は、判定部３５、状態制御部４０及び実行制御部５０を備える。判定部３５は、電力量取得部３６、状態判定部３８を備える。実行制御部５０は、書込部５２、監視部５３、及び実行部５４を備える。
【００３８】
電力量取得部３６は、発電量検出部２１が検出した発電量、又は蓄電量検出部２２が検出した蓄電量を取得する。電力量取得部３６は、後述する状態判定部３８から発電量の取得要求を受け付けると、発電量検出部２１から発電量を取得して、状態判定部３８に発電量を送信する。また、電力量取得部３６は、後述する状態判定部３８から蓄電量の取得要求を受け付けると、蓄電量検出部２２から蓄電量を取得して、状態判定部３８に蓄電量を送信する。
【００３９】
状態判定部３８は、後述する監視部５３からプロセスの有無の情報を受け付ける。状態判定部３８は、プロセスの有無の情報を受け付けると、電力量取得部３６に電力量（発電量または蓄電量）の取得要求を送付する。状態判定部３８は、電力量取得部から送信された電力量（発電量または蓄電量）を受け付ける。状態判定部３８は、プロセスの有無の情報および受け付けた電力量（発電量または蓄電量）に基づいて、プロセスを実行するか、または、情報処理装置１００をアイドル状態に移行させるかを判定する。状態判定部３８は、プロセスを実行すると判定した場合は、後述する実行部５４にプロセスの実行の指示を送付する。状態判定部３８は、情報処理装置１００をアイドル状態に移行させると判定した場合であっては、プロセス記憶部５１にプロセスがある場合は、タイマ(図示せず)を設定することと情報処理装置１００をアイドル状態に移行する指示を後述する状態制御部４０に送付する。状態判定部３８は、プロセス記憶部５１にプロセスがない場合は、後述する状態制御部４０に情報処理装置１００をアイドル状態に移行する指示を送信する。
【００４０】
状態制御部４０は、状態判定部３８からタイマの設定指示を受けた場合は、タイマを設定し、情報処理装置１００の動作状態をアイドル状態に移行し、プロセス記憶部５１にプロセスがない場合は、情報処理装置１００の動作状態をアイドル状態に移行する。状態制御部４０は、タイマが設定されているが、タイマ割り込みでない割り込みによってアイドル状態から復帰した場合、タイマを解除する。
【００４１】
書込部５２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）からプロセスを受け付ける。書込部５２は、受け付けたプロセスをプロセス記憶部５１に書き込む。例えば、書込部５２は、実行対象のプロセスを特定する情報をプロセス記憶部５１に書き込む。実行対象のプロセスと実行順序とを対応付けて書き込んでも良い。書込部５２は、プロセスをプロセス記憶部５１に書き込むと、書き込んだ旨を後述する監視部５３に送付する。
【００４２】
プロセス記憶部５１は、プロセスを記憶する記憶部である。例えば、プロセス記憶部５１は、実行対象のプロセスを特定する情報を記憶する。実行対象のプロセスと実行順序とを対応付けて記憶しても良い。プロセス記憶部５１は、１以上の記憶領域を有する。
【００４３】
監視部５３は、書込部５２からプロセスをプロセス記憶部５１に書き込んだ旨を受信する。監視部５３は、タイマ（図示せず）の満了によるタイマ割り込みをタイマから受信する。監視部５３は、書き込んだ旨を受信すると、プロセス記憶部５１にプロセスが記憶されている否かを確認する。監視部５３は、タイマ割り込みを受信すると、プロセス記憶部５１にプロセスが記憶されている否かを確認する。監視部５３は、プロセス記憶部５１にプロセスが記憶されているか否かの情報を状態判定部３８に送付する。
【００４４】
実行部５４は、状態判定部３８からプロセスの実行の指示を受け付ける。実行部５４は、プロセスの実行の指示を受け付けると、プロセス記憶部５１から実行対象のプロセスを読み出し、その実行対象のプロセスを実行する。
【００４５】
プロセス記憶部５１は、例えば、ｗａｉｔ領域及びｅｘｐｉｒｅｄ領域の２種類の領域により構成される。一般に、プロセスにはオペレーティングシステムより優先度及び実行可能時間が付加される。ｗａｉｔ領域及びｅｘｐｉｒｅｄ領域の中には、更に、優先度毎のスロットが用意されている。ｗａｉｔ領域は、実行待ちのプロセスが書き込まれる。ｅｘｐｉｒｅｄ領域は、実行したが指定された実行可能時間中に実行しきれなかったプロセスが書き込まれる。ｗａｉｔ領域が空になったら、ｅｘｐｉｒｅｄ領域がｗａｉｔ領域になり、実行可能時間が新しく割り振られる。そして、空になったｗａｉｔ領域は、ｅｘｐｉｒｅｄ領域になる。すなわち、実行制御部５０は、ｗａｉｔ領域及びｅｘｐｉｒｅｄ領域を相互に切り換えながらプロセスを実行する順序を制御する。
実行部５４は、実行領域５１から優先度が一番大きいプロセスを取り出して実行する。なお、実行領域５１の構成は、上述の構成に限られない。
【００４６】
本実施形態の制御部３０は、具体的には、例えば、プロセッサ１０８上で動作するオペレーティングシステムのプロセススケジューラとして実現することができる。プロセススケジューラは、ＣＰＵ（プロセッサ１０８）を最も有効に使用できるように、プロセスにＣＰＵ実行権を与えるスケジューラである。
【００４７】
図５は、第１実施形態の情報処理装置１００の動作状態制御方法の一例を説明するためのフローチャートである。ＯＳからプロセスを受信した際、または、タイマからタイマ割り込みを受信した際に（スタート）、実行制御部５０の監視部５３は、プロセス記憶部５１にプロセスがあるか否かを判定する（ステップＳ１）。プロセス記憶部５１にプロセスがある場合（ステップＳ１、Ｙｅｓ）は、ステップＳ２に進む。プロセス記憶部５１にプロセスがない場合（ステップＳ１、Ｎｏ）は、判定部３５の状態判定部３８にプロセスが無い情報を送信する。状態判定部３８は状態制御部に情報処理装置１００をアイドル状態に移行する指示を送信する。そして、状態制御部４０が、情報処理装置１００の動作状態をアイドル状態に移行する（ステップＳ６）。すなわち、状態制御部４０は、情報処理装置１００の消費電力を小さくさせるようにする。
【００４８】
状態判定部３８は、情報処理装置１００の動作状態をアイドル状態に移行するか否かを判定する（ステップＳ２）。状態判定部３８は、当該判定を任意の条件で行ってよい。具体的な条件の例は後述する。アイドル状態に移行する場合（ステップＳ２、Ｙｅｓ）は、状態制御部４０がタイマを設定する（ステップＳ５）。当該タイマを設定した後、状態制御部４０は、情報処理装置１００の動作状態をアイドル状態に移行する（ステップＳ６）。アイドル状態にしない場合（ステップＳ２、Ｎｏ）は、実行制御部５０の実行部５４がプロセス記憶部５１の中からプロセスを選択する（ステップＳ３）。実行部５４は、ステップＳ３で選択されたプロセスをプロセス記憶部５１から読み出し、実行する（ステップＳ４）。
【００４９】
図５のフローチャートの処理は、例えば、以下のような場合に実行される。実行制御部５０は、入出力装置１０７のＩ／Ｏ待ちの時などにより、プロセッサ１０８が、プロセスを切り替えるときに、図５のフローチャートの処理を実行する。また、実行制御部５０は、プロセスの実行（ステップＳ４）が終わった後に、図５のフローチャートの処理を実行する。また、実行制御部５０は、情報処理装置１００がアイドル状態のときに割り込みが発生してアクティブ状態に復帰したときに、図５のフローチャートの処理を実行する。
【００５０】
ここで、図５のフローチャートのタイマ設定（ステップＳ５）について説明する。実行制御部５０は、タイマの満了によるタイマ割り込みが発生したら、図５のフローチャートの処理を再度実行する。また、タイマ割り込みではない割り込みが発生した場合は、状態制御部４０が、ステップＳ５で設定したタイマを解除してから、実行制御部５０が、図５のフローチャートの処理を再度実行する。ステップＳ５のタイマは、図５のフローチャートの処理が、一定の時間で発生するように設定したものであるため、割り込みが発生して図５のフローチャートの処理が再度実行された場合は解除する。
【００５１】
本実施形態の情報処理装置１００は、実行待ちのプロセスが残っていても動作状態をアイドル状態に移行する。そのため、実行待ちのプロセスが残っている状態でアイドル状態になったとき、例えば、Ｉ／Ｏ処理が全く発生していないなどにより、情報処理装置１００はずっと実行待ちのプロセスを実行しない可能性がある。これを防ぐために、実行制御部５０は、一定の時間でタイマ割り込みが発生するように、ステップＳ５でタイマを設定する。
【００５２】
図６は、第１実施形態の情報処理装置１００の動作状態制御方法の一例（発電量を判定する場合）を説明するためのフローチャートである。ステップＳ１２以外は、図５のフローチャートと同じであるため説明を省略する。ステップＳ１２において、判定部３５の状態判定部３８は、電力量取得部３６により取得した発電量が、閾値以上であるか否かを判定する。すなわち、状態判定部３８は、発電量と当該発電量の閾値により、情報処理装置１００をアイドル状態に移行するか否かを判定する。
【００５３】
図７は、第１実施形態の情報処理装置１００の動作状態制御方法の一例（蓄電量を判定する場合）を説明するためのフローチャートである。ステップＳ２２以外は、図５のフローチャートと同じであるため説明を省略する。ステップＳ２２において、判定部３５の状態判定部３８は、電力量取得部３６により取得した蓄電量が、閾値以上であるか否かを判定する。すなわち、状態判定部３８は、蓄電量と当該蓄電量の閾値により、情報処理装置１００をアイドル状態に移行するか否かを判定する。
【００５４】
図８は、第１実施形態の情報処理装置１００の動作状態制御方法の一例（発電量及び蓄電量を判定する場合）を説明するためのフローチャートである。ステップＳ３２及びステップＳ３３以外は、図５のフローチャートと同じであるため説明を省略する。判定部３５の状態判定部３８は、電力量取得部３６により取得した発電量が閾値以上であるか否かを判定する（ステップＳ３２）。発電量が閾値以上である場合（ステップＳ３２、Ｙｅｓ）は、実行制御部５０の実行部５４は、プロセス記憶部５１の中からプロセスを選択する（ステップＳ３４）。発電量が閾値未満である場合（ステップＳ３２、Ｎｏ）は、電力量取得部３６により取得した蓄電量が閾値以上であるか否かを判定する（ステップＳ３３）。蓄電量が閾値以上である場合（ステップＳ３３、Ｙｅｓ）は、状態判定部３８はプロセスを実行する情報を実行制御部５０の実行部５４に送信する。実行制御部５０の実行部５４は、プロセス記憶部５１の中からプロセスを選択する（ステップＳ３４）。蓄電量が閾値未満である場合（ステップＳ３３、Ｎｏ）は、状態判定部３８は状態制御部にタイマを設定することと情報処理装置１００をアイドル状態に移行する指示を送信する。状態制御部４０は、タイマを設定する（ステップＳ３６）。なお、上述の判定方法は一例であり、発電量及び蓄電量を判定する順序などの具体的な判定方法は任意でよい。
【００５５】
本実施形態の情報処理装置１００は、実行待ちプロセスがある場合でも、制御部３０が動作状態をアイドル状態に移行するか否かを、発電量や蓄電量などの電力量により判定する。これにより、単位時間あたりの消費電力を抑えることができる。
【００５６】
（第２実施形態）
次に、第２実施形態の情報処理装置１００について説明する。第２実施形態の情報処理装置１００の機能ブロックの構成は、図１と同じであるため説明を省略する。本実施形態の制御部３０の機能ブロックについて説明する。
図９は、第２実施形態の情報処理装置１００の制御部３０の機能ブロック、情報処理装置１００内のプロセス記憶部５１と動作状態記憶部５５の構成の一例を示す図である。
本実施形態の制御部３０は、判定部３５、算出部３９、状態制御部４０、実行制御部５０を備える。算出部３９は、動作状態記憶部５５に接続される。実行制御部５０は、プロセス記憶部５１に接続される。
判定部３５は、電力量取得部３６、閾値設定部３７、状態判定部３８を備える。実行制御部５０は、書込部５２、監視部５３、実行部５４を備える。
【００５７】
電力量取得部３６は、発電量検出部２１が検出した発電量、又は蓄電量検出部２２が検出した蓄電量を取得する。電力量取得部３６は、後述する状態判定部３８から発電量の取得要求を受け付けると、発電量検出部２１から発電量を取得して、閾値設定部３７に発電量を送信する。また、電力量取得部３６は、後述する状態判定部３８から蓄電量の取得要求を受け付けると、蓄電量検出部２２から蓄電量を取得して、閾値設定部３７に蓄電量を送信する。
【００５８】
閾値設定部３７は、電力量取得部３６から送信された電力量（発電量または蓄電量）を受け付ける。閾値設定部３７は、動作状態をアイドル状態に移行するか否かを判定するための閾値を、受け付けた電力量（発電量や蓄電量など）に応じて設定する。ここで、閾値の設定には、閾値を同じ値のままに設定する場合や、閾値を変更する場合が含まれる。例えば、閾値設定部３７は、発電量や蓄電量が大きい場合は、アクティブ率の閾値を高くするように算出する。また、閾値設定部３７は、発電量や蓄電量が小さい場合は、アクティブ率の閾値を小さくするように算出する。アクティブ率とは、動作状態がアクティブ状態である時間の割合（単位時間当たりに動作状態がアクティブ状態である時間）を表す。このようにアクティブ率の閾値を算出することで、発電量や蓄電量などに余裕がない場合は、情報処理装置１００のアクティブ率を低く抑えることができる。逆に、発電量や蓄電量などに余裕がある場合は、情報処理装置１００は、アクティブ率が高い状態で動作することができる。
【００５９】
状態判定部３８は、後述する監視部５３からプロセスの有無の情報を受け付ける。状態判定部３８は、プロセスの有無の情報を受け付けると、電力量取得部３６に電力量（発電量または蓄電量）を閾値設定部３７に送信する要求を送信する。状態判定部３８は、閾値設定部３７から設定されたアクティブ率閾値を受け付ける。状態判定部３８は、後述する算出部３９からアクティブ率を受け付ける。状態判定部３８は、受け付けたアクティブ率閾値とアクティブ率を比較する。状態判定部３８は、比較した結果に基づいて、プロセスを実行するか、または、情報処理装置１００をアイドル状態に移行させるかを判定する。状態判定部３８は、例えば、アクティブ率がアクティブ率閾値以上の場合は、情報処理装置１００をアイドル状態に移行すると判定する。なお、状態判定部３８は、プロセスに優先度が対応付けられている場合、所定のプロセスの優先度以上のプロセスがプロセス記憶部５１にあるか否かを更に判定しても良い。その場合、状態判定部３８は、所定のプロセスの優先度以上のプロセスがある場合に、プロセスを実行すると判定し、所定のプロセスの優先度以上のプロセスがない場合に、情報処理装置をアイドル状態に移行すると判定しても良い。状態判定部３８は、例えば、アクティブ率がアクティブ率閾値未満の場合は、プロセスを実行すると判定する。また、状態判定部３８は、プロセスの実行に必要な消費電力があるか否かを判定しても良い。その場合、プロセスの実行に必要な消費電力がある場合に、アクティブ率がアクティブ率閾値以上か否かを判定し、プロセスの実行に必要な消費電力が無い場合は、情報処理装置をアイドル状態に移行すると判定しても良い。状態判定部３８は、プロセスを実行すると判定した場合は、後述する実行部５４にプロセスの実行の指示を送付する。
【００６０】
状態判定部３８は、情報処理装置１００をアイドル状態に移行させると判定した場合であって、プロセス記憶部５１にプロセスがある場合は、タイマ(図示せず)を設定することと情報処理装置１００をアイドル状態に移行する指示を後述する状態制御部４０に送付する。状態判定部３８は、情報処理装置１００をアイドル状態に移行させると判定した場合であって、プロセス記憶部５１にプロセスがない場合は、後述する状態制御部４０に情報処理装置１００をアイドル状態に移行する指示を送信する。
【００６１】
書込部５２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）からプロセスを受け付ける。書込部５２は、受け付けたプロセスをプロセス記憶部５１に書き込む。例えば、書込部５２は、実行対象のプロセスを特定する情報をプロセス記憶部５１に書き込む。実行対象のプロセスと実行順序とを対応付けて書き込んでも良い。書込部５２は、プロセスをプロセス記憶部５１に書き込むと、書き込んだ旨を後述する監視部５３に送付する。
【００６２】
プロセス記憶部５１は、プロセスを記憶する記憶部である。例えば、プロセス記憶部５１は、実行対象のプロセスを特定する情報を記憶する。実行対象のプロセスと実行順序とを対応付けて記憶しても良い。プロセス記憶部５１は、１以上の記憶領域を有する。
【００６３】
監視部５３は、書込部５２からプロセスをプロセス記憶部５１に書き込んだ旨を受信する。監視部５３は、タイマ（図示せず）の満了によるタイマ割り込みをタイマから受信する。監視部５３は、書き込んだ旨を受信すると、プロセス記憶部５１にプロセスが記憶されている否かを確認する。監視部５３は、タイマ割り込みを受信すると、プロセス記憶部５１にプロセスが記憶されている否かを確認する。監視部５３は、プロセス記憶部５１にプロセスが記憶されているか否かの情報を状態判定部３８に送付する。
【００６４】
実行部５４は、状態判定部３８からプロセスの実行の指示を受け付ける。実行部５４は、プロセスの実行の指示を受け付けると、プロセス記憶部５１から実行対象のプロセスを読み出し、その実行対象のプロセスを実行する。
【００６５】
動作状態記憶部５５は、情報処理装置１００の動作状態がアクティブか否かを時刻情報と対応付けて情報を記憶する。
【００６６】
算出部３９は、動作状態記憶部５５に記憶された時刻情報と対応付けられた情報処理装置１００の動作状態がアクティブか否かの情報に基づいて、動作状態がアクティブ状態である時間の割合（単位時間当たりに動作状態がアクティブ状態である時間）を表すアクティブ率を算出する。
【００６７】
算出部３９は、算出したアクティブ率を状態判定部３８に送信する。
【００６８】
状態制御部４０は、情報処理装置１００の動作状態をアイドル状態に移行すると判定された場合に、プロセス記憶部５１にプロセスがある場合、タイマを設定し、情報処理装置１００の動作状態をアイドル状態に移行し、プロセス記憶部５１にプロセスがない場合、情報処理装置１００の動作状態をアイドル状態に移行する。状態制御部４０は、タイマが設定されているが、タイマ割り込みでない割り込みによってアイドル状態から復帰した場合、タイマを解除する。
【００６９】
実行制御部５０の説明は、第１実施形態の情報処理装置１００と同じであるため省略する。
【００７０】
図１０は、第２実施形態の情報処理装置１００のアクティブ率の閾値の決定方法の一例を示す図である。図１０の例では、蓄電量に応じてアクティブ率の閾値を変更している。なお、閾値設定部３７は、発電量などのその他の電力情報に応じてアクティブ率の閾値を変更してもよい。また、閾値設定部３７は、複数の電力情報（発電量と蓄電量など）に応じてアクティブ率の閾値を変更してもよい。図１０の例では、蓄電量が低いほど、アクティブ率の閾値が小さくなっている。
【００７１】
図１１は、第２実施形態の情報処理装置１００の動作状態制御方法の一例（アクティブ率を判定する場合）を説明するためのフローチャートである。ステップＳ４２以外は、図５のフローチャートと同じであるため説明を省略する。ステップＳ４２において、判定部３５の状態判定部３８は、アクティブ率が閾値以上であるか否かを判定する。すなわち、状態判定部３８は、アクティブ率と当該アクティブ率の閾値により、情報処理装置１００をアイドル状態に移行するか否かを判定する。
【００７２】
図１２は、第２実施形態の情報処理装置１００の動作状態制御方法の一例（アクティブ率及びプロセスの優先度を判定する場合）を説明するためのフローチャートである。ステップＳ５２及びステップＳ５３以外は、図５のフローチャートと同じであるため説明を省略する。判定部３５の状態判定部３８は、アクティブ率が閾値以上であるか否かを判定する（ステップＳ５２）。アクティブ率が閾値未満である場合（ステップＳ５２、Ｎｏ）は、実行制御部５０の実行部は、プロセス記憶部５１の中からプロセスを選択する（ステップＳ５４）。アクティブ率が閾値以上である場合（ステップＳ５２、Ｙｅｓ）は、状態判定部３８が、プロセス記憶部５１に優先度が閾値以上のプロセスがあるか否かを判定する（ステップＳ５３）。優先度が閾値以上である場合（ステップＳ５３、Ｙｅｓ）は、実行制御部５０の実行部５４は、プロセス記憶部５１の中からプロセスを選択する（ステップＳ５４）。優先度が閾値未満である場合（ステップＳ５３、Ｎｏ）は、状態判定部３８は状態制御部にタイマを設定することと情報処理装置１００をアイドル状態に移行する指示を送信する。状態制御部４０は、タイマを設定する（ステップＳ５６）。なお、上述の判定方法は一例であり、アクティブ率及び優先度を判定する順序などの具体的な判定方法は任意でよい。
【００７３】
図１２のフローチャートの処理の例では、プロセスの優先度をアイドル状態に移行するか否かの条件に含めることで、発電量や蓄電量などが小さく、電力的に余裕がなくても、優先度の高いプロセスの場合は、アクティブ状態でプロセスを実行させることができる。逆に、優先度の低いプロセスの場合、プロセスを実行せずに情報処理装置１００をアイドル状態に移行することにより電力温存を図れる。これにより、情報処理装置１００の稼働時間を延ばすことができ、その間に給電する時間的な余裕が生むことができる。
【００７４】
図１３は、第２実施形態の情報処理装置１００の動作状態制御方法の一例（アクティブ率及びプロセスの消費電力を判定する場合）を説明するためのフローチャートである。まず、プロセスの消費電力について説明する。プロセスの消費電力は、例えば、オペレーティングシステムやアプリケーションなどが、プロセス実行中の消費電力を測定したり、入出力装置１０７のＩ／Ｏ回数を数えたりして、それらを電力量情報としてプロセスの情報に付加することで管理できる。なお、Ｉ／Ｏ回数を電力量情報として管理する理由は、Ｉ／Ｏ回数から消費電力を予測することができるためである。プロセス毎にプロセスの電力量情報（消費電力やＩ／Ｏ回数など）を記憶部７０に記憶し、制御部３０が、記憶部７０からプロセス実行時の消費電力を読み出すようにしてもよい。また、ユーザが、プロセスの元となる実行形式ファイルの情報として、あらかじめ予測される消費電力量やＩ／Ｏ回数を与えておいてもよい。プロセスが作成されたら、その電力量情報をオペレーティングシステムの優先度情報や実行可能時間と一緒に、プロセスの情報に付加する。なお、プロセスの電力量情報は、制御部３０が管理してもよいし、他のアプリケーションなどが記憶部７０などで管理し、制御部３０が記憶部７０から読み出すようにしてもよい。
【００７５】
実行制御部５０の監視部５３は、プロセス記憶部５１にプロセスがあるか否かを判定する（ステップＳ６１）。プロセス記憶部５１にプロセスがある場合（ステップＳ６１、Ｙｅｓ）は、実行制御部５０の実行部５４が、プロセス記憶部５１の中からプロセスを選択する（ステップＳ６２）。プロセス記憶部５１にプロセスがない場合（ステップＳ６１、Ｎｏ）は、状態判定部３８は状態制御部に情報処理装置１００をアイドル状態に移行する指示を送信する。状態制御部４０が、情報処理装置１００の動作状態をアイドル状態に移行する（ステップＳ６７）。すなわち、状態制御部４０は、情報処理装置１００の消費電力を小さくさせるようにする。
【００７６】
判定部３５の状態判定部３８は、プロセスの実行に必要な消費電力があるか否かを判定する（ステップＳ６３）。プロセスの実行に必要な消費電力がある場合（ステップＳ６３、Ｙｅｓ）は、ステップＳ６４に進む。プロセスの実行に必要な消費電力がない場合（ステップＳ６３、Ｎｏ）は、状態判定部３８は状態制御部にタイマを設定することと情報処理装置１００をアイドル状態に移行する指示を送信する。状態制御部４０がタイマを設定する（ステップＳ６６）。当該タイマを設定した後、状態制御部４０は、情報処理装置１００の動作状態をアイドル状態に移行する（ステップＳ６７）。
【００７７】
判定部３５の状態判定部３８は、アクティブ率が閾値以上あるか否かを判定する（ステップＳ６４）。アクティブ率が閾値未満である場合（ステップＳ６４、Ｎｏ）は、実行部５４は、ステップＳ６２で選択されたプロセスを実行する（ステップＳ６５）。アクティブ率が閾値以上である場合（ステップＳ６４、Ｙｅｓ）は、状態判定部３８は状態制御部にタイマを設定することと情報処理装置１００をアイドル状態に移行する指示を送信する。状態制御部４０がタイマを設定する（ステップＳ６６）。当該タイマを設定した後、状態制御部４０は、情報処理装置１００の動作状態をアイドル状態に移行する（ステップＳ６７）。
【００７８】
図１３のフローチャートの処理の例では、プロセスが必要とする消費電力をアイドル状態に移行するか否かの条件に含めることで、プロセスを動作させる電力がない時、即座に情報処理装置１００をアイドル状態に移行することができ、情報処理装置１００の消費電力を抑えることができる。
【００７９】
上述の説明では、情報処理装置１００の動作状態をアイドル状態に移行するか否かを判断する条件に、アクティブ率のみ（図１１）、アクティブ率とプロセスの優先度（図１２）及びアクティブ率とプロセスに必要な消費電力（図１３）の例を具体的に説明した。しかしながら、情報処理装置１００の動作状態をアイドル状態に移行するか否かを判断する条件は、これらの場合に限られない。例えば、情報処理装置１００の動作状態をアイドル状態に移行するか否かを判断する条件は、アクティブ率とプロセスの優先度とプロセスに必要な消費電力とを組み合わせるなど、複数の条件にしてもよい。また、プロセスの優先度のみなどにして、単独の条件にしてもよい。
【００８０】
本実施形態の情報処理装置１００は、実行待ちプロセスがある場合でも、制御部３０が動作状態をアイドル状態に移行するか否かを、アクティブ率、プロセスの優先度及びプロセスの消費電力などにより判定する。これにより、単位時間あたりの消費電力を抑えることができる。
【００８１】
以上のように、第１及び２実施形態の情報処理装置１００によれば、実行待ちプロセスがある場合でも、単位時間あたりの消費電力を抑えることができる。
【００８２】
第１及び２実施形態の情報処理装置１００は、例えば、実行しなければならないプロセスが大量に残っており、それらをすべて実行すると電力蓄積装置１０３の電力量では不足するような場合に効果的である。
【００８３】
例えば、このような場合の具体例の１つとして、オペレーティングシステムのブートシーケンスがあげられる。オペレーティングシステムがブートする際は、まず、カーネルの環境設定、メモリ管理、プロセス管理及びファイル管理などが行われる。次に、プロセスが作成され、プロセススケジューラが動作を開始する。次に、プロセッサの初期化、デバイスドライバなどの初期化及びルートファイルシステムのマウントなどが、これらの処理を担当するプロセスにより行われる。しかしながら、それぞれのプロセスの電力負荷が大きいため、例えば、太陽電池駆動の装置の場合、電力消費量が発電量を大きく上回り、ブート最中に止まってしまう可能性がある。そこで、このような装置に本発明を実施することにより、発電量や蓄電量に応じて、プロセスを実行するか、または実行せずに装置を消費電力の少ないアイドル状態に遷移するかを判断することができる。これにより、単位時間あたりの消費電力を制御できるため、蓄電量不足になることがなく、装置を安全にブートすることができる。
【００８４】
図１４は、第１及び２実施形態の情報処理装置１００の制御部３０を適用する場合の具体例を説明するための図である。第１及び２実施形態の情報処理装置１００の制御部３０は、オペレーティングシステムのプロセススケジューラに適用することができる。オペレーティングシステムにおけるプロセススケジューラの動作と、仮想化技術のハイパーバイザにおけるスケジューラの動作は類似している。そのため、第１及び２実施形態の情報処理装置１００の制御部３０は、仮想化技術のハイパーバイザにおけるスケジューラにも適用することができる。すなわち、制御部３０が、上述の第１及び２実施形態のプロセスの実行の制御と同様の制御を行うことにより、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）の実行を制御することができる。なお、第１及び２実施形態の情報処理装置１００の制御部３０の具体例は、プロセススケジューラ及びハイパーバイザのスケジューラに限られるものではない。
【００８５】
（第１及び２実施形態の変形例）
上述の実施形態では、発電部１１、発電量検出部２１がある例を説明したが、発電部１１、発電量検出部２１は無くても良い。図１５は、第１及び２実施形態の変形例の情報処理装置１００の機能ブロックの構成の一例を示す図である。
【００８６】
本変形例の情報処理装置１００では、電力量取得部３６(図４又は９参照)は、蓄電量検出部２２から蓄電量のみを取得する。図１６は、第１及び２実施形態の変形例のハードウェア構成の一例を示す図である。本変形例の情報処理装置１００では、電力蓄積装置１０３は、図示しない電力供給部から予め電力供給を受けることにより、電力を蓄電する。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８８】
１０  電源部
１１  発電部
１２  蓄電部
１３  管理部
２０  検出部
２１  発電量検出部
２２  蓄電量検出部
３０  制御部
３５  判定部
３６  電力量取得部
３７  閾値設定部
３８  状態判定部
３９  算出部
４０  状態制御部
５０  実行制御部
５１  プロセス記憶部
５２  書込部
５３  監視部
５４  実行部
５５  動作状態記憶部
６０  入出力部
７０  記憶部
１００  情報処理装置
１０１  電源装置
１０２  電力供給装置
１０３  電力蓄積装置
１０４  電源管理装置
１０５  発電量検出装置
１０６  蓄電量検出装置
１０７  入出力装置
１０８  プロセッサ
１０９  メインメモリ
【図１】
2014167780.tif 000003
【図２】
2014167780.tif 000004
【図３】
2014167780.tif 000005
【図４】
2014167780.tif 000006
【図５】
2014167780.tif 000007
【図６】
2014167780.tif 000008
【図７】
2014167780.tif 000009
【図８】
2014167780.tif 000010
【図９】
2014167780.tif 000011
【図１０】
2014167780.tif 000012
【図１１】
2014167780.tif 000013
【図１２】
2014167780.tif 000014
【図１３】
2014167780.tif 000015
【図１４】
2014167780.tif 000016
【図１５】
2014167780.tif 000017
【図１６】
2014167780.tif 000018