(57)【要約】 【課題】余剰電力を活用可能な情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】実施形態の情報処理装置は、発電部と、発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作する情報処理装置であって、第１取得部と第２取得部と第１制御部とを備える。第１取得部は、発電部で発電された電力の値を示す第１情報を取得する。第２取得部は、蓄電部の蓄電量を示す第２情報を取得する。第１制御部は、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。【選択図】図２
2014063357.tif 000002
【特許請求の範囲】
【請求項１】
発電部と、前記発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作する情報処理装置であって、
前記発電部で発電された電力の値を示す第１情報を取得する第１取得部と、
前記蓄電部の蓄電量を示す第２情報を取得する第２取得部と、
前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う第１制御部と、を備える、
情報処理装置。
【請求項２】
１以上の前記予め設定された処理ごとに、当該処理を開始するための情報を示す第３情報を記憶する記憶部をさらに備え、
前記第１制御部は、前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が前記第１閾値以上である場合は、前記記憶部に記憶された１以上の前記第３情報のうちの少なくとも１つを選択し、選択した前記第３情報に対応する処理を開始する制御を行う、
請求項１の情報処理装置。
【請求項３】
前記記憶部は、１以上の前記予め設定された処理ごとに、前記第３情報と、当該処理を複数回実行できるか否かを示すとともに、当該処理を実行済みであるか否かを示す第４情報とを対応付けて記憶し、
前記第１制御部は、前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が前記第１閾値以上である場合は、処理を複数回実行できることを示す前記第４情報、または、処理を複数回実行することはできないことを示し、かつ、処理を実行済みでないことを示す前記第４情報に対応する前記第３情報を選択し、選択した前記第３情報に対応する処理を開始する制御を行う、
請求項２の情報処理装置。
【請求項４】
前記記憶部は、１以上の前記予め設定された処理ごとに、前記第３情報と、当該処理の実行を許可する発電電力の値を示す第５情報とを対応付けて記憶し、
前記第１制御部は、前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が前記第１閾値以上である場合は、前記第１情報が示す電力の値以下の値を示す前記第５情報に対応する前記第３情報を選択し、選択した前記第３情報に対応する処理を開始する制御を行う、
請求項２の情報処理装置。
【請求項５】
入力を受け付ける受付部と、
前記受付部で入力が発生していない状態が継続している時間を示す未使用時間を計測する計測部と、
前記未使用時間が第２閾値以上であるか否かを判断する判断部と、をさらに備え、
前記第１制御部は、前記未使用時間が前記第２閾値以上であり、前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が前記第１閾値以上である場合は、前記予め設定された処理を開始する制御を行う、
請求項１の情報処理装置。
【請求項６】
前記第１制御部が、前記予め設定された処理を開始する制御を行った後、前記蓄電部の蓄電量が第３閾値以下に減少した場合は、当該処理の実行を中断する制御を行い、前記蓄電部の蓄電量が再び前記第１閾値以上に復帰した後に、中断していた当該処理の実行を再開する制御を行う第２制御部をさらに備える、
請求項１の情報処理装置。
【請求項７】
発電部と、前記発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作する情報処理装置の情報処理方法であって、
前記発電部で発電された電力の値を示す第１情報を取得する第１取得ステップと、
前記蓄電部の蓄電量を示す第２情報を取得する第２取得ステップと、
前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う制御ステップと、を含む、
情報処理方法。
【請求項８】
発電部と、前記発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作するコンピュータに、
前記発電部で発電された電力の値を示す第１情報を取得する第１取得ステップと、
前記蓄電部の蓄電量を示す第２情報を取得する第２取得ステップと、
前記第１情報が示す電力の値が０より大きく、かつ、前記第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う制御ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、電気以外のエネルギーを電力（電気エネルギー）に変換するエネルギー変換装置（例えば太陽電池）で変換された電力を利用して装置を動作させる技術が知られている。このような技術において、例えば太陽電池などのエネルギー変換部で変換された電力の余剰分はキャパシタやバッテリに蓄えられる。キャパシタやバッテリなどに蓄えられた電力は、消費電力が大きい処理（タスク）が実行される場合などに利用することができる。
【０００３】
従来、キャパシタやバッテリなどに蓄えられた電力の消費を極力抑制するための様々な技術が知られている。例えば携帯電話端末において、多くの消費電力を消費するものの遅延させることが可能なタスク（例えばオーディオファイルのダウンロード処理など）については、端末が充電デバイスに接続されるまで、タスクの実行を遅延させるという技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１９９６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、例えば太陽電池で発電する電力を蓄えることが可能なキャパシタやバッテリなどの蓄電部が満充電に近い状態で、太陽電池が発電しているような状況では、余剰電力を蓄電部に蓄えることができないので、その余剰電力が無駄になってしまう。従来においては、以上のような状況で発生する余剰電力を無駄に捨てることなく有効に活用するという技術は存在しなかった。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、発電部と、発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作する情報処理装置であって、第１取得部と第２取得部と第１制御部とを備える。発電部は、発電する手段である。詳細には、発電部は、電気以外のエネルギーを電力に変換することによって、発電する。発電部は、例えば光エネルギー、熱エネルギー、振動エネルギー、電波エネルギーなどのエネルギーを直流の電力に変換する。第１取得部は、発電部で発電された電力の値を示す第１情報を取得する。第２取得部は、蓄電部の蓄電量を示す第２情報を取得する。第１制御部は、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。
【０００７】
実施形態の情報処理方法は、発電部と、発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作する情報処理装置の情報処理方法であって、第１取得ステップと第２取得ステップと制御ステップとを含む。第１取得ステップは、発電部で発電された電力の値を示す第１情報を取得する。第２取得ステップは、蓄電部の蓄電量を示す第２情報を取得する。制御ステップは、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。
【０００８】
実施形態のプログラムは、発電部と、発電部で発電された電力を蓄える蓄電部とを含む電源からの電力の供給を受けて動作するコンピュータに、第１取得ステップと第２取得ステップと制御ステップとを実行させるためのプログラムである。第１取得ステップは、発電部で発電された電力の値を示す第１情報を取得する。第２取得ステップは、蓄電部の蓄電量を示す第２情報を取得する。制御ステップは、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態の情報処理装置の構成例を示すブロック図。
【図２】第１実施形態の情報処理部の機能構成例を示すブロック図。
【図３】第１実施形態の記憶部に記憶されたデータの一例を示す図。
【図４】第１実施形態の第１制御部の動作例を示すフローチャート。
【図５】第１実施形態の変形例の記憶部に記憶されたデータの例を示す図。
【図６】第１実施形態の変形例の記憶部に記憶されたデータの例を示す図。
【図７】第２実施形態の情報処理部の機能構成例を示すブロック図。
【図８】第２実施形態の第１制御部の動作例を示すフローチャート。
【図９】第３実施形態の情報処理部の機能構成例を示すブロック図。
【図１０】第３実施形態の記憶部に記憶されたデータの例を示す図。
【図１１】第３実施形態の変形例の記憶部に記憶されたデータの例を示す図。
【図１２】変形例の情報処理部の機能構成例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。
【００１１】
（第１実施形態）
図１は、第１実施形態の情報処理装置１００の構成例を示すブロック図である。図１に示すように、情報処理装置１００は、電源１０と情報処理部２０とを備える。
【００１２】
電源１０は、情報処理装置１００に対して供給する電力の供給源である。電源１０は、発電部１１と、蓄電部１２と、電源制御ＩＣ１３とを有する。発電部１１は、発電する。本実施形態では、発電部１１は、電源１０の外部から受け付けた電気以外のエネルギーを電力（電気エネルギー）に変換するエネルギー変換部で構成される。発電部（エネルギー変換部）１１は、例えば太陽電池（太陽光パネル）や電磁波を受け付けて発電する無線などを含むがこれには限られない。また、蓄電部１２は、発電部１１で発電された電力を蓄える。蓄電部１２は、例えばバッテリやキャパシタなどで構成され得る。本実施形態では、蓄電部１２はキャパシタで構成される。
【００１３】
電源制御ＩＣ１３は、発電部１１で発電された電力のみで、情報処理装置１００で使用される電力（消費される電力）を賄える場合は、発電部１１で発電された電力のうちの余剰分（使用されない電力）を蓄電部１２に供給して蓄電部１２を充電させる。また、発電部１１で発電された電力のみでは情報処理装置１００の消費電力を賄えない場合は、蓄電部１２に充電された電力を放電させる制御を行う。また、電源制御ＩＣ１３は、発電部１１で発電された電力の値（発電部１１が供給可能な電力の値）を検出する機能や蓄電部１２に蓄えられた電力量（蓄電量）を検出する機能を有する。ここでは、「蓄電量」とは、現時点で蓄電部１２に蓄えられている電力量を指す。さらに、電源制御ＩＣ１３は、蓄電部１２が所定の容量まで充電された場合に、後述のＣＰＵ２１に対して割り込みを発生させる機能を有していてもよい。
【００１４】
情報処理部２０は、電源１０からの電力供給を受けて動作する。図１に示すように、情報処理部２０は、コンピュータ装置として構成され、ＣＰＵ２１と記憶装置２２と入力装置２３と出力装置２４とを備える。ＣＰＵ２１は、記憶装置２２に記憶されたプログラムを実行することにより、各種の処理を実行可能な処理装置である。「処理」とは、ＣＰＵ２１がプログラムを実行することにより提供される機能であると捉えることもでき、以下の説明では、「プロセス」と呼ぶ場合もある。記憶装置２２は、例えば不揮発性のＲＯＭ、揮発性のＲＡＭ、ＨＤＤなどを含むメモリデバイスである。この例では、記憶装置２２に含まれるＲＯＭには、ＣＰＵ２１が実行するプログラムやデータが記憶され、記憶装置２２に含まれるＲＡＭは、ワークメモリ（作業領域）として機能する。ＣＰＵ２１は、ＲＯＭ等に格納されたプログラムを読み出してＲＡＭ上に展開して実行することにより、各種の処理を実行する。入力装置２３は、ユーザが各種の入力を行うためのデバイスであり、例えばキーボードやマウスなどで構成され得る。出力装置２４は、例えばＣＰＵ２１により実行された処理の結果等が出力されるデバイスであり、ディスプレイ装置やスピーカなどで構成され得る。本実施形態の情報処理部２０は、請求項の「情報処理装置」に対応していると捉えることもできる。
【００１５】
図２は、情報処理部２０の機能構成例を示すブロック図である。図２に示すように、情報処理部２０は、電源情報獲得部１１０と、第１制御部１２０と、記憶部１３０と、登録部１４０とを有する。
【００１６】
電源情報獲得部１１０は、発電部１１で発電された電力と、蓄電部１２の蓄電量とを少なくとも特定可能な電源情報を獲得する。本実施形態では、電源情報獲得部１１０は、第１取得部１１１と第２取得部１１２とを有する。第１取得部１１１は、発電部１１で発電された電力の値を示す第１情報を取得する。ここでは、「第１情報」は、現時点で発電部１１が供給可能な電力の値（現時点で発電部１１の発電により得られる電力の値）を指す。第２取得部１１２は、蓄電部１２の蓄電量を示す第２情報を取得する。この例では、上述の電源情報は、第１情報と第２情報を含む情報である。
【００１７】
第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく（現時点で発電部１１の発電により得られる電力の値が０より大きく）、かつ、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。以下、具体的な内容を説明する。
【００１８】
第１制御部１２０の具体的な内容を説明する前に、記憶部１３０について説明する。記憶部１３０は、１以上の予め設定された処理ごとに、当該処理を開始（もしくは起動）するための情報を示す第３情報を記憶する。この例では、蓄電部１２の蓄電量が、蓄電部１２が蓄えることができる最大の電力量（蓄電容量）に近い状況で、発電部１１の発電により電力が得られている（発電部１１が電力を供給できる）場合に起動したいタスク（処理）を特定可能な第３情報が予め記憶部１３０に登録される。なお、タスクとは、提供したい機能を指す。まだ実体化されていないアプリケーションプログラムを「タスク」と捉えることもできるし、既に実体化されたアプリケーションプログラム（プロセス）が持つ機能の中の一つを「タスク」と捉えることもできる。
【００１９】
蓄電部１２の蓄電量が蓄電容量に近く、かつ、発電部１１の発電により電力が得られている場合に実行させたい処理（余剰電力を活用して実行させたい処理）の例としては、ＮＡＮＤのウェアレベリング、パトロール、コンパクションなどの処理、ブラウザ等のキャッシュを更新する処理、メールの受信を確認する処理、クラウドアプリの同期処理、電子ペーパのリフレッシュ処理などの将来必要になることが予想される処理が挙げられる。
【００２０】
図３は、記憶部１３０に記憶されたデータの一例を示す図である。図３の例では、記憶部１３０は、複数の予め設定された処理ごとに、当該処理を開始するための情報を示す第３情報を記憶している。図３の例では、アプリケーションプログラムが格納されるファイルへの道筋を記述したパス情報が第３情報となる場合もあるし、パス情報と、アプリケーションプログラムが起動するときの初期条件を示す引数とが対応付けられた情報が第３情報となる場合もある。
【００２１】
図３の例では、記憶部１３０には、３つの第３情報が記憶されている。第１行目の第３情報は、「/usr/bin/web_browser」というパス情報と、「-update-cache」という引数とが対応付けられた情報であり、ブラウザにキャッシュをアップデートさせる処理を特定することができる。第２行目の第３情報は、「/usr/bin/fetch_mail」というパス情報であり、メールを取得させる処理を特定可能である。第３行目の第３情報は、「/usr/bin/todo_sync」というパス情報であり、アクションアイテムを管理するクラウドアプリに、クラウドと同期させる処理を特定可能である。なお、記憶部１３０に記憶される第３情報の種類や数は図３の例に限られるものではない。また、図３の例のように複数の第３情報が記憶部１３０に登録される場合は、優先度を合わせて登録してもよいし、登録された順序関係を優先度として扱ってもよい。例えば上の行に登録された第３情報ほど優先度が高いとみなして扱う形態であってもよい。
【００２２】
また、記憶部１３０に登録される第３情報に対応する処理（予め設定された処理）の例としては、既にアプリケーションプログラムが起動されて待機状態にあるプロセスが持つ特定の機能であってもよく、その場合はそのプロセスが特定の機能を開始する契機となるトリガーを発生させるための情報が第３情報として記憶部１３０に登録される形態であってもよい。例えば特定のメッセージを送る、特定のイベントを発生させるためのコマンド（命令）が第３情報として記憶部１３０に登録される形態であってもよい。要するに、記憶部１３０は、１以上の予め設定された処理ごとに、当該処理を開始するための情報を示す第３情報を記憶する形態であればよい。
【００２３】
図２に戻って説明を続ける。第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく、かつ、第２取得部１１２により取得された第２情報が、蓄電部１２の蓄電量は第１閾値以上であることを示す場合は、記憶部１３０に記憶された１以上の第３情報のうちの少なくとも１つを選択し、選択した第３情報に対応する処理を開始する制御を行う。より具体的には以下のとおりである。
【００２４】
第１制御部１２０は、タイマからの割り込みにより所定の時間間隔で動作を開始することもできるし、電源制御ＩＣ１３からの割り込みで動作を開始することもできる。タイマや電源制御ＩＣ１３からの割り込みにより動作を開始すると、第１制御部１２０は、電源情報獲得部１１０に対して、現時点で発電部１１が供給可能な電力の値を示す第１情報と、蓄電部１２の蓄電量を示す第２情報とを要求する。
【００２５】
第１制御部１２０からの要求を受けて、第１取得部１１１は第１情報を取得し、取得した第１情報を第１制御部１２０へ渡す。また、第１制御部１２０からの要求を受けて、第２取得部１１２は第２情報を取得し、取得した第２情報を第１制御部１２０へ渡す。第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく、かつ、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上である場合は、記憶部１３０に記憶された１以上の第３情報のうちの何れか１つを選択する。この例では、第３情報の選択方法は任意であり、例えばランダムに（無作為に）１つの第３情報を選択する形態であってもよいし、最も優先度が高い第３情報を選択する形態であってもよい。また、この例では、第１制御部１２０は、記憶部１３０に記憶された１以上の第３情報のうちの何れか１つを選択しているが、これに限らず、例えば複数の第３情報を選択することもできる。
【００２６】
そして、第１制御部１２０は、選択した第３情報を記憶部１３０から読み出し、読み出した第３情報に対応する処理を開始する制御を行う。例えば図３に例示された第２行目の第３情報を選択した場合、第１制御部１２０は、「/usr/bin/fetch_mail」というパス情報が示すファイルに格納されたアプリケーションプログラムを起動する制御を行う。以上が第１制御部１２０の具体的な内容である。
【００２７】
図２に示す登録部１４０は、ユーザの入力に応じて、記憶部１３０に登録される第３情報を可変に設定する。これにより、ユーザは、余剰電力を活用して実行させたい処理を、予め記憶部１３０に登録しておくことができる。また、例えば登録部１４０が設けられずに、記憶部１３０には、余剰電力を活用して実行させたい処理として、設計者が製造段階で決定した処理を開始するための情報を示す第３情報が予め登録される形態であってもよい。要するに、「予め設定された処理」とは、ユーザの入力に応じて設定された処理であってもよいし、製造段階で設計者により設定された処理であってもよい。
【００２８】
なお、上述の電源情報獲得部１１０（第１取得部１１１，第２取得部１１２）、第１制御部１２０、および、登録部１４０の各々は、ＣＰＵ２１がＲＯＭ等に格納された所定のプログラムを読み出してＲＡＭ上に展開して実行することにより実現される。また、上述の記憶部１３０は記憶装置２２に含まれる。
【００２９】
次に、図４を参照しながら、第１制御部１２０の動作例を説明する。図４は、第１制御部１２０の動作例を示すフローチャートである。まず、タイマや電源制御ＩＣ１３からの割り込みで動作を開始すると、第１制御部１２０は、電源情報獲得部１１０に対して、現時点で発電部１１が供給可能な電力の値を示す第１情報と、蓄電部１２の蓄電量を示す第２情報とを要求する（ステップＳ１）。この要求を受けて、第１取得部１１１は第１情報を取得し、取得した第１情報を第１制御部１２０へ渡す。また、この要求を受けて、第２取得部１１２は第２情報を取得し、取得した第２情報を第１制御部１２０へ渡す。
【００３０】
次に、第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力値が０より大きいか否か、つまり、現時点で発電部１１の発電により電力が得られているか否かを判断する（ステップＳ２）。第１情報が示す電力値が０より大きいと判断した場合（ステップＳ２の結果：ＹＥＳの場合）、第１制御部１２０は、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上であるか否かを判断する（ステップＳ３）。また、上述のステップＳ２において、第１情報が示す電力値が０であると判断した場合（ステップＳ２の結果：ＮＯの場合）、第１制御部１２０の動作は終了する。
【００３１】
上述のステップＳ３において、第２情報が示す蓄電量が第１閾値以上であると判断した場合（ステップＳ３の結果：ＹＥＳの場合）、第１制御部１２０は、記憶部１３０に記憶された１以上の第３情報のうちの何れかを選択する（ステップＳ４）。そして、第１制御部１２０は、ステップＳ４で選択した第３情報に対応する処理を開始する制御を行う（ステップＳ５）。一方、上述のステップＳ３において、第２情報が示す蓄電量が第１閾値未満であると判断した場合（ステップＳ３の結果：ＮＯの場合）、第１制御部１２０の動作は終了する。
【００３２】
以上に説明したように、本実施形態では、蓄電部１２の蓄電量が蓄電部１２の蓄電容量に近く、かつ、発電部１１の発電により電力が得られている場合（蓄えることができない余剰電力が発生している場合）は、予め設定された処理が開始されるので、余剰電力を有効活用することができるとともに、将来必要となる処理を先取り的に実行することができるので、情報処理装置１００を使用するユーザが体感する処理速度（情報処理装置１００が処理を実行する速度）を向上させ、将来の蓄電量の低下を軽減することもできる。
【００３３】
（第１実施形態の変形例１）
例えば図５に示すように、記憶部１３０は、１以上の予め設定された処理（図５の例では４つの処理）ごとに、当該処理を開始するための情報を示す第３情報と、当該処理を複数回実行できるか否かを示すとともに、当該処理を実行済みであるか否かを示す第４情報とを対応付けて記憶する形態であってもよい。
【００３４】
図５の例では、第１行目の第３情報は、「/usr/bin/epub_reader」というパス情報と、「--refresh-screen」という引数とが対応付けられた情報であり、電子ブックリーダに画面をリフレッシュさせる処理を特定可能である。この第１行目の第３情報に対しては、処理を複数回実行することはできないことを示し、かつ、処理を実行済みであることを示す第４情報（処理を複数回実行することができるか否かを示す「複数回実行」の項目が「不可（否定）」であることを示し、かつ、処理を実行済みであるか否かを示す「実行済」の項目が「yes（肯定）」であることを示す情報）が対応付けられている。第２行目の第３情報は、「/usr/bin/web_browser」というパス情報と、「--update-cache」という引数とが対応付けられた情報であり、ブラウザにキャッシュをアップデートさせる処理を特定可能である。この第２行目の第３情報に対しては、処理を複数回実行することができ、かつ、処理を実行済みであることを示す第４情報（「複数回実行」の項目が「可」であり、「実行済」の項目が「yes」であることを示す情報）が対応付けられている。
【００３５】
第３行目の第３情報は、「/usr/bin/fetch_mail」というパス情報であり、メールを取得させる処理を特定可能である。この第３行目の第３情報に対しては、処理を複数回実行することができ、かつ、処理を実行済みでない（未だ実行されていない）ことを示す第４情報（「複数回実行」の項目が「可」であり、「実行済」の項目が「no」であることを示す情報）が対応付けられている。第４行目の第３情報は、「/usr/bin/todo_sync」というパス情報であり、アクションアイテムを管理するクラウドアプリに、クラウドと同期させる処理を特定可能である。この第４行目の第３情報に対しては、処理を複数回実行することができ、かつ、処理を実行済みでないことを示す第４情報（「複数回実行」の項目が「可」であり、「実行済」の項目が「no」であることを示す情報）が対応付けられている。
【００３６】
第１実施形態の変形例１においては、第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく、かつ、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上である場合は、記憶部１３０に記憶された１以上の第３情報のうち、処理を複数回実行できることを示す第４情報、または、処理を複数回実行することはできないことを示し、かつ、処理を実行済みでないことを示す第４情報に対応する第３情報を選択し、選択した第３情報に対応する処理を開始する制御を行う。なお、選択される第３情報は１つのみであってもよいし、複数であってもよい。また、この例では、第１制御部１２０は、処理を開始する制御を行った場合に、当該処理を特定可能な第３情報に対応する第４情報が、処理を実行済みでないことを示す場合は、当該第４情報が、処理を実行済みであることを示すように変更し、変更した第４情報を第３情報に対応付けて記憶部１３０内に記憶させる制御を行う。なお、記憶部１３０内の第４情報を変更する主体は第１制御部１２０に限られるものではない。
【００３７】
いま、図５に例示されたデータが記憶部１３０に記憶されている場合を想定する。この場合、第１行目の第３情報に対応する第４情報は、処理を複数回実行することはできないことを示し（「複数回実行」の項目は「不可」であることを示し）、かつ、処理を実行済みであることを示す（「実行済」の項目は「yes」であることを示す）ので、第１行目の第３情報を選択することはできない。一方、第２行目〜第４行目の各々の第３情報に対応する第４情報は、処理を複数回実行することができることを示す（「複数回実行」の項目は「可」であることを示す）ので、処理を実行済みであるか否かは問わずに（「実行済」の項目が「yes」であるか「no」であるかは問わずに）、何れの第３情報も選択可能である。
【００３８】
ここで、蓄電部１２の蓄電量が蓄電部１２の蓄電容量に近く、かつ、発電部１１の発電により電力が得られている状況（蓄えることができない余剰電力が発生している状況）において、一度実行しておけば、その状況が継続している期間内で再度実行する必要は無い処理については、当該処理を開始するための情報を示す第３情報に対して、処理を複数回実行することはできないことを示す第４情報を対応付けておくことが望ましい。このような処理の例としては、電子ペーパのリフレッシュ処理、ＮＡＮＤのウェアレベリング、パトロール、コンパクションなどの処理が挙げられる。一方、上記状況（蓄電部１２の蓄電量が蓄電部１２の蓄電容量に近く、かつ、発電部１１の発電により電力が得られている状況）が継続している期間内において、複数回実行することができる処理については、当該処理を開始するための情報を示す第３情報に対して、処理を複数回実行することができることを示す第４情報を対応付けておくことが望ましい。
【００３９】
（第１実施形態の変形例２）
例えば図６に示すように、記憶部１３０は、１以上の予め設定された処理（図６の例では４つの処理）ごとに、当該処理を開始するための情報を示す第３情報と、当該処理の実行を許可する発電電力（発電部１１の発電により得られる電力）の値（実行許可電力）を示す第５情報とを対応付けて記憶する形態であってもよい。
【００４０】
図６の例では、第１行目の第３情報は、「/usr/bin/epub_reader」というパス情報と、「--refresh-screen」という引数とが対応付けられた情報であり、電子ブックリーダに画面をリフレッシュさせる処理を特定可能である。この第１行目の第３情報に対しては、実行許可電力が「３０ｍＷ」であることを示す第５情報が対応付けられている。第２行目の第３情報は、「/usr/bin/web_browser」というパス情報と、「--update-cache」という引数とが対応付けられた情報であり、ブラウザにキャッシュをアップデートさせる処理を特定可能である。この第２行目の第３情報に対しては、実行許可電力が「５０ｍＷ」であることを示す第５情報が対応付けられている。
【００４１】
第３行目の第３情報は、「/usr/bin/fetch_mail」というパス情報であり、メールを取得させる処理を特定可能である。この第３行目の第３情報に対しては、実行許可電力が「８０ｍＷ」であることを示す第５情報が対応付けられている。第４行目の第３情報は、「/usr/bin/todo_sync」というパス情報であり、アクションアイテムを管理するクラウドアプリに、クラウドと同期させる処理を特定可能である。この第４行目の第３情報に対しては、実行許可電力が「４０ｍＷ」であることを示す第５情報が対応付けられている。
【００４２】
第１実施形態の変形例２においては、第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく、かつ、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上である場合は、記憶部１３０に記憶された１以上の第３情報のうち、第１取得部１１１により取得された第１情報が示す電力の値以下の値を示す第５情報に対応する第３情報を選択し、選択した第３情報に対応する処理を開始する制御を行う。なお、選択される第３情報は１つのみであってもよいし、複数であってもよい。例えば複数の第３情報が選択される形態においては、選択される複数の第３情報の各々に対応する第５情報が示す実行許可電力の合計が、第１情報が示す電力の値以下であることを条件としてもよい。
【００４３】
以上より、蓄電部１２の蓄電量が蓄電部１２の蓄電容量に近く、かつ、発電部１１の発電により電力が得られている場合は、実行許可電力が、現時点で発電部１１が供給可能な電力値以下であることを示す第５情報に対応する第３情報に対応する処理が開始されるので、消費電力が、現時点での発電電力を上回る処理を実行することにより蓄電部１２の蓄電量が目減りすることを防止しつつ、余剰電力を有効に活用できる。
【００４４】
（第２実施形態）
第２実施形態では、第１制御部１２０は、ユーザが情報処理装置１００を使用していない時間が所定値（「第２閾値」）以上であり、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う。以下、具体的に説明する。なお、第１実施形態と重複する部分については、適宜に説明を省略する。
【００４５】
図７は、第２実施形態の情報処理部２００の機能構成例を示すブロック図である。図７に示すように、情報処理部２００は、未使用状態検知部１５０をさらに有する点で上述の第１実施形態と相違する。未使用状態検知部１５０は、受付部１５１と、計測部１５２と、判断部１５３とを有する。
【００４６】
受付部１５１は、入力を受け付ける。より具体的には、受付部１５１は、ユーザの入力装置２３の操作による各種の入力を受け付ける。計測部１５２は、受付部１５１で入力が発生していない状態（入力が無い状態）が継続する時間を示す未使用時間を計測する。本実施形態では、計測部１５２は、受付部１５１で入力を受け付けると（入力が発生すると）、計測値を基準値（例えば「０」）にリセットして、経過する時間の計測を開始する。
【００４７】
判断部１５３は、計測部１５２で計測される未使用時間（入力が行われない時間）が第２閾値以上であるか否かを判断する。より具体的には、判断部１５３は、第１制御部１２０からの未使用状態であるか否かの問い合わせを受けたときに、計測部１５２で計測される未使用時間が第２閾値以上であるか否かを判断する。この場合、計測部１５２で計測される未使用時間は、最後に受付部１５１で入力を受け付けた時点から、第１制御部１２０からの問い合わせを受けた時点までの時間となる。未使用時間が第２閾値未満の場合は、判断部１５３は、未使用状態ではないという判断結果を第１制御部１２０へ返す。見方を変えれば、未使用状態ではないという判断結果は、未使用時間が第２閾値未満であることを示す情報であると捉えることもできる。また、未使用時間が第２閾値以上の場合は、判断部１５３は、未使用状態であるという判断結果を第１制御部１２０へ返す。見方を変えれば、未使用状態であるという判断結果は、未使用時間が第２閾値以上であることを示す情報であると捉えることもできる。
【００４８】
なお、計測部１５２は、受付部１５１で入力を受け付けると、計測値を基準値にリセットする代わりに、その入力を受け付けた時刻を記憶する形態であってもよい。この場合、最後に入力を受け付けた時刻と、第１制御部１２０からの問い合わせを受けた時刻との差分を、未使用時間として計測することもできる。また、未使用時間は、秒、分などの単位で計測される必要は無く、回路の動作で利用されるクロックをカウントするカウンタが示す値などで計測されてもよい。要するに、受付部１５１で入力を受け付けていない状態が継続する時間を示す未使用時間を計測できる形態であればよい。
【００４９】
本実施形態の第１制御部１２０は、タイマや電源制御ＩＣ１３からの割り込みにより動作を開始すると、未使用状態検知部１５０に対して、未使用状態であるか否かの問い合わせを行い、電源情報獲得部１１０に対して、現時点で発電部１１が供給可能な電力の値を示す第１情報と、蓄電部１２の蓄電量を示す第２情報とを要求する。第１制御部１２０からの問い合わせを受けて、判断部１５３は、計測部１５２で計測される未使用時間が第２閾値以上であるか否かを判断し、その判断結果を第１制御部１２０へ返す。
【００５０】
第１制御部１２０は、未使用状態検知部１５０（判断部１５３）から返された判断結果が未使用状態であることを示し（つまり、未使用時間が第２閾値以上であり）、第１取得部１１１により取得された第１情報が示す電力の値が０より大きく、かつ、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された１以上の処理のうちの何れかを開始する制御を行う。
【００５１】
次に、図８を参照しながら、第１制御部１２０の動作例を説明する。図８は、第１制御部１２０の動作例を示すフローチャートである。まず、タイマや電源制御ＩＣ１３からの割り込みで動作を開始すると、未使用状態検知部１５０に対して、未使用状態であるか否かの問い合わせを行い、電源情報獲得部１１０に対して、現時点で発電部１１が供給可能な電力の値を示す第１情報と、蓄電部１２の蓄電量を示す第２情報とを要求する（ステップＳ１１）。第１制御部１２０からの問い合わせを受けて、未使用状態検知部１５０（判断部１５３）は、計測部１５２で計測される未使用時間が第２閾値以上であるか否かを判断し、その判断結果を第１制御部１２０へ返す。また、第１制御部１２０からの要求を受けて、第１取得部１１１は第１情報を取得し、取得した第１情報を第１制御部１２０へ渡す。また、第１制御部１２０からの要求を受けて、第２取得部１１２は第２情報を取得し、取得した第２情報を第１制御部１２０へ渡す。
【００５２】
次に、第１制御部１２０は、未使用状態検知部１５０から返された判断結果が未使用状態であることを示す、つまり、未使用時間が第２閾値以上であるか否かを判断する（ステップＳ１２）。未使用時間が第２閾値以上であると判断した場合（ステップＳ１２の結果：ＹＥＳの場合）、第１制御部１２０は、第１取得部１１１により取得された第１情報が示す電力値が０より大きいか否かを判断する（ステップＳ１３）。ステップＳ１３の内容は、図４のステップＳ２の内容と同じである。一方、上述のステップＳ１２において、未使用時間が第２閾値未満であると判断した場合（ステップＳ１２の結果：ＮＯの場合）、第１制御部１２０の動作は終了する。
【００５３】
上述のステップＳ１３において、第１情報が示す電力値が０より大きいと判断した場合（ステップＳ１３の結果：ＹＥＳの場合）、第１制御部１２０は、第２取得部１１２により取得された第２情報が示す蓄電量が第１閾値以上であるか否かを判断する（ステップＳ１４）。ステップＳ１４の内容は、図４のステップＳ３の内容と同様である。一方、上述のステップＳ１３において、第１情報が示す電力値が０であると判断した場合（ステップＳ１３の結果：ＮＯの場合）、第１制御部１２０の動作は終了する。
【００５４】
上述のステップＳ１４において、第２情報が示す蓄電量が第１閾値以上であると判断した場合（ステップＳ１４の結果：ＹＥＳの場合）、第１制御部１２０は、記憶部１３０に記憶された１以上の第３情報のうちの何れかを選択する（ステップＳ１５）。ステップＳ１５の内容は図４のステップＳ４の内容と同じである。そして、第１制御部１２０は、ステップＳ１５で選択した第３情報に対応する処理を開始する制御を行う（ステップＳ１６）。ステップＳ１６の内容は、図４のステップＳ５の内容と同じである。一方、上述のステップＳ１４において、第２情報が示す蓄電量が第１閾値未満であると判断した場合（ステップＳ１４の結果：ＮＯの場合）、第１制御部１２０の動作は終了する。
【００５５】
以上の第２実施形態では、予め設定される処理として、例えばユーザの入力に起因して実行される処理（例えばブラウザにキャッシュをアップデートさせる処理等）を開始するための情報を示す第３情報を記憶部１３０に登録しておけば、所定の条件（未使用時間が第２閾値以上であり、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上であること）が成立した場合に、ユーザの入力を受け付けていないにも関わらず、ユーザの入力に起因して実行される処理が開始されるので、ユーザが情報処理装置１００の使用を再開した後の処理量を軽減することができる。これにより、情報処理装置１００を使用するユーザが体感する処理速度を向上させることができる。
【００５６】
（第３実施形態）
第３実施形態では、第１制御部１２０が、予め設定された処理を開始する制御を行った後、蓄電部１２の蓄電量が第３閾値以下に減少した場合は、当該処理を中断する制御を行い、蓄電部１２の蓄電量が第１閾値以上に復帰した後に、中断していた当該処理を再開する制御を行う第２制御部をさらに備える点で上述の各実施形態と相違する。つまり、第３実施形態では、蓄電部１２の蓄電量が第３閾値以下に目減りしないように、予め設定された処理が間欠的に実行される。以下、具体的に説明する。なお、上述の各実施形態と重複する部分については、適宜に説明を省略する。
【００５７】
図９は、第３実施形態の情報処理部２０００の機能構成例を示すブロック図である。図９に示すように、情報処理部２０００は、第２制御部１６０をさらに有する点で上述の第１実施形態と相違する。第２制御部１６０は、第１制御部１２０の制御により開始された処理が完了するまでの間、蓄電部１２の蓄電量を監視し、蓄電量が第３閾値以下に減少した場合は、当該処理の実行を中断させ、蓄電量が再び第１閾値以上に復帰した後に、中断していた当該処理の実行を再開させる。
【００５８】
ここで、実行される処理を中断させ、再開させる機能（つまり、プログラムの実行を制御する機能）は、ＣＰＵ２１がＯＳ（オペレーティングシステム）を実行することにより提供される。つまり、実行される処理を中断させ、再開させる機能はＯＳが担当すると捉えることができる。例えば、ある処理を開始する場合、第１制御部１２０は、当該ある処理を実行するためのプログラム（例えばアプリケーションプログラム）の起動をＯＳに依頼する。ＯＳは、第１制御部１２０から起動依頼を受けたプログラムを起動してプロセスを作成するとともに、作成したプロセスを識別するプロセス識別子（Process  ID）を作成し、作成したプロセス識別子を第１制御部１２０へ通知する。第１制御部１２０は、ＯＳから通知されたプロセス識別子を、上述のある処理を開始するための情報を示す第３情報に対応付けて記憶部１３０に記憶させる。
【００５９】
第２制御部１６０は、第１制御部１２０の制御により開始された処理を中断する制御を行う場合は、当該処理を特定可能な第３情報に対応付けられたプロセス識別子をＯＳに通知して、当該プロセス識別子で識別されるプロセスの実行の中断を要求する。このとき、第２制御部１６０は、プロセスの状態を識別可能な実行ステータスを示す情報を、プロセスが中断中であることを示す「ｓｔｏｐ」に設定し、中断を要求したプロセスを識別するプロセス識別子に対応付けて記憶部１３０に記憶させる。なお、実行ステータスを示す情報「ｒｕｎ」は、プロセスが実行中であることを示し、実行ステータスを示す情報「Ｄｏｎｅ」は、プロセスが終了したことを示す。
【００６０】
図１０は、記憶部１３０に記憶されるデータの一例を示す図である。この例では、第２行目の第３情報に対して、プロセス識別子を示す情報「３０４９」が対応付けられ、実行ステータスを示す情報「ｓｔｏｐ」が対応付けられている。つまり、「/usr/bin/web_browser」というパス情報と、「--update-cache」という引数とが対応付けられた第２行目の第３情報に対応する処理（ブラウザにキャッシュをアップデートさせる処理）が中断中であることが示されている。なお、処理の実行が完了するとプロセスが消滅しプロセス識別子も無くなるので、プロセス識別子を示す情報は削除され、実行ステータスを示す情報は「Ｄｏｎｅ」に設定される。
【００６１】
なお、例えば第１制御部１２０が、複数の第３情報を選択し、その選択した各第３情報に対応する処理を開始する制御を行う場合（複数の処理が開始される場合）は、図１１に例示されるように、プロセス識別子を示す情報や実行ステータスを示す情報が記憶部１３０内の複数の行に記録される。
【００６２】
なお、例えばタスクの機能として中断や再開要求を外部から受け付けるようにタスクが構成されている場合には、第２制御部１６０は、中断や再開要求をＯＳに依頼せずに、プロセスに対して中断や再開要求を直接発行する形態であってもよい。
【００６３】
また、第２制御部１６０が、蓄電部１２の蓄電量を監視するタイミングは任意である。例えばタイマなどを設定して定期的に監視してもよいし、プロセスが発行するタイミングコールを契機として、不定期なタイミングで監視を行ってもよい。
【００６４】
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、上述の各実施形態および変形例は任意に組み合わせることも可能である。
【００６５】
また、上述のＣＰＵ２１が実行するプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上述のＣＰＵ２１が実行するプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上述のＣＰＵ２１が実行するプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【００６６】
また、図１２は、変形例に係る情報処理部２の機能構成例を示すブロック図である。図１２のように、上述の記憶部１３０や登録部１４０などが設けられない形態であってもよい。上述の各実施形態と同様に、情報処理部２は、発電部１０と、蓄電部１２とを含む電源１０からの電力の供給を受けて動作し、請求項の「情報処理装置」に対応する。要するに、本発明の情報処理装置は、発電部１０と、発電部１０で発電された電力を蓄える蓄電部１２とを含む電源１０からの電力の供給を受けて動作する情報処理装置であって、発電部１０で発電された電力の値を示す第１情報を取得する第１取得部１１１と、蓄電部１２の蓄電量を示す第２情報を取得する第２取得部１１２と、第１情報が示す電力の値が０より大きく、かつ、第２情報が示す蓄電量が第１閾値以上である場合は、予め設定された処理を開始する制御を行う第１制御部１２０と、を備える形態であればよい。
【符号の説明】
【００６７】
１０  電源
１１  発電部
１２  蓄電部
１３  電源制御ＩＣ
２０  情報処理部
２２  記憶装置
２３  入力装置
２４  出力装置
１００  情報処理装置
１１０  電源情報獲得部
１１１  第１取得部
１１２  第２取得部
１２０  第１制御部
１３０  記憶部
１４０  登録部
１５０  未使用状態検知部
１５１  受付部
１５２  計測部
１５３  判断部
１６０  第２制御部
【図１】
2014063357.tif 000003
【図２】
2014063357.tif 000004
【図３】
2014063357.tif 000005
【図４】
2014063357.tif 000006
【図５】
2014063357.tif 000007
【図６】
2014063357.tif 000008
【図７】
2014063357.tif 000009
【図８】
2014063357.tif 000010
【図９】
2014063357.tif 000011
【図１０】
2014063357.tif 000012
【図１１】
2014063357.tif 000013
【図１２】
2014063357.tif 000014