以下、本願に開示する技術内容をその実施例を示す図面に基づいて詳述する。本願では、二次電池等の電池を動力源として各種処理を実行する携帯電話、携帯型パーソナルコンピュータ、PDA(Personal Digital Assistant)等の端末装置に適用することにより、端末装置を情報生成装置として用いる。本願に係る情報生成装置は、電力消費量に応じた異なる形態で実行履歴に関する履歴情報を生成し、適切な方法にて出力することにより、電力消費の要因の解析を支援することができる。
(実施例1)
まず、実施例1の情報生成装置のハードウェア構成について説明する。図1は、本願実施例1に係る情報生成装置のハードウェア構成の一例を示す説明図である。図1中1は、携帯型の端末装置、例えば、携帯電話を用いた情報生成装置である。情報生成装置1は、制御部10、記録部11、通信部12、電源部13、操作入力部14、表示部15、音声入力部16、音声出力部17等の各種機構を備えている。
制御部10は、装置全体を制御するCPU(Central Processing Unit )等の演算機構である。制御部10は、内部通信線を介して情報生成装置1のハードウェア各部と接続されており、情報生成プログラムPRG等の各種プログラムの手順に従って所定の処理を実行する。制御部10は、命令レジスタ(Instruction Register)、命令解読回路(Instruction Decoder)、演算回路(Arithmetic Logic Unit)、アキュムレータ(Accumulator)、番地レジスタ(Address Register)、プログラムカウンタ(Program Counter)等の各種回路を備えている。命令レジスタは、記録部11から読み込んだ命令を一時的に格納する。命令解読回路は、命令レジスタに格納されている機械語命令(2進数)を解読し、その命令に応じて情報生成装置1が有するハードウェア各部を制御する。演算回路は、命令解読回路からの制御に従って加算、減算、数値の比較等の演算を行う。アキュムレータは、演算対象のデータ、演算の結果等の情報を一時的に格納する。番地レジスタは、制御部10が読み書きする記録部11が有する記録領域の番地を格納する。プログラムカウンタは、次に実行すべき命令が格納されている記録部11が有する記憶領域の番地を示す。また制御部10は、計時に要するタイマを備えている。
記録部11は、SDRAM(Synchronous Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等の主記憶機構である。また、記録部11は、さらにHDD(Hard Disk Drive)等の磁気記録機構、SSD(Solid State Disk)等の不揮発性半導体記録機構等の記録機構を補助記録機構として備えていても良い。記録部11には、本願に係る情報生成プログラムPRGが記録されており、記録部11に記録されている情報生成プログラムPRGを制御部10の制御に基づき実行することで、情報処理装置1は、本願に係る各種機能を実現する。なお、記録部11には、本願に係る情報生成プログラムPRGだけでなく、様々な処理を実行する様々なアプリケーションプログラムが記録されている。また、これらの各種プログラムは、並行して処理を実行することが可能である。
通信部12は、通信基地局との無線通信を介して携帯電話網等の通信網に無線接続し、通信処理を実行する各種回路等のハードウェア及びファームウェア等のソフトウェアにて形成される機構である。通信基地局は、適当な距離を置いて複数設置されており、夫々無線通信圏を形成している。通信部12は、接続可能な一又は複数の通信基地局のうちから、例えば、無線信号強度に基づいて選択した一の通信基地局と無線接続を確立する処理を実行する。情報生成装置1が移動することにより、無線接続を確立している一の通信基地局の通信圏外となった場合又は一の通信基地局より強い無線信号を受信する他の通信基地局の通信圏内に進入した場合、通信部12は、他の通信基地局と無線接続を確立する処理を実行する。したがって、情報生成装置1が高速で移動した場合、所定時間内に数多くの通信基地局と無線接続を確立する処理を実行することになる。また、情報生成装置1は、通信部12から通信網を介して接続する外部のサーバコンピュータ等の記録装置2との通信を確立し、記録装置2へ各種情報を送信する。なお、通信部12は、赤外線通信、Bluetooth 等の短距離無線通信を行う各種回路、有線通信を行う各種回路等の様々な通信規格に基づく機構にて構成することが可能である。
電源部13は、リチウムイオン電池、ニッケル水素電池等の二次電池を電源として格納し、格納している二次電池に蓄積されている電力を、内部電力線を介して他の機構へ供給する機構として構成される。電源部13は、例えば、二次電池の電圧を測定する機能を有し、測定した電圧に基づいて電力の残量、更には残量の継続的な測定に基づく電力の消費量を検出することができる。なお、ニッケル水素電池の本体と共に制御回路を筐体内に内蔵したスマートバッテリー等の規格に基づく電源を用いることにより、制御回路から出力される信号に基づいて残量又は消費量を検出することも可能である。さらに、アルカリマンガン電池、オキシライド電池、リチウム電池等の一次電池を電源として用いることも可能である。
図2は、本願実施例1に係る情報生成装置1にて用いられる電池の放電特性の一例を示すグラフである。図2は、横軸に使用時間をとり、縦軸に電圧をとって、その関係を示している。図2に示すように、電池は、使用時間に応じて放電するため、電力消費に伴い、電圧が低下する。
図1に戻り、操作入力部14は、使用者の操作を受け付けるインターフェース機構である。操作入力部14は、使用者の操作に応じた信号を、内部通信線を介して制御部10へ出力する。操作入力部14は、例えば、各種キー、タッチパネル及びその付属回路等の機構として構成される。
表示部15は、映像を出力するインターフェース機構である。表示部15は、制御部10からの制御命令に基づいて映像を出力する液晶ディスプレイ及びその付属回路等の機構にて構成される。
音声入力部16は、音声の入力を受け付けるインターフェース機構である。音声入力部16は、マイク及びその付属回路等の機構にて構成され、外部から音声をアナログ信号として受け付け、デジタル信号に変換し内部通信線を介して制御部10へ出力する。
音声出力部17は、音声を出力するインターフェース機構である。音声出力部17は、スピーカ及びその付属回路等の機構にて構成され、制御部10から内部通信線を介してデジタル音声信号を受け付け、アナログの音声として外部へ出力する。
次に、実施例1の情報生成装置1の機能構成について説明する。図3は、本願実施例1に係る情報生成装置1の機能構成例を示す機能ブロック図である。情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105等の機能を実行させる。なお、情報生成プログラムPRGの実行ではなく、制御部10に、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105等の機能を実現する回路を組み込むようにしても良い。
処理実行部100は、各プログラム及び機構に対し、各種処理の実行を開始させる命令、終了させる命令等の各種命令を出力するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。例えば、記録部11に記録しているアプリケーションプログラムを実行させる命令、通信部12に接続可能な通信基地局を走査し、接続を確立させる処理を実行させる命令等の命令を出力する。
電力検出部101は、電源部13に格納されている電池に係る消費量を検出するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。例えば、電源部13が検出した電圧値を残電力量として受け付け、残電力量の変動量を算出することにより、電力消費量を検出する。また、電源部13としてスマートバッテリー等の規格に基づく電源を用いた場合には、電源部13から出力される残電力量又は消費量を示す信号を受信することにより、電力消費量を検出することも可能である。
消費判定部102は、電力検出部101が検出した単位時間当たりの電力消費量が所定の閾値以上であるか否かを判定するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
状況取得部103は、消費判定部102の判定により、所定の閾値以上であると判定した場合に、処理実行部100による処理の実行状況を取得するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。状況取得部103は、制御部10が備える各種レジスタ及び回路を確認し、各種処理の実行状況、例えば、処理が実行されているか否か、開始時刻及び終了時刻、実行中の命令等の情報を取得する。さらに、状況取得部103は、レジスタ上に展開されているデータを、例えば、メモリイメージのダンプリストとして取得する。なお、必要に応じて記録部11上に展開されているメモリイメージをも取得するようにしても良い。
履歴情報生成部104は、状況取得部103が取得した実行状況に基づいて、処理の実行履歴に関する履歴情報を生成するように制御部10を実行させるプログラムモジュール、回路等の構成要素である。履歴情報生成部104では、状況に応じて、状況取得部103が取得した情報に基づく情報、例えば、実行中の命令、ダンプリスト等の解析に用いられる履歴情報を生成する。
数値管理部105は、後述する各種データベースに記録する数値を管理させるように制御部10を実行させるプログラムモジュール、回路等の構成要素である。数値管理部105は、処理の実行状況に応じた数値を算出し、算出した数値に基づき後述する実行処理データベース111の累積ポイントに対する加算及び減算を行う。
また、情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、記録部11の記録領域の一部を、ログデータベース(ログDB)110、実行処理データベース(実行処理DB)111、レベル変更ログデータベース(レベル変更ログDB)112、ログレベルテーブル(ログレベルTBL)113等の情報記録領域として使用可能にする。
ログデータベース110は、履歴情報生成部104が生成する履歴情報を記録するデータベースである。履歴情報はログとしてログデータベース110に記録される。また、記録する履歴情報の形式は、後述するログレベルに応じて、各種処理の実行状況、例えば、開始時刻及び終了時刻、実行中の命令等の情報から、レジスタ上に展開されているダンプリストまで適宜変更可能である。なお、情報生成装置1が、異なる回路として複数の記録部11を備えている場合、それぞれの記録部11にログデータベース110として用いる記録領域を確保する。そして、記録する履歴情報の形式に応じた記録部11のログデータベース110に履歴情報を記録するようにしてもよい。
実行処理データベース111は、状況取得部103が取得した処理の実行状況に基づく情報を記録するデータベースである。実行処理データベース111には、消費判定部102が、電源部13の消費量が所定の閾値以上であると判定した場合に実行されている処理に関する情報が、処理毎に記録される。
レベル変更ログデータベース112は、ログデータベース110に記録するログレベルの変更に関する履歴等の情報を記録するデータベースである。ログレベルとは、ログとして記録するログの内容及び形式を決定するためのレベルである。ログレベルは、例えば、「0」〜「2」の3段階に分級されており、各レベルに応じて記録されるログの内容及び形式が異なる。
ログレベルテーブル113は、ログの出力の形式を示すログレベルの基準に関する情報を記録しているテーブルである。
図4は、本願実施例1に係る情報生成装置1のログデータベース110の記録内容の一例を概念的に示す説明図である。図4(A)は、ログレベルが「0」の状態でログとして記録される履歴情報を示している。ログレベルが「0」の場合、実行する処理に係るプログラム又はそのプログラムを構成するモジュールを特定するプロセスIDと、プログラム等のイベント発生時刻と、イベント内容とが対応付けられたレコードとして記録される。ログレベルが「0」の場合のイベントとは、プログラム等の実行開始(START)及び実行終了(END)である。
図4(B)は、ログレベルが「1」の状態でログとして記録される履歴情報を示している。ログレベルが「1」の場合の記録内容は、「0」の場合と同様であり、プロセスID、イベント発生時刻及びイベント内容が対応付けられたレコードとして記録される。なおログレベルが「1」の場合のイベントとは、実行開始、実行終了の他、実行中(RUN)も含まれる。
図4(C)は、ログレベルが「2」の状態でログとして記録される履歴情報を示している。ログレベルが「2」の場合の記録内容は、各種レジスタ上に展開されているデータを取得したメモリイメージのダンプリストである。
図5は、本願実施例1に係る情報生成装置1の実行処理データベース111の記録内容の一例を概念的に示す説明図である。実行処理データベース111には、各処理に対応付けて、検出時刻、電力消費量、ポイント(点数)、累積ポイント(累積点数)等のデータが記録される。処理の項目には、管理の対象となる処理の名称が記録される。処理とは、基本的には起動しているアプリケーションプログラムを示すが、音声通話、データ通信、接続可能な基地局を走査する基地局走査処理等の専用の回路により実行される処理も、処理の項目に設定することができる。検出時刻の項目には、消費判定部102が、電源部13の電力消費量が所定の閾値以上であると判定した時刻が記録される。電力消費量の項目には、単位時間当たりの電源部13の電力消費量が記録される。ポイントの項目には、電力消費量が所定の閾値以上であると判定された場合に付与される数値が記録される。累積ポイントの項目には、付与される数値の累積値が記録される。
実施例1に係る実行処理データベース111の記録内容は、電力消費量が所定の閾値以上であると判定される都度更新される。具体的には、電力消費量が所定の閾値以上であると判定した場合に、その時に起動している処理に対応するレコードの検出時刻、電力消費量及びポイントの項目に対して、その時の時刻、単位時間当たりの電力消費量及び数値が記録される。さらに、ポイントの項目に記録された数値が、累積ポイントの項目に記録されている数値に加算される。なお、起動していない処理に対応するレコードの検出時刻、電力消費量及びポイントの項目のデータは初期化される。
図6は、本願実施例1に係る情報生成装置1のレベル変更ログデータベース112の記録内容の一例を概念的に示す説明図である。レベル変更ログデータベース112には、問い合わせ時刻、結果、対象処理、ログレベル等の項目に対するデータとしてログレベルを変更した履歴が記録される。本願実施例1に係る情報生成装置1では、ログレベルの変更に際し、使用者に対して可否の問い合わせを行う。問い合わせ時刻の項目には、ログレベルの変更可否の問い合わせをした時刻が記録される。結果の項目には、使用者から入力される可否の回答、例えば、「はい」又は「いいえ」が記録される。対象処理の項目には、ログレベルを変更の契機となったアプリケーションプログラム等の処理の名称等が記録される。ログレベルの項目には、変更後のログレベルが記録される。なお、変更されない場合は、元のログレベルが記録されることになる。図6に示す例では、ログレベルの変更を行う際に、使用者に問い合わせる形態を示しているが、問い合わせを行わずに自動的に変更するように設定することも可能であり、その場合、問い合わせ時刻の項目には、変更時刻が記録される。また、結果の項目は空欄となる。
図7は、本願実施例1に係る情報生成装置1のログレベルテーブル113の記録内容の一例を概念的に示す説明図である。ログレベルテーブル113には、ログレベル、レベル基準値、出力形式等についての指標が記録されている。ログレベルの項目には、「0」、「1」、「2」等のログレベルを示すデータが予め記録されている。レベル基準値の項目には、レベル変更の基準となるポイントが示されている。図7に示す例では、ポイントが「30」に到達した段階で、レベルが「0」から「1」に変更される。また、ポイントが「1000」に到達した段階で、レベルが「1」から「2」に変更される。レベル「0」は初期値であるので、対応するレベル基準値は空欄となっている。出力形式の項目には、ログレベルに応じた出力形式の内容が予め記録されている。図7に示す例では、レベル「0」の場合、アプリケーションプログラム等の処理の実行開始及び実行終了時の時刻等が記録の対象となる。また、レベル「1」の場合、処理の実行開始から所定間隔で当該処理の実行が継続されているか否かを判定した結果、すなわち、実行中であることをも含めた処理の実行状況が記録の対象となる。さらに、レベル「2」の場合、メモリイメージのダンプリストが記録の対象となる。
次に、本願実施例1の情報生成装置1の処理について説明する。図8は、本願実施例1に係る情報生成装置1のログレベル決定処理の一例を示すフローチャートである。本願実施例1に係るログレベル決定処理は、電源部13の電力消費量を検出し、その状況に応じてログレベルを決定する処理である。
情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、予め設定されている30秒、1分、3分等の所定の周期で以下に示すログレベル決定処理を繰り返し実行する。
制御部10は、電力検出部101により、電源部13に格納されている電池の残電力量を検出する(S101)。ステップS101では、例えば、電池の電圧を残電力量の代替値として用いる。なお、検出した電池の残電力量は、記録部11に記録され、以降の処理に用いられる。さらに、電力消費の主要因となるのは、制御部10の処理負荷の増大であることから、制御部10の稼働率を検出し、代替値として用いるようにしてもよい。
制御部10は、電力検出部101により、単位時間当たりの電力消費量を検出する(S102)。単位時間とは、例えば、ログレベル決定処理の実行周期であり、1分等の時間となる。また、電力消費量は、電池の残電力量の変動量から算出する。すなわち、ステップS102では、前回検出して記録部11に記録した残電力量の検出値から、今回検出した残電力量の検出値を減算した結果を単位時間当たりの電力消費量として検出する。なお、今回の残電力量と前回の残電力量との差を、前回から今回までの時間で除することにより、単位時間当たりの電力消費量として検出するようにしてもよい。単位時間当たりの電力消費量を示す値として、電圧の変動量を、時刻tiを用いた変化量ベクトルV(ti)として示すこともできる。
制御部10は、消費判定部102により、ステップS102にて検出した単位時間当たりの電力消費量が、所定の閾値以上であるか否かを判定する(S103)。例えば、電圧の変動量を用いて単位時間当たりの電力消費量を示す場合、0.6mV/min等の値が所定の閾値として設定されている。実施例1に係る所定の閾値は、記録部11に予め記録されている固定値であるものとして説明するが、後述する実施例2等にて説明するように、情報生成装置1の内外の状況に応じて動的に変更される変動値であっても良い。
ステップS103にて電力消費量が所定の閾値以上であると判定した場合(S103:YES)、制御部10は、状況取得部103により、処理実行部100により実行している処理の実行状況を取得する(S104)。実施例1に係るステップS104では、実行可能な各種処理の実行状況、即ち実行している処理の特定を行う。実行可能な各種処理とは、実行処理データベース111に記録される処理であり、ゲーム、ワンセグ(テレビ放送受信及び表示用アプリ)、メール(電子メール用アプリ)、ブラウザ(閲覧用アプリ)等のアプリケーションプログラム等の処理を示す。なお、通話、通信基地局の検出等の携帯電話としての基本機能に関する特定の処理の実行をも含めるようにしてもよい。
また、ステップS103にて電力消費量が所定の閾値未満であると判定した場合(S103:NO)、ステップS104以降の処理を実行せず、今回のログレベル決定処理を終了する。そして所定の周期に到達後、ステップS101以降の処理を繰り返す。
ステップS104を実行後、制御部10は、数値管理部105により、実行処理データベース111に対し、状況取得部103が取得した実行状況に基づいて、実行している処理に対応付けられた累積ポイントへの所定の数値の加算等の更新を行う(S105)。例えば、アプリケーションプログラムである「game1」が処理として実行されている場合、当該処理が電力消費量の増加の原因であるとして、実行処理データベース111における当該処理に係るレコードを更新する。具体的には、単位時間当たりの電力消費量が閾値以上であると判定した時刻により、検出時刻の項目のデータを更新する。なお、更新時刻等の他の時刻を検出時刻に代替しても良い。さらに、単位時間当たりの電力消費量により、電力消費量の項目のデータを更新する。さらに、所定の数値により、ポイントの項目のデータを更新する。さらに、所定の数値を累積ポイントの項目に記録されている数値データに加算することにより、累積ポイントの項目のデータを更新する。所定の数値としては、例えば、「1.0」が付与される。また実行している処理が複数である場合、「1.0」を実行している処理の数で除した数値が、それぞれの処理に対して付与される。それぞれの処理が実行されることにより、消費電力量が増加したと見なすことができるからである。例えば、処理「game1」と処理「ワンセグ」とが実行されている場合、それぞれの処理に対し、「1.0」の1/2である「0.5」が付与される。
制御部10は、履歴情報生成部104により、ログレベルテーブル113を参照して、実行処理データベース111に記録されている累積ポイントから出力形式を選択する(S106)。実行処理データベース111に記録されている各レコードの累積ポイントの最大値が、ログレベルテーブル113に設定されている複数段階の基準値のいずれかに到達した場合に、基準値に応じた出力形式を選択する。例えば、ログレベルテーブル113として図7に例示した数値を用いる場合、累積ポイントが「30.5」であれば、ログレベルが「1」であり、実行中も含めた処理の実行状態が記録の対象であり、それに応じた出力形式が選択される。なお各レコードの累積ポイントの最大値ではなく、レコード毎に、すなわち、処理毎にログレベル及び出力形式を決定するようにしてもよい。
制御部10は、選択した出力形式が、前回の決定結果と異なっているか否かを判定する(S107)。
ステップS107にて出力形式が異なっていると判定した場合(S107:YES)、制御部10は、表示部15に、使用者に対して出力形式の変更可否を問い合わせるメッセージを表示する(S108)。出力形式の変更可否の問い合わせは、表示部15に所定のメッセージを表示することにより行う。
図9は、本願実施例1に係る情報生成装置1の表示部15に表示させる画面例を示す説明図である。図9は、ステップS108における出力可否の問い合わせとして表示される画面例を示している。画面上には、「電力消費が多いプログラムが起動されている可能性があります。詳しく調べますか?」というメッセージと共に、実行中の処理の名称と、「はい」及び「いいえ」と示された選択ボタンを示す画像とが表示される。使用者はメッセージを確認し、操作入力部14を操作して、「はい」又は「いいえ」を選択する操作を行う。
フローチャートに戻り、制御部10は、操作入力部14から問い合わせに対する回答を選択する操作を受け付け(S109)、受け付けた操作内容から出力形式を変更可であるか否かを判定する(S110)。ステップS110では、使用者が「はい」を選択した場合、変更可であると判定し、「いいえ」を選択した場合、変更不可であると判定する。
ステップS110にて出力形式変更可であると判定した場合(S110:YES)、制御部10は、出力形式を、ステップS106にて選択した出力形式に変更し(S111)、レベル変更ログデータベース112に問い合わせ結果の履歴を記録する(S112)。ステップS112では、問い合わせ時刻、結果、対象処理及びログレベルに係るデータをレベル変更データベース112に変更の履歴として記録する。この場合の記録内容は、出力形式を変更しているので、問い合わせ結果が「はい」、ログレベルが変更後の出力形式に係るログレベルとなる。
さらに、制御部10は、表示部15に、使用者に対して、外部の記録装置2へ履歴情報の送信要否を問い合わせるメッセージを表示する(S113)。送信要否の問い合わせは、表示部15に所定のメッセージを表示することにより行う。外部の記録装置2とは、例えば、情報処理装置1の製造元、販売元等の事業体又はその関連事業体により管理されるサーバコンピュータである。
図10は、本願実施例1に係る情報生成装置1の表示部15に表示させる画面例を示す説明図である。図10は、ステップS113における送信要否の問い合わせとして表示される画面例を示している。画面上には、「プログラムに不具合がある可能性があります。ログをアップロードしますか?」というメッセージと共に、実行中の処理の名称と、「はい」及び「いいえ」と示された選択ボタンを示す画像とが表示される。使用者はメッセージを確認し、操作入力部14を操作して、「はい」又は「いいえ」を選択する操作を行う。
フローチャートに戻り、制御部10は、操作入力部14から問い合わせに対する回答を選択する操作を受け付け(S114)、受け付けた操作内容に基づいて履歴情報の送信要否の設定を行う(S115)。ステップS115では、使用者が「はい」を選択した場合、送信要と設定し、「いいえ」を選択した場合、送信不要と設定する。そして今回のログレベル決定処理を終了し、所定の周期に到達後、ステップS101以降の処理を繰り返す。
また、ステップS110にて出力形式変更不可であると判定した場合(S110:NO)、制御部10は、ステップS111の出力形式の変更を行うことなく、レベル変更ログデータベース112に問い合わせ結果の履歴を記録する(S116)。この場合の記録内容は、出力形式を変更していないので、問い合わせ結果が「いいえ」、ログレベルは元の出力形式に係るログレベルとなる。そして今回のログレベル決定処理を終了し、所定の周期に到達後、ステップS101以降の処理を繰り返す。
また、ステップS107にて出力形式が異なっていないと判定した場合(S107:NO)、ステップS108以降の処理を実行せず、今回のログレベル決定処理を終了し、所定の周期に到達後、ステップS101以降の処理を繰り返す。
なお、出力形式の変更を行わないとの回答を受け付けた場合、所定の条件を満足するまで再度の問い合わせは行わないようにすることが好ましい。以降の問い合わせ処理を省略することで、使用者の利便性を向上させることができる。所定の条件としては、例えば、所定時間が経過した場合、累積ポイントが更に増加した場合、累積ポイントが減算された後に再度出力形式を変更する基準値に到達した場合等の条件が設定される。
また、送信要否の問い合わせを行った場合、所定の条件を満足するまで再度の問い合わせは行わないようにすることが好ましい。所定の周期で繰り返されるログレベル決定処理を実行する都度の問い合わせを省略することにで、使用者の利便性を向上させることができる。所定の条件としては、例えば、累積ポイントが更に増加した場合、ログレベルを変更後に単位時間当たりの電力消費量が更に増大した場合等の条件が設定される。なお、送信要否の問い合わせは、ログレベル「3」の履歴情報を記録する場合に限り実行するようにしてもよい。重大な異常が発生していると推定される場合にのみ外部の記録装置2へ送信することにより、処理負荷を軽減し、外部の記録装置2の記録領域を効率的に利用することが可能となる。
なお、使用者に対して問い合わせを行わず、自動的に出力形式の変更等を行うように設定することも可能であり、その場合、問い合わせ時刻の項目には変更時刻が記録され、結果の項目は空欄となる。このようにして実施例1に係るログレベル決定処理が実行される。
図11は、本願実施例1に係る情報生成装置1の履歴情報生成処理の一例を示すフローチャートである。本願実施例1に係る履歴情報生成処理は、ログレベル決定処理が決定したログレベルに応じた履歴情報を生成し、出力する処理である。
情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、決定されたログレベルに応じたタイミングで履歴情報生成処理を実行する。ログレベルが「0」の場合、履歴記録の対象となる処理の実行開始又は実行終了を契機として履歴情報生成処理が実行される。ログレベルが「1」の場合、対象となる処理の実行開始及び実行終了の他、処理の実行が継続しているか否かを判定すべく、所定の時間間隔で履歴情報生成処理が実行される。ログレベルが「2」の場合、ログレベル決定処理により、出力形式が決定された時を契機として履歴情報生成処理が実行される。これにより電力消費量が増大した時のメモリイメージをダンプリストとして記録することができる。
制御部10は、履歴情報生成部104により、状態取得部103にて取得される処理の実行状況に基づいて、処理の実行履歴に関する履歴情報を生成する(S201)。例えば、ログレベル「0」又は「1」では、処理の実行開始、実行終了等のイベントに係る時刻等が実行状況の履歴として示された履歴情報が生成される。また、例えば、ログレベル「2」では、レジスタ上に展開されたデータが示されたダンプリスト等の履歴情報が生成される。なお、ログレベルは処理ごとに設定されているため、処理ごとに異なるログレベルでの履歴情報を生成するようにしてもよい。ただし、ログレベル「2」の処理が存在する場合、当該処理に限定したメモリイメージを取得することができない状況も生じ得る。そのような場合、履歴情報生成時に実行している全ての処理の履歴としてダンプリスト等の履歴情報を生成するようにしてもよい。
制御部10は、履歴情報生成部104が生成した履歴情報を、ログデータベース110に記録(内部出力)する(S202)。さらに、制御部10は、ログデータベース110に記録された履歴情報を、通信部12を介して外部の記録装置2へ送信する(S203)。なお、ステップS203の履歴情報の送信は、ログレベル決定処理により、履歴情報の送信要否が、「送信要」と設定されている場合に限り実行される。また、履歴情報は、必要に応じて表示部15に表示させることも可能である。なお、送信、表示等の外部出力に際しては、ログデータベース110に記録された情報だけでなく、レベル変更ログデータベース112等の他のログデータベースに記録されている情報をも出力するようにしてもよい。レベル変更ログデータベース112等の他のログデータベースに記録されている情報をも出力することで、より詳細な解析が可能となる。また履歴情報等が記録された記録部11ごと取り出して、解析することも可能である。このようにして実施例1に係る履歴情報生成処理が実行される。
以上のように本願実施例1では、単位時間当たりの電力消費量が所定の閾値以上である場合に、各種処理の実行状況に基づく履歴情報が生成される。生成された履歴情報には、電力消費量が増大している時に実行しているアプリケーションプログラム等の処理の実行状況が示されている。特に電力消費量が増大している状態が継続し、ログレベルが引き上げられた場合の履歴情報は、ダンプリスト等の情報が示されている。よって、履歴情報から、電力消費量が増大した原因を解析することが可能であり、特に電力消費の状況が深刻な場合には、ダンプリスト、すなわち、処理実行時の制御部10又は記録部11のメモリイメージを参照することで、詳細な解析を行うことが可能である。また、処理ごとに異なるレベルの履歴情報を生成した場合には、全ての処理の詳細な履歴情報の生成及び記録を行う必要がなく、記録部11の記録領域を有効利用することが可能である。また、異常の可能性が高い処理に絞り込んだ解析を行うことが可能である。これにより、例えば、電池の消耗速度が速いことから異変を感じた使用者が、製造元、販売元等の事業体又はその関連事業体に修理を依頼した場合、修理担当者による原因解析を支援し、修理に要する工数を削減することが可能である。
(実施例2)
実施例2は、実施例1において、情報生成装置が高速移動中であるか否か等の特定の状態に応じてログレベルの決定等の処理の要否を判定し、かつ処理の基準を変更する形態である。実施例2において、実施例1と同様の構成については、実施例1と同様の符号を付し、実施例1を参照するものとし、その説明を省略する。
実施例2では、通信基地局と無線接続する処理、通話処理及び通信処理を特定の処理として位置付ける。また、実施例2では、高速移動、通話及び通信のいずれも行っていない状態を基準状態として位置付ける。すなわち、通信基地局と無線接続する処理、通話処理及び通信処理を、携帯電話である情報生成装置1の基本的な処理と位置付け、アプリケーションプログラムを実行する処理と区別する。これらの基本的な処理は、一般的に作り込まれた回路により実行され、安定して動作するため、ログの記録の対象から除外すると共に、これらの処理が実行されていない状態を基準状態と位置付ける。また特定の処理を行っている場合、基準状態と比べて電力消費量が増大する。よって、実施例2では、特定の処理を行うことにより、電力消費量が増大する状況をも加味して各種処理を行う。以下に、基準状態と特定の処理を実行している状態との差異を説明する。
図12は、本願実施例2に係る情報生成装置1の残電力量の経時変化を示すグラフである。図12は、横軸に時刻をとり、縦軸に残電力量をとって、残電力量の経時変化を示している。図12(A)は、待ち受け状態、すなわち、基準状態で、かつアプリケーションプログラム等の処理を実行していない状態の残電力量の経時変化を示している。図12(B)は、高速移動中の残電力量の経時変化を示している。図12(A)及び(B)を比較すると明らかなように、高速移動中は、基準状態と比較して電力消費量が増大している。高速移動中は、短時間に無線接続する通信基地局の走査及び接続確立を繰り返すため、電力消費量が増大するからである。
図13は、本願実施例2に係る情報生成装置1の消費電力の経時変化を示すグラフである。図13は、横軸に時刻をとり、縦軸に電流値をとって、電流の経時変化を示している。図13は、電流の測定値を、単位時間当たりの消費電力の代替値として示したグラフである。図13(A)は、通話処理を行った場合の電流の経時変化を示している。図13(A)では、Ta 〜Tb の期間に通話を行っている。図13(A)から明らかなように、通話前の基準状態の電流値は700μAであるが、通話中の電流値は300mAまで上昇している。図13(B)は、無線接続を確立することが可能な通信基地局の走査を行った場合の電流の経時変化を示している。図13(B)では、Tc 〜Td の期間及びTe 〜Tf の期間に、接続を確立するための走査を行っている。図13(B)から明らかなように、基準状態の電流値は700μAであるが、走査を開始すると600mAまで上昇し、その後、接続が確立すると低下するが、基準状態よりも高い150mAで5msecの間、通信を実行する。
実施例2に係る情報生成装置1の構成及び処理について説明する。実施例2に係る情報生成装置1のハードウェア構成は実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
次に、実施例2の情報生成装置1の機能構成について説明する。図14は、本願実施例2に係る情報生成装置1の機能構成例を示す機能ブロック図である。情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105、基準状態判定部106、基準消費量算出部107等の機能を実行させる。なお、情報生成プログラムPRGの実行ではなく、制御部10に、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105、基準状態判定部106、基準消費量算出部107等の機能を実現する回路を組み込むようにしても良い。
基準状態判定部106は、特定の処理の実行状況に基づいて、自装置が予め設定された基準状態であるか否かを判定するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
基準消費量算出部107は、基準状態であると判定した期間における、電力消費量の単位時間当たりの代表値を基準消費量として算出するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。基準消費量算出部107は、基準状態における電力消費量の代表値を算出する。実施例2では、基準消費量に対する、単位時間当たりの消費量が所定の閾値以上であるか否かを判定する。すなわち、基準消費量と実施例2における閾値との和が、実施例1における閾値に対応するので、実施例1と比較した場合、閾値を動的に変化させることになる。なお、ここでは代表値として、電力消費量の単位時間当たりの総和平均値を用いるものとして以下の例を説明する。ただし、代表値としては、総和平均による値に限らず、相乗平均、調和平均等の他の平均による値を用いるようにしてもよい。また平均値に限らず、中央値、最頻値等の値を代表値として用いるようにしてもよい。
また、情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、記録部11の記録領域の一部を、ログデータベース110、実行処理データベース111、レベル変更ログデータベース112、状態ログデータベース(状態ログDB)114、ログレベルテーブル113等の情報記録領域として使用可能にする。
状態ログデータベース114は、時刻に対応付けて、状態及び残電力量の履歴を記録するデータベースである。状態とは、基準状態判定部106が判定した基準状態であるか否かを示す判定結果である。なお、状態ログデータベース114の記録内容も、記録装置2への送信等の外部出力の対象とするようにしてもよい。
図15は、本願実施例2に係る状態ログデータベース114の記録内容の一例を概念的に示す説明図である。状態ログデータベース114には、時刻に対応付けて、状態及び残電力量の履歴等のデータが記録される。基準状態である場合、状態の項目には、基準状態であることを示すデータとして「0」が記録される。基準状態ではない場合、状態の項目には、基準状態でないことを示すデータとして「1」が記録される。残電力量の項目には、電源部13に格納されている電池の残電力量が記録される。なお、残電力量の代替値として、電圧値を用いても良く、また電力消費量を用いても良い。図15では、電圧値を用いた例を示している。
次に、本願実施例2の情報生成装置1の処理について説明する。図16は、本願実施例2に係る情報生成装置1の状態判定処理の一例を示すフローチャートである。本願実施例2に係る状態判定処理は、ログレベル決定処理の前処理として実行される処理であり、所定の周期で状態判定処理を行った後に、ログレベル決定処理が実行される。状態判定処理は、自装置の現在の状態が基準状態であるか否かを判定する処理である。
情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、予め設定されている所定の周期で以下に示す状態判定処理を繰り返し実行する。状態判定処理における基準状態判定部106は、情報生成装置1が、基準状態、高速移動中、通話中又は通信中のいずれの状態であるかを判定する。処理の実行状況の判定については、例えば、状況取得部103が取得した実行状況に基づいて判定を行う。
制御部10は、基準状態判定部106により、通話中であるか否かを判定する(S301)。ステップS301の通話中とは、音声通話、映像通話(テレビ電話)等の電話通信を行っている状態を示す。
ステップS301において、通話中であると判定した場合(S301:YES)、制御部10は、基準状態判定部106により、自装置の状態が、基準状態ではないと判定する(S302)。情報生成装置1は、通話中の場合、通話により消費電力量が増大しており、基準状態ではないと判定する。
制御部10は、電力検出部101により、電源部10に格納されている電池の残電力量を検出する(S303)。
そして制御部10は、時刻に対応付けて、判定した状態及び検出した残電力量を状態ログデータベース114に履歴として記録し(S304)、状態判定処理を終了する。そして所定の周期に到達後、ステップS301以降の処理を繰り返す。
ステップS301において、通話中ではないと判定した場合(S301:NO)、制御部10は、基準状態判定部106により、通信中であるか否かを判定する(S305)。ステップS305の通信中とは、通信部12を介したインターネット通信等のデータ通信を行っている状態を示す。
ステップS305において、通信中であると判定した場合(S305:YES)、制御部10は、ステップS302へ進み、以降の処理を実行する。すなわち、基準状態ではないと判定し、その状態を状態ログデータベース114に履歴として記録する。情報生成装置1は、通信中の場合、通信により消費電力量が増大している状態であることから、基準状態ではないと判定する。
ステップS305において、通信中ではないと判定した場合(S305:NO)、制御部10は、基準状態判定部106により、高速移動中であるか否かを判定する(S306)。高速移動中であるか否かの判定は、通信部12が、直近の所定時間内に接続した通信基地局の数が所定値以上であるか否かを判定する。接続した通信基地局の数が所定値以上である場合、情報生成装置1は、高速移動中であると判定する。
ステップS306において、高速移動中であると判定した場合(S306:YES)、制御部10は、ステップS302へ進み、以降の処理を実行する。すなわち、基準状態ではないと判定し、その状態を状態ログデータベース114に履歴として記録する。情報生成装置1は、通信中の場合、通信により消費電力量が増大している状態であることから、基準状態ではないと判定する。
ステップS306において、高速移動中ではないと判定した場合(S306:NO)、制御部10は、基準状態判定部106により、自装置の状態が基準状態であると判定する(S307)。情報生成装置1は、高速移動、通話及び通信のいずれも行っていない状態であることから基準状態であると判定する。
そして制御部10は、ステップS303へ進み、以降の処理を実行する。このようにして実施例2に係る状態判定処理が実行される。
図17は、本願実施例2に係る情報生成装置1が接続した通信基地局数の経時変化を示すグラフである。図17は、横軸に時刻をとり、縦軸に所定時間内に接続した通信基地局数をとって、通信基地局数の経時変化を示している。図17に示す例では、所定値を10に設定しており、T1 〜T2 の期間においては、接続した通信基地局数が所定値である10以上となっている。したがって、T1 〜T2 の期間は、高速移動中であると判定される。またT0 〜T1 の期間及びT2 〜T3 の期間は、接続した通信基地局数が10未満であることから、高速移動中ではないと判定する。
図18は、本願実施例2に係る情報生成装置1のログレベル決定処理の一例を示すフローチャートである。状態判定処理を実行後、情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、以下に示すログレベル決定処理を実行する。
制御部10は、基準状態判定部106の処理により、状態ログデータベース114を参照し、基準状態であるか否かを判定する(S401)。情報生成装置1は、状態ログデータベース114に記録されている最新のレコードの状態の項目を参照することにより、基準状態であるか否かを判定することができる。すなわち、最新のレコードの状態の項目に、基準状態であることを示す「0」がデータとして記録されている場合、基準状態であると判定する。
ステップS401にて基準状態であると判定した場合(S401:YES)、制御部10は、状態ログデータベース114を参照し、単位時間当たりの電力消費量を検出する(S402)。ステップS402の処理は、図8を用いて説明した実施例1のログレベル決定処理のステップS102の処理に対応する。なお、実施例1では、ステップS101として残電力量を検出しているが、実施例2では、残電力量が状態ログデータベース114に記録されているため、状態ログデータベース114を参照することにより、ステップS101の処理を省略することができる。
また、ステップS401にて基準状態ではないと判定した場合(S401:NO)、制御部10は、ステップS402以降の処理を実行せず、今回のログレベル決定処理を終了する。そして、所定の周期に到達して次に状態判定処理を実行後、ステップS401以降の処理を繰り返す。基準状態ではない場合、たとえ電力消費量が増大していたとしても、特定の処理が実行されていることによる影響が大きいことかから、ログレベルを変更する必要はないとの観点からである。
ステップS402を実行後、制御部10は、基準消費量算出部107の処理により、状態ログデータベース114を参照し、基準状態であると判定した期間における、電力消費量の単位時間当たりの平均値を基準消費量として算出する(S403)。状態ログデータベース114には、時刻に対応付けて基準状態であるか否か及び残電力量が記録されている。ステップS403では、基準状態であると判定した期間における残電力量の変化量を算出する。算出された変化量が、基準状態における電力消費量である。さらに、算出された変化量を基準状態であると判定した期間で除することにより、単位時間当たりの平均値である基準消費量が算出される。また、基準消費量は、基準消費量ベクトルVs として示すこともできる。
制御部10は、消費判定部102の処理により、基準消費量に対する、単位時間当たりの電力消費量が所定の閾値以上であるか否かを判定する(S404)。基準消費量とは、ステップS403にて算出した基準状態であると判定した期間における、電力消費量の単位時間当たりの平均値であり、基準消費量ベクトルVs として示される値である。単位時間当たりの電力消費量とは、ステップS402にて検出する単位時間当たりの電力消費量であり、変化量ベクトルV(Ti)として示される値である。ステップS404では、Vs −V(Ti)が、所定の閾値以上であるか否かを判定する。すなわち、基準状態と比較して電力消費量が大きいか小さいかを相対的に判定するのである。なお、相対的な判定をする実施例2と、絶対的な判定をする実施例1とでは、所定の閾値として異なる値が用いられる。
図19は、本願実施例2に係る情報生成装置1の残電力量の経時変化を示すグラフである。図19(A)は、横軸に時刻をとり、縦軸に残電力量をとって、残電力量の経時変化を示している。なお、時刻T0 は、情報生成装置1の電源からの通電を開始した時点である。図19(B)は、参照のために示した図17の通信基地局数の経時変化である。なお図19(A)及び(B)の時間軸は、同期させて示している。図19(A)中の丸印は、単位時間当たりの電力消費量を検出した時点である。
図19中、時刻Ti における変化量ベクトルV(Ti)は、単位時間ΔTと、時刻Ti での単位時間における残電力量の変化ΔVを用いた下記の式1で定義される。
V(Ti)=ΔV(Ti)/Δt …式1
また、図19中、T0 〜T1 の期間及びT2 〜T3 の期間は、基準状態であり、この期間における基準消費量を示す基準消費量ベクトルVs は、下記の式2として示される。
Vs =ΣVs(Ti) /n …式2
但し、Vs :基準消費ベクトル
Vs(Ti) :基準状態である時刻Ti における単位時間当たりの電力消費量
n:サンプル数(電力消費量の検出回数)
実施例1に係るログレベル決定処理は、ΔV(Ti)を実施例1に係る閾値と比較したのに対し、実施例2に係るログレベル決定処理では、ΔV(Ti)−Vs を実施例2に係る閾値と比較する。すなわち、実施例1に係る閾値S1と実施例2に係る閾値S2とは、下記の式3の関係にある。
S2=S1−Vs …式3
式3において、Vs は、情報生成装置1の使用環境、電池の種類、使用年数等の要因により変化する変動値であることから、相対値である実施例2に係る閾値S2を、実施例1に係る閾値S1のような絶対値で示す場合、絶対値としての閾値S2は変動値となる。したがって、使用環境等の要因の変化に影響され難く、より正確な判定を行うことが可能である。
フローチャートに戻り、ステップS404にて閾値以上であると判定した場合(S404:YES)、制御部10は、図8を用いて説明した実施例1に係るログレベル決定処理のステップS104以降の処理を実行する。
ステップS404にて閾値未満であると判定した場合(S404:NO)、制御部10は、図8を用いて説明した実施例1に係るログレベル決定処理のステップS104以降の処理を実行せず、今回のログレベル決定処理を終了する。そして、所定の周期に到達して次に状態判定処理を実行後、ステップS401以降の処理を繰り返す。このようにして実施例2に係るログレベル決定処理が実行される。
実施例2に係る履歴情報生成処理は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
以上のように本願実施例2では、消費電力が増大し、かつ安定して実行される処理を特定の処理と位置付け、特定の処理を実行中は、累積ポイントに数値を加算することに基づくログレベルを変更する処理の実行を禁止する。これにより特定の処理の実行を要因として消費電力が増大することにより、不適切にログレベルを引き上げることがないので、適切なログレベルの設定を行うことが可能である。また絶対的な閾値を用いるのではなく、基準状態に基づき動的に変動する相対的な閾値を用いることにより、情報生成装置1の使用環境、電池の種類、使用値数等の要因の変化に影響されることなく適切なログレベルの設定を行うことが可能である。
前記実施例2においては、通信基地局と無線接続する処理、通話処理及び通信処理を特定の処理として設定する例を示したが、本願はこれに限らず、使用者の操作を受け付ける処理、加速度センサを用いて歩数を計数する処理等の他の処理を特定の処理として設定することも可能である。また、折り畳み式の携帯電話を本願の情報生成装置1として用いる場合、携帯電話が開かれていることを検出し、操作入力部14及び表示部15のイルミネーションを点灯させる処理等をも特定の処理として設定することも可能である。
(実施例3)
実施例3は、実施例1及び実施例2において、情報生成装置の状態に応じてポイント加算する数値を変更する形態である。実施例3において、実施例1又は実施例2と同様の構成については、実施例1又は実施例2と同様の符号を付し、実施例1又は実施例2を参照するものとし、その説明を省略する。
実施例3に係る情報生成装置1のハードウェア構成例は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
次に、実施例3の情報生成装置1の機能構成について説明する。図20は、本願実施例3に係る情報生成装置1の機能構成例を示す機能ブロック図である。情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105、基準状態判定部106、基準消費量算出部107、自装置状態判定部108等の機能を実行させる。なお、情報生成プログラムPRGの実行ではなく、制御部10に、処理実行部100、電力検出部101、消費判定部102、状況取得部103、履歴情報生成部104、数値管理部105、基準状態判定部106、基準消費量算出部107、自装置状態判定部108等の機能を実現する回路を組み込むようにしても良い。
自装置状態判定部108は、特定の処理の実行状況に基づいて自装置の状態を判定するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
また、情報生成装置1は、情報生成プログラムPRGを制御部10の制御に基づき実行することにより、記録部11の記録領域の一部を、ログデータベース110、実行処理データベース111、レベル変更ログデータベース112、状態ログデータベース114、ログレベルテーブル113、状態別ポイントテーブル(状態別ポイントTBL)115等の情報記録領域として使用可能にする。
実施例3に係る実行処理データベース111には、音声通話、データ通信等の特定の処理として設定される処理についてのレコードを記録せず、特定の処理以外の「game1」等の処理に係るレコードのみを記録するようにしてもよい。なお、各レコードに記録される項目は実施例1と同様である。
状態別ポイントテーブル115は、情報生成装置1の装置状態に対応付けて、ポイントとして付与する数値を記録しているテーブルである。実施例1では、電力消費量が所定の閾値以上である場合、所定の数値として固定値を付与したが、実施例3では、情報生成装置1の状態に応じて付与する数値が異なる。状態別ポイントテーブル115に記録している数値は、情報生成装置1の状態に応じて付与すべき数値を示している。
図21は、本願実施例3に係る情報生成装置1の状態別ポイントテーブル115の記録内容の一例を概念的に示す説明図である。状態別ポイントテーブル115には、情報生成装置1の装置状態を示す項目が設定されており、「基準状態」、「高速移動中」、「通話中」、「通信中」等の情報生成装置1の状態を示すデータが予め記録されている。そして、装置状態に対応付けて付与すべき数値を示すポイントの項目が設定されており、「1.0」、「0.5」、「0.2」、「0.1」等の数値が予め記録されている。
次に、本願実施例3の情報生成装置1の処理について説明する。実施例3に係る状態判定処理は、実施例2と同様であるので、実施例2を参照するものとし、その説明を省略する。
図22は、本願実施例3に係る情報生成装置1のログレベル決定処理の一例を示すフローチャートである。状態判定処理を実行後、情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、以下に示すログレベル決定処理を実行する。制御部10は、基準消費量算出部107の処理により、状態ログデータベース114を参照し、基準状態であると判定した期間における、電力消費量の単位時間当たりの平均値を基準消費量として算出する(S501)。さらに、制御部10は、消費判定部102の処理により、基準消費量に対する、単位時間当たりの電力消費量が所定の閾値以上であるか否かを判定する(S502)。ステップS501〜S502の処理は、図18を用いて説明した実施例2に係るログレベル決定処理のステップS403〜S404に対応する処理である。なお、実施例3では、実施例2のログレベル決定処理のステップS401〜S402の基準状態であるか否かを判定する処理を必ずしも実行する必要はない。基準状態でなくてもログレベルを決定する処理を続行するからである。
ステップS502にて閾値以上であると判定した場合(S502:YES)、制御部10は、状況取得部103により、処理実行部100により実行している処理の実行状況を取得する(S503)。ステップS503の処理は、図8を用いて説明した実施例1に係るログレベル決定処理のステップS104に対応する処理である。
また、ステップS502にて電力消費量が所定の閾値未満であると判定した場合(S502:NO)、ステップS503以降の処理を実行せず、今回のログレベル決定処理を終了する。そして所定の周期に到達して次に状態判定処理を実行後、ステップS501以降の処理を繰り返す。
ステップS503を実行後、制御部10は、自装置状態判定部108により、特定の処理の実行状況に基づいて自装置の状態を判定する(S504)。実施例3では、実施例2と同様に、通信基地局と無線接続する処理、通話処理及び通信処理を特定の処理として位置付ける。すなわち、ステップS504では、情報生成装置1が、基準状態、高速移動中、通話中又は通信中のいずれの状態であるかを判定する。特定の処理の実行状況の判定については、状況取得部103が取得した実行状況に基づいて判定を行う。なお、状態判定処理において、基準状態、高速移動中、通話中又は通信中のいずれの状態であるかを判定して、状態ログデータベース114に記録しておき、状態ログデータベース114を参照して自装置の状態を判定するようにしてもよい。
制御部10は、数値管理部105により、状態別ポイントテーブル115を参照して、自装置の状態に応じた数値を取得する(S505)。例えば、図21に示す状態別ポイントテーブル115を用いる場合、基準状態であれば「1.0」を取得し、高速移動中であれば「0.5」を取得する。
制御部10は、数値管理部105により、実行処理データベース111に対し、状況取得部103が取得した実行状況及び取得した数値に基づいて、実行している処理に対応付けられた累積ポイントへの数値の加算等の更新を行う(S506)。そして、制御部10は、図8を用いて説明した実施例1に係るログレベル決定処理のステップS106以降の処理を実行する。
ステップS506の処理は、実施例1に係るログレベル決定処理のステップS105に対応する処理である。ただし、実施例1では、予め設定されている所定の数値が加算されていたが、実施例3では、ステップS505にて取得した数値が加算される。例えば、高速移動中に、「game1」が実行されている場合、当該処理に対応するレコードのポイントの項目を「0.5」とし、累積ポイントの項目のデータに「0.5」を加算する。当該処理の実行が、電力消費量の増加の原因であると判定するのであるが、増加原因の一部は、高速移動中であることが原因であるとして、加算する数値を基準状態より低くするのである。また特定の処理以外に実行している処理が複数である場合、取得した数値「0.5」を特定の処理以外で実行している処理の数で除した数値が、それぞれの処理に対して付与される。例えば、処理「game1」と処理「ワンセグ」とが実行されている場合、それぞれの処理に対し、「0.5」の1/2である「0.25」が付与される。
数値付与の他の例について説明する。図23は、本願実施例3に係る情報生成装置1の残電力量の経時変化を示すグラフである。図23(A)及び(B)は、実施例2の図19(A)及び(B)と同様のグラフである。図23(C)は、実行している処理を示している。なお図23(A)〜(C)の時間軸は、同期させて示している。時刻T5 の時点でログレベル決定処理を実行した例について説明する。時刻T5 において、基準消費量Vs =0.02mV、単位時間当たりの電力消費量V(T5)=0.11mV、そして閾値C=0.05mVに設定されているものとする。この場合、情報生成装置1は、下記の式4に示すように基準消費量に対する、単位時間当たりの電力消費量が所定の閾値以上であると判定する。
V(T5)−Vs =0.11−0.02=0.09≧0.05=S …式4
時刻T5 では、図23(B)より、高速移動中ではなく、また、図23(C)より、実行している処理は「game1」及び「メール」であり、特定の処理が実行されていないことから基準状態である。よって、状態別ポイントテーブル115から数値「1.0」が取得され、実行処理データベース111の「game1」及び「メール」に対し、それぞれ「0.5」が付与される。このようにして実施例3に係るログレベル決定処理が実行される。
実施例3に係る履歴情報生成処理は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
実施例3は、基準状態、特定の処理が実行されている状態等の自装置の状態に基づいて、付与する数値を変更する。このため電力消費量が増大している場合であっても、特定の処理が実行されているときには、実行中の処理に付与する数値が抑制される。これにより、特定の処理の実行中に実行した他の処理が、電力消費量が増大している原因であると誤判定される危険性を低減し、異常な電力消費に対する正確な解析を支援することが可能となる。
(実施例4)
実施例4は、実施例1において、状況に応じて処理に対して付与した累積ポイントを減算する形態である。実施例4において、実施例1と同様の構成については、実施例1と同様の符号を付し、実施例1を参照するものとし、その説明を省略する。
実施例4に係る情報生成装置1のハードウェア構成例及び機能構成例は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
次に、本願実施例4の情報生成装置4の処理について説明する。実施例4に係るログレベル決定処理及び履歴情報生成処理は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
図24は、本願実施例4に係る情報生成装置1の数値減算処理の一例を示すフローチャートである。本願実施例4に係る数値減算処理は、状況に応じて実行処理データベース111に記録された累積ポイントを減算し、ログレベルを変更する処理である。
情報生成装置1は、情報生成プログラムPRGを実行する制御部10の制御により、以下に示す数値減算処理を実行する。情報生成装置1は、起動後、すなわち、電源部13の電池から処理実行部100への通電開始を契機として数値減算処理を実行する。
制御部10は、電力検出部101により、電源部13に格納されている電池の残電力量を検出し(S601)、単位時間当たりの電力消費量を検出し(S602)、単位時間当たりの電力消費量が、所定の閾値以上であるか否かを判定する(S603)。ステップS601〜S603の処理は、図8を用いて説明した実施例1のログレベル決定処理のステップS101〜S103と同様の処理である。また、ステップS601〜S603の処理は、電力消費量が増大しているか否かを判定する処理である。よって、ステップ601〜S603の処理の代わりに、図18を用いて説明した実施例2のログレベル決定処理のステップS402〜S404の処理を実行するようにしてもよい。
ステップS603にて電力消費量が所定の閾値以上であると判定した場合(S603:YES)、ステップS601へ戻り、以降の処理を繰り返す。
ステップS603にて電力消費量が所定の閾値未満であると判定した場合(S603:NO)、制御部10は、電力消費量が閾値未満である時間が所定時間以上継続しているか否かを判定する(S604)。ステップS604の処理は、例えば、当該処理を実施後、計時を開始し、ステップS603にて電力消費量が所定の閾値以上である場合に、計時を初期化することにより、継続時間を判定することが可能である。
ステップS604にて所定時間以上継続していると判定した場合(S604:YES)、制御部10は、状況取得部103により、処理実行部100により実行している処理の実行状況を取得する(S605)。
また、ステップS604にて所定時間以上継続していないと判定した場合(S604:NO)、ステップS601へ戻り、以降の処理を繰り返す。
ステップS605を実行後、制御部10は、実行されている処理が所定時間以上継続して実行されているか否かを判定する(S606)。ステップS606の処理は、例えば、ログデータベース110を参照して実行開始時刻からの経過時間を算出することにより、判定することが可能である。
ステップS606にて所定時間以上継続していると判定した場合(S606:YES)、制御部10は、数値管理部105により、実行処理データベース111に対し、実行している処理に対応付けられた累積ポイントの数値を減算する(S607)。減算する累積ポイントの数値は、固定値、継続時間に基づいて決定される変動値、累積ポイントと同じ数値(初期化)、累積ポイントの所定率に対応する数値等の適宜設定された数値を適宜設定することが可能である。なお、累積ポイントの減算とともに、減算後の累積ポイントに応じたログレベルの変更処理が実行される。そしてステップS601へ戻り、以降の処理を繰り返す。
また、ステップS606にて所定時間以上継続していないと判定した場合(S606:NO)、ステップS601へ戻り、以降の処理を繰り返す。
以上のように、本願実施例4では、通電後、電力消費量が所定の閾値未満である期間が所定時間以上継続し、かつ所定時間以上継続して実行されている処理がある場合、累積ポイントを減算する。これにより、処理が実行されていても電力消費量が所定値以上とならない場合に、処理の実行が安定していると判断し、ログレベルを下げることができる。よって、再起動により、処理の実行による電力消費量が安定した場合、当該処理を解析の対象から外すことにより、解析、修理に要する作業工数を削減することが可能である。
なお、数値減算処理は、再起動により、処理が安定した場合に、当該処理のログレベルを下げることを目的としているため、再起動後、所定時間で終了させて処理負荷を軽減するようにしてもよい。また、高速移動中、音声通話中、データ通信中等の特定の処理を実行しているか否かを判定し、特定の実行処理を実行していない場合に限り、数値減算処理を実行するようにしてもよい。さらに、再起動ではなく、充電が完了後に処理を実行する等、開始の契機を適宜設定することも可能である。
なお、実施例1乃至4にて、電池の消費を電力量にて検出しているが、流れた電流の量を検知するようにし、流れた電流の量が所定の閾値よりも多い場合に、電池の異常な消費が発生したことを検知するようにしてもよい。
前記実施例1乃至4は、本願の無数にある実施例の一部を例示したに過ぎず、各種ハードウェア及びソフトウェア等の構成は、目的、用途等に応じて適宜設計することが可能である。例えば、パーソナルコンピュータに適用した場合に、履歴情報として、通信に係る履歴を記録することで、通信網経由で感染するコンピュータウィルス、不正な侵入又は外部からの操作により電力消費が増大した場合の解析処理に用いることも可能である。また、前記実施例1乃至4は、それぞれ独立して実施されるものではなく、目的、用途に応じて適宜組み合わせて実行することが可能である。
以上の実施例に関し、更に以下の付記を開示する。
(付記1)
電池を電力源として一又は複数の処理を実行可能な処理実行部と、
前記電池に係る消費量を検出する消費量検出部と、
該消費量検出部が検出した単位時間当たりの消費量が所定の閾値以上であるか否かを判定する消費判定部と、
該消費判定部の判定により、該単位時間当たりの消費量が所定の閾値以上であると判定した際の、前記処理実行部による処理の実行状況を示す状態情報を記憶する状態情報記憶部と
を備える情報生成装置。
(付記2)
前記消費量検出部は、電池に係る消費量を電力量にて検出するものである
付記1に記載の情報生成装置。
(付記3)
前記消費量検出部は、電池に係る消費量を電流量にて検出するものである
付記1に記載の情報生成装置。
(付記4)
特定の処理の実行状況に基づいて、自装置が予め設定された基準状態であるか否かを判定する基準状態判定部と、
該基準状態判定部が基準状態であると判定した期間における、前記電池に係る消費量の単位時間当たりの代表値を基準消費量として算出する基準消費量算出部と
を更に備え、
前記消費判定部は、前記基準消費量に対する、前記単位時間当たりの消費量が所定の閾値以上であるか否かを判定するようにしてある
付記1乃至付記3のいずれかに記載の情報生成装置。
(付記5)
複数の通信基地局のうちの一の通信基地局に無線接続する処理を実行する通信部を更に備え、
前記基準状態判定部は、特定の処理として無線接続する処理を実行することにより、所定時間内に接続した通信基地局の数が所定値未満である場合、基準状態であると判定する付記4に記載の情報生成装置。
(付記6)
前記実行可能な処理に対応付けて、点数を記録するデータベースと、
前記データベースに対し、前記状態情報記憶部が記憶した処理の実行状況に基づき実行している処理に対応する点数に、所定の数値を加算する数値管理部と
を更に備え、
前記状態情報記憶部は、
前記データベースに記録された点数が、予め設定されている複数段階の基準値のいずれかに到達した場合に、到達した基準値に応じた形式の状態情報を生成する付記1乃至付記5のいずれかに記載の情報生成装置。
(付記7)
自装置の状態に応じた数値を予め記録しているテーブルと、
特定の処理の実行状況に基づいて自装置の状態を判定する自装置状態判定部と
を更に備え、
前記数値管理部は、前記状態情報記憶部が記憶した処理の実行状況に基づき実行している処理に対応する点数に、前記自装置状態判定部が判定した自装置の状態に応じた数値を加算する付記6に記載の情報生成装置。
(付記8)
前記消費量が所定の閾値未満である期間が所定時間以上継続し、かつ所定時間以上継続して実行されている処理がある場合、前記数値管理部は、前記データベースに記録している当該処理に対応付けられた点数を減算する付記6又は付記7に記載の情報生成装置。
(付記9)
前記データベースに記録された数値が、予め設定されている所定の基準値に到達した場合に、前記履歴情報生成部が生成した履歴情報を他の装置へ送信する送信部を更に備える付記6乃至付記8のいずれかに記載の情報生成装置。
(付記10)
情報生成装置に、
一又は複数の処理を実行に要する電力を供給する電池に係る消費量を検出させ、
検出した単位時間当たりの消費量が所定の閾値以上であるか否かを判定させ、
該単位時間当たりの消費量が所定の閾値以上であると判定した際の、処理の実行状況を示す状態情報を記憶させる
情報生成方法。
(付記11)
電池を電力源として一又は複数の処理を実行可能なコンピュータに、
前記電池に係る消費量を検出させる手順と、
検出した単位時間当たりの消費量が所定の閾値以上であるか否かを判定させる手順と、
該単位時間当たりの消費量が所定の閾値以上であると判定した際の、処理の実行状況を示す状態情報を記憶させる手順と
を実行させる情報生成プログラム。