(57)【要約】【課題】ソフトウエアの動作と消費電力の変化とを対応付けて消費電力の分析を行なえるようにする。【解決手段】処理部１ａが、分析対象装置２の動作履歴にかかる第１時系列データを含むソフトウエア動作ログ２２を取得し、分析対象装置２のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログ５２を取得し、ソフトウエア動作ログ２２の第１時系列データと、消費電力ログ５２の第２時系列データとに基づき、ソフトウエア動作ログ２２と消費電力ログ５２との時刻の対応関係を決定し、決定された時刻の対応関係に基づき、ソフトウエア動作ログ２２と消費電力ログ５２とを共通の時刻情報に対応付けて出力する。【選択図】図１
2015175630.tif 000002
【特許請求の範囲】
【請求項１】
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得する第１取得部と、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得する第２取得部と、
前記第１取得部によって取得された前記ソフトウエア動作ログの前記第１時系列データと、前記第２取得部によって取得された前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定する決定部と、
前記決定部によって決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力するマージ部と、を有する消費電力分析装置。
【請求項２】
前記決定部は、
前記第１時系列データを所定単位時間毎に二値化する第１二値化部と、
前記第２時系列データを前記所定単位時間毎に二値化する第２二値化部と、
前記第１二値化部によって得られた第１二値化データと前記第２二値化部によって得られた第２二値化データとの対応関係を前記所定単位時間ずつずらしながら前記第１二値化データと前記第２二値化データとの一致度を算出し、前記一致度が最大になったときの、前記第１二値化データと前記第２二値化データとの対応関係を、前記時刻の対応関係として算出する算出部と、を有する、請求項１記載の消費電力分析装置。
【請求項３】
前記第１二値化データは、前記分析対象装置のスリープ中に０、前記分析対象装置の動作中に１となり、
前記第２二値化データは、前記所定単位時間の消費電力値が第１閾値未満の場合に０、前記所定単位時間の消費電力値が前記第１閾値以上の場合に１となり、
前記一致度は、前記第１二値化データと前記第２二値化データとの比較対象区間において前記第１二値化データの値と前記第２二値化データの値とが一致する割合である、請求項２記載の消費電力分析装置。
【請求項４】
前記決定部は、
前記第１二値化データに対し、前記所定単位時間毎に、深いスリープ状態の場合に第１重み情報を設定する第１重み設定部と、
前記第２二値化データに対し、前記所定単位時間毎に、前記所定単位時間の消費電力値が前記第１閾値よりも大きい第２閾値以上である場合に第２重み情報を設定する第２重み設定部と、をさらに有し、
前記算出部は、前記第１重み情報と前記第２二値化データの値との関係、または、前記第２重み情報と前記第１二値化データの値との関係が所定条件を満たす場合、当該関係が前記所定条件を満たさない場合よりも、前記一致度が大きくなるよう、所定補正基準に従って前記一致度を補正する、請求項３記載の消費電力分析装置。
【請求項５】
前記所定条件は、
前記第１重み情報を設定された時点での前記第２二値化データの値が０であること、または、
前記第２重み情報を設定された時点での前記第１二値化データの値が１であることである、請求項４記載の消費電力分析装置。
【請求項６】
前記算出部は、前記第１時系列データまたは前記第２時系列データの測定ノイズに応じて、前記所定補正基準を変更する、請求項４または請求項５に記載の消費電力分析装置。
【請求項７】
前記所定補正基準は、前記測定ノイズが所定基準よりも少ない状態において、前記所定条件を満たす場合には前記一致度に１以上の値を乗算する一方、前記所定条件を満たさない場合には前記一致度に０を乗算する、請求項６記載の消費電力分析装置。
【請求項８】
前記所定補正基準は、前記測定ノイズが所定基準よりも多い状態において、前記所定条件を満たす場合には前記一致度に１よりも大きい値を乗算する一方、前記所定条件を満たさない場合には前記一致度に１よりも小さい正値を乗算する、請求項６記載の消費電力分析装置。
【請求項９】
処理部が、
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得し、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得し、
前記ソフトウエア動作ログの前記第１時系列データと、前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定し、
決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する、消費電力分析方法。
【請求項１０】
消費電力の分析を行なうコンピュータに、
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得し、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得し、
前記ソフトウエア動作ログの前記第１時系列データと、前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定し、
決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する、
処理を実行させる、消費電力分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力分析装置，消費電力分析方法および消費電力分析プログラムに関する。
【背景技術】
【０００２】
携帯電話機，スマートフォン，ＰＤＡ（Personal Digital Assistants）端末，パーソナルコンピュータ（ＰＣ）などの電子機器の普及に伴い、電子機器の消費電力を削減することが望まれている。電子機器の省電力化を実現するためには、無駄な電力消費を見出して解消する必要がある。また、電子機器の実際の消費電力値が設計時の想定値を超える場合には、実際の消費電力値が想定値を超える理由を分析して解消する必要がある。
【０００３】
上述のように無駄な電力消費を見出したり上記理由を分析したりする際には、対象電子機器の動作履歴と当該対象電子機器の消費電力値とが採取され、採取された動作履歴と消費電力値とが突き合わされ比較される。これにより、消費電力の分析が行なわれる。ここで、対象電子機器の動作履歴としては、例えば、対象電子機器におけるＣＰＵ（Central Processing Unit）から発行される、消費電力に関連する制御命令の履歴などが採取される。
【０００４】
このとき、対象電子機器の動作状態にかかる動作履歴データと、対象電子機器の消費電力値にかかる電力計測データとは、同一システム内で採取される場合、共通の時計によって計時される時刻を基準にして管理・記録される。つまり、動作履歴データおよび電力計測データのそれぞれは、いわゆるタイムスタンプである同期マーカ（同期指標）を付加されて記録される。これにより、動作履歴データと電力計測データとの突き合わせ時に、各データに付加された同期マーカを参照することで動作履歴データと電力計測データとの同期を取りながら、消費電力の分析を行なうことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０６２１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した動作履歴データと電力計測データとが、物理的に離れた異なるシステムで採取される場合、動作履歴データと電力計測データとは、それぞれ、異なる時計によって計時される時刻を基準にして管理・記録されることになる。このような場合としては、例えば、動作履歴データの採取を、対象電子機器内の時計を用いて対象電子機器内で行なう一方、電力計測データの採取を、対象電子機器外の消費電力測定装置により対象電子機器外の時計を用いて行なう場合が考えられる。
【０００７】
このような場合、異なる時計によって計時される２つの時刻は、大まかに一致させることはできても、厳密に一致させることができない。つまり、動作履歴データの採取時に用いられる時刻の基準と、電力計測データの採取時に用いられる時刻の基準とが異なる。このため、上述のような同期マーカ（タイムスタンプ）を用いても、動作履歴データと電力計測データとの同期を取ることができない。したがって、動作履歴データと電力計測データとを正確に突き合わせて対比することができず、消費電力の分析を高い精度で行なうことができない。
【０００８】
一つの側面で、本発明は、ソフトウエアの動作と消費電力の変化とを対応付けて消費電力の分析を行なえるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【０００９】
本件の消費電力分析装置は第１取得部，第２取得部，決定部およびマージ部を有する。第１取得部は、分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得する。第２取得部は、前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得する。決定部は、前記第１取得部によって取得された前記ソフトウエア動作ログの前記第１時系列データと、前記第２取得部によって取得された前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定する。マージ部は、前記決定部によって決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する。
【発明の効果】
【００１０】
ソフトウエアの動作と消費電力の変化とを対応付けて消費電力の分析を行なうことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る消費電力分析装置を適用される環境の全体構成と、本実施形態に係る消費電力分析装置のハードウェア構成例および機能構成例とを示すブロック図である。
【図２】本実施形態に係る消費電力分析装置を用いて行なわれる処理の流れを概略的に説明するフローチャートである。
【図３】本実施形態に係る消費電力分析装置の動作を説明するフローチャートである。
【図４】本実施形態に係る消費電力分析装置の動作を説明するフローチャートである。
【図５】ソフトウエア動作ログの一例を示す図である。
【図６】消費電力ログの一例を示す図である。
【図７】ソフトウエア動作ログから抽出されたＣＰＵスリープイベント情報の一例を示す図である。
【図８】図７に示すＣＰＵスリープイベント情報（ＣＰＵスリープログ）をグラフ化した例を示す図である。
【図９】ＣＰＵスリープイベント情報の二値化手法を説明する図である。
【図１０】図７に示すソフトウエア動作ログ（ＣＰＵスリープログ）との二値化結果と当該ソフトウエア動作ログに対する重み情報とを説明する図である。
【図１１】消費電力ログの二値化手法を説明する図である。
【図１２】ソフトウエア動作ログと消費電力ログとの一致度の算出例（時刻差Ｔ＝０の場合）を説明する図である。
【図１３】ソフトウエア動作ログと消費電力ログとの一致度の算出例（時刻差Ｔ＝３の場合）を説明する図である。
【図１４】図１３に示す一致度の算出例についての、重み情報による評価（一致度補正）を説明する図である。
【図１５】本実施形態に係る消費電力分析装置におけるマージ部の動作を説明する図である。
【図１６】マージ結果の一例を示す図である。
【図１７】本実施形態の応用例を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、図面を参照し、本願の開示する消費電力分析装置，消費電力分析方法および消費電力分析プログラムの実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１３】
〔１〕本実施形態における消費電力分析手法の概要
消費電力の分析を行なう際、分析対象装置におけるソフトウエアの動作トレースログ（以下、ソフトウエア動作ログという）と、当該ソフトウエア動作ログ採取時における消費電力のトレースログ（以下、消費電力ログという）とが採取される。これらのソフトウエア動作ログと消費電力ログとが、異なるシステムで採取された場合、上述したように、同期マーカを用いても、ソフトウエア動作ログと消費電力ログとの同期を正確に取ることができず、消費電力の分析を高い精度で行なうことができない。
【００１４】
そこで、本実施形態では、２つのトレースログの時刻の同期が正確に取れていない状況で、２つのトレースログの正確な同期を取ることを可能にする手法が提供される。その際、本実施形態の装置は、上述した同期マーカなどのタグを用いることなく、各トレースログの特性を利用して２つのトレースログの記録時刻の時刻差を算出することで、２つのトレースログの正確な同期を取り消費電力の高精度な分析を実現する。特に、本実施形態では、後述するように、消費電力量の増減は、分析対象装置における例えばＣＰＵの動作負荷の増減に対応するという特性を利用して前記時刻差（時刻の対応関係）が算出される。
【００１５】
このため、本実施形態の消費電力分析装置（図１の符号１参照）においては、処理部（図１の符号１ａ参照）が、少なくとも、以下の処理(A1)〜(A4)を実行する。
(A1) 分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得する。
(A2) 前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得する。
(A3) 前記ソフトウエア動作ログの前記第１時系列データと、前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係（時刻差）を決定する。
(A4) 決定された前記時刻の対応関係（時刻差）に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する。
以上の処理により、本実施形態の消費電力分析装置では、同期マーカ（同期指標）を用いることなく、ソフトウエアの動作と消費電力の変化とを対応付けて消費電力の分析を行なうことができる。
【００１６】
〔２〕本実施形態の構成
まず、図１を参照しながら、本実施形態に係る消費電力分析装置１を適用される環境の全体構成を説明するとともに、本実施形態に係る消費電力分析装置１のハードウェア構成例および機能構成例について説明する。なお、図１は、本実施形態に係る消費電力分析装置を適用される環境の全体構成と、本実施形態に係る消費電力分析装置のハードウェア構成例および機能構成例とを示すブロック図である。
【００１７】
図１に示すように、本実施形態の電力測定環境では、消費電力分析装置１，分析対象装置２，電源３，消費電力測定装置４および測定用ＰＣ５が備えられている。
ここで、消費電力分析装置１は、分析対象装置２のソフトウエア動作ログ２２および消費電力ログ５２を取得し、分析対象装置２の消費電力の解析を行なうもので、詳細な構成については、後述する。
【００１８】
以下に説明するように、本実施形態の電力測定環境では、分析対象装置２についてのソフトウエア動作ログ２２と消費電力ログ５２とは、それぞれ、異なる時計によって計時される時刻を基準にして管理・記録される。特に、本実施形態では、ソフトウエア動作ログ２２の採取は、分析対象装置２内の時計２１を用いて分析対象装置２内で行なわれる。また、消費電力ログの採取は、分析対象装置２に外部から接続された消費電力測定装置４により分析対象装置２外の時計４１または５１を用いて行なわれる。
【００１９】
分析対象装置２は、本実施形態の消費電力分析装置１によって消費電力を分析されることで性能を改善されるべき装置であり、携帯電話機，スマートフォン，ＰＤＡ端末，ＰＣなどの電子機器である。分析対象装置２は、内部の各種部品２４に対する電力供給を、外部の電源３から電源端子（ＶＤＤ）２３経由で受けて動作する。各種部品２４には分析対象装置２のＣＰＵ等が含まれる。
【００２０】
分析対象装置２では、当該ＣＰＵ等から出力される情報に基づきソフトウエアの動作（システム動作）がログ２２として分析対象装置２内の記憶部（図示略）に保存されるように構成される。ソフトウエア動作ログ２２は、分析対象装置２の動作履歴に係る第１時系列データを含む。ソフトウエア動作ログ２２においては、分析対象装置２内で発生したイベントの情報が、分析対象装置２内の時計２１によって計時される時刻（当該イベントの発生時刻）に対応付けられ前記第１時系列データとして記録される。したがって、ソフトウエア動作ログ２２の時刻は、分析対象装置２のもつ時計２１の時刻になる。
【００２１】
なお、ソフトウエア動作ログ２２に含まれるイベントとしては、分析対象装置２の消費電力を調査するために必要なイベントが含まれるほか、後述する同期処理（時刻合わせ処理）に用いられるＣＰＵスリープイベントが含まれる。ソフトウエア動作ログ２２の具体例については、図５を参照しながら後述する。
【００２２】
消費電力測定装置（データロガー）４は、汎用的な機器で、分析対象装置２に電力供給を行なう電源（電源供給部）３をモニタすることで、分析対象装置２の消費電力を計測する。このとき、消費電力測定装置４は、分析対象装置２と電源３との間の電流をプローブして分析対象装置２全体の消費電力値を計測したり、分析対象装置２内において電源端子２３と各種部品２４との間の電流をプローブして部品グループ単位の消費電力値を計測したりすることができる。
【００２３】
測定用ＰＣ５は、消費電力測定装置４を制御することで消費電力測定装置４によって計測される分析対象装置２の消費電力ログ５２を採取して保存する。消費電力ログ５２は、分析対象装置２のソフトウエア動作時の消費電力値に係る第２時系列データを含む。消費電力ログ５２においては、消費電力の計測開始後に所定時間間隔で計測された消費電力値が、計測時刻に対応付けられ前記第２時系列データとして記録される。消費電力ログ５２の計測時刻としては、消費電力測定装置４内の時計４１によって計時される時刻が用いられてもよいし、測定ＰＣ５内の時計５１によって計時される時刻が用いられてもよい。したがって、消費電力ログ５２の時刻は、消費電力測定装置４のもつ時計４１または測定用ＣＰ５のもつ時計５１の時刻になる。なお、消費電力ログ５２の具体例については、図６を参照しながら後述する。
【００２４】
なお、上述した時計２１，４１，５１は、カレンダＩＣ（Integrated Circuit）のごとく不揮発に時刻を保持するデバイスであってもよいし、電源オンまたは測定開始で計時をスタートするタイマであってもよい。時計２１，４１，５１がカレンダＩＣであってもタイマであっても、ソフトウエア動作ログ２２と消費電力ログ５２との同期処理（時刻合わせ処理）を行なう必要がある。
【００２５】
本実施形態の消費電力分析装置１は、例えば一般的なＰＣによって構成され、分析対象装置２および測定用ＰＣ５に、ネットワーク等（図示略）を介して接続されている。消費電力分析装置１は、当該ネットワーク等経由で分析対象装置２および測定用ＰＣ５からソフトウエア動作ログ２２および消費電力ログ５２を取得可能に構成されている。ネットワーク等としては、インターネット，ＬＡＮ（Local Area Network），ＷＡＮ（Wide Area Network）などを用いることができる。また、消費電力分析装置１は、測定用ＰＣ５と一体的に構成されてもよく、この場合、消費電力分析装置１と測定用ＰＣ５との間のネットワーク等は不要になる。
【００２６】
そして、消費電力分析装置１は、取得したソフトウエア動作ログ２２および消費電力ログ５２に基づき、分析対象装置２の消費電力の解析を行なう。その際、これらのログ２２，５２が異なる時計２１，４１（５１）によって計時される時刻を基準にして記録されているため、本実施形態の消費電力分析装置１では、ログ２２および５２の同期処理（時刻合わせ処理）が行なわれる。
【００２７】
以下、ログ２２および５２の同期処理（時刻合わせ処理）を行なう機能を有する消費電力分析装置１のハードウエア構成および機能構成について説明する。
消費電力分析装置１は、少なくとも、ＣＰＵ，ＭＰＵ（Micro-Processing Unit），コンピュータ等の処理部（プロセッサ）１ａと、ＲＡＭ（Random Access Memory），ＨＤＤ（Hard Disk Drive），ＳＳＤ（Solid State Device）等の記憶部（メモリ）１ｂとを有している。
【００２８】
処理部１ａは、記憶部１ｂから所定のアプリケーションプログラム（消費電力分析プログラム）を読み出して実行することで、第１取得部１１，第２取得部１２，決定部１３，マージ部１４および分析部１５としての機能を果たす。なお、前記所定のアプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、処理部１ａは、当該記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置としての記憶部１ｂに転送し格納して用いる。
【００２９】
記憶部１ｂは、前記所定のアプリケーションプログラムを保存するほか、処理部１ａによる処理に必要な各種情報等を保存する。記憶部１ｂは、前記各種情報等として、少なくとも、第１取得部１１および第２取得部１２によってそれぞれ取得されるソフトウエア動作ログ２２および消費電力ログ５２や、マージ部１４によって得られる分析用データ１４１を保存する。ログ２２，５２および分析用データ１４１については、それぞれ図５，図６および図１６を参照しながら後述する。
【００３０】
第１取得部１１は、分析対象装置２の動作履歴にかかる第１時系列データを含むソフトウエア動作ログ２２を、分析対象装置２から取得して記憶部１ｂに保存する。
第２取得部１２は、分析対象装置２のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログ５２を、測定用ＰＣ５から取得して記憶部１ｂに保存する。
【００３１】
決定部（一致度判定部）１３は、第１取得部１１によって取得されたソフトウエア動作ログ２２の第１時系列データと、第２取得部１２によって取得された消費電力ログ５２の第２時系列データとに基づき、ソフトウエア動作ログ２２と消費電力ログ５５との時刻の対応関係（時刻差）を決定する。特に、決定部１３は、第１時系列データおよび第２時系列データをそれぞれ二値化し、二値化された第１二値化データと第２二値化データとのパターンマッチングを行なう。そして、決定部１３は、第１二値化データと第２二値化データとの一致度判定を行ない、一致度が最も高くなる時刻差を前記時刻の対応関係として決定する。
【００３２】
このため、決定部１３は、第１二値化部１３１，第２二値化部１３２，算出部１３３，第１重み設定部１３４および第２重み設定部１３５としての機能を有している。
第１二値化部１３１は、前記第１時系列データを分析時間毎に二値化する。ここで、分析時間（所定単位時間）は、ユーザ，オペレータ等によって予め設定されるもので、分析中にデータを時分割する単位であり、時刻差の粒度を示すパラメータである。また、分析時間は、ソフトウエア動作ログ２２と消費電力ログ５２との時刻合わせの精度につながるパラメータであり、例えば、消費電力測定装置４による測定単位時間に合わせるのが好ましい。
第２二値化部１３２は、前記第２時系列データを分析時間毎に二値化する。
【００３３】
算出部１３３は、第１二値化部１３１によって得られた第１二値化データと第２二値化部１３２によって得られた第２二値化データとの対応関係を分析時間ずつずらしながら第１二値化データと第２二値化データとの一致度を算出する。そして、算出部１３３は、前記一致度が最大になったときの、第１二値化データと第２二値化データとの時刻差を、前記時刻の対応関係として算出する。
【００３４】
ここで、第１二値化データは、例えば、分析対象装置２（各種部品２４に含まれるＣＰＵ）のスリープ中に“０”となる一方、分析対象装置２（ＣＰＵ）の動作中に“１”となるデータである。第１二値化データの具体例については、図７〜図９を参照しながら後述する。
また、第２二値化データは、例えば、分析時間の消費電力値が第１閾値未満の場合に“０”となる一方、分析時間の消費電力値が第１閾値以上の場合に“１”となるデータである。第２二値化データおよび第１閾値の具体例については、図１１を参照しながら後述する。
さらに、一致度は、例えば、第１二値化データと第２二値化データとの比較対象区間において第１二値化データの値と第２二値化データの値とが一致する割合である。一致度の具体例については、図１２および図１３を参照しながら後述する。
【００３５】
第１重み設定部１３４は、第１二値化データに対し、分析時間毎に、ＣＰＵが深いスリープ状態の場合に第１重み情報を設定する。第１重み情報としては、例えば、図１０を参照しながら後述するごとく、ＣＰＵが動作中の場合やクロックを停止するだけの浅い眠り（浅いスリープ状態）の場合に“０”が設定される一方、ＣＰＵが電力供給を停止するような深い眠り（深いスリープ状態）の場合に“１”が設定される。
【００３６】
第２重み設定部１３５は、第２二値化データに対し、分析時間毎に、分析時間の間の消費電力値が前記第１閾値よりも大きい第２閾値以上である場合に第２重み情報を設定する。第２重み情報としては、例えば、図１１を参照しながら後述するごとく、分析時間の間の消費電力値が第２閾値未満である場合に“０”が設定される一方、分析時間の間の消費電力値が第２閾値以上である場合に“１”が設定される。
【００３７】
算出部１３３は、第１重み情報と第２二値化データの値との関係、または、第２重み情報と第１二値化データの値との関係が所定条件（所定の要件）を満たす場合、当該関係が前記所定条件を満たさない場合よりも、一致度が大きくなるよう、所定補正基準に従って一致度を補正する。
【００３８】
ここで、所定条件としては、例えば、第１重み情報“１”を設定された時点（分析時間）での第２二値化データの値が“０”であること、または、第２重み情報“１”を設定された時点（分析時間）での第１二値化データの値が“１”であることが設定される。所定条件については、図１４を参照しながら後述する。
【００３９】
また、本実施形態において、算出部３３は、ソフトウエア動作ログ２２の取得データ（第１時系列データ）または消費電力ログ５２の取得データ（第２時系列データ）の測定ノイズに応じて、所定補正基準を変更するように構成される。例えば、測定ノイズが所定基準よりも少ない状態（つまり取得データの信頼度が高い場合）においては、所定補正基準として厳しい基準が設定される。これに対し、測定ノイズが所定基準よりも多い状態（つまり取得データの信頼度が低い場合）においては、所定補正基準として緩やかな基準が設定される。
【００４０】
測定ノイズが所定基準に対し多くもなく少なくもない中間的な状態である場合、算出部１３３は、第１二値化データの値と第２二値化データの値とが一致する割合として算出された一致度に対し、測定ノイズに応じた補正を行なわず、当該割合をそのまま一致度として用いることができる。
【００４１】
厳しい基準は、前記所定条件を満たす場合には一致度に１以上の値（例えば１）を乗算する一方、前記所定条件を満たさない場合には一致度に０を乗算するものとする。これに対し、緩やかな基準は、前記所定条件を満たす場合には一致度に１よりも大きい値（例えば１．１）を乗算する一方、前記所定条件を満たさない場合には一致度に１よりも小さい正値（例えば０．９）を乗算するものとする。
【００４２】
なお、上述した分析時間（所定単位時間），第１閾値，第２閾値，所定条件，所定補正基準は、消費電力分析装置１の起動時あるいは消費電力分析開始時にユーザ，オペレータ等によって予め設定され、記憶部１ｂに保存される。
【００４３】
マージ部１４は、決定部１３によって決定された前記時刻の対応関係（一致度が最大になったときの時刻差）に基づき、ソフトウエア動作ログ２２と消費電力ログ５２とを共通の時刻情報に対応付けることでマージして出力する。そして、マージ部１４は、例えば図１５および図１６を参照しながら後述するごとく、ソフトウエア動作ログ２２と消費電力ログ５２とをマージして得られる分析用データ（マージ結果）１４１を、記憶部１ｂに保存する。
【００４４】
分析部１５は、マージ部１４によって得られた分析用データ１４１に基づき、分析対象装置２の消費電力の分析を行なう。ここでは、詳細な分析手法についての説明は省略するが、分析部１５は、分析用データ１４１に基づき、同期を取られた第１時系列データ（動作履歴）と第２時系列データ（消費電力値）とを突き合わせ、分析対象装置２の消費電力の分析を行なうことになる。
【００４５】
〔３〕本実施形態の動作
次に、図２〜図１６を参照しながら、本実施形態に係る消費電力分析装置１の動作について説明する。
【００４６】
まず、図２に示すフローチャート（ステップＳ１〜Ｓ４）に従って、本実施形態に係る消費電力分析装置１を用いて行なわれる処理の流れについて概略的に説明する。
消費電力分析装置１による処理を開始する前に、分析対象装置２内では、ＯＳ（Operating System），ドライバ等のログが、時計２１（図１参照）の時刻を基準にして時系列的に出力され（ステップＳ１）、ソフトウエア動作ログ２２として保存される。
【００４７】
また、ソフトウエア動作ログ２２の採取処理と並行し、消費電力測定装置４によって分析対象装置２の消費電力が測定される。測定された消費電力値は、例えば時計４１（図１参照）の時刻を基準にして時系列的に出力され（ステップＳ２）、測定用ＰＣ５において消費電力ログ５２として保存される。
【００４８】
この後、分析を開始する際、消費電力分析装置１は、分析対象装置２内に保存されるソフトウエア動作ログ２２と、測定用ＰＣ５内に保存される消費電力ログ５２とを取得する。そして、消費電力分析装置１は、取得したソフトウエア動作ログ２２と消費電力ログ５２とについて、時刻補正（同期処理／時刻合わせ処理）を行なってからマージする（ステップＳ３）。ステップＳ３で行なわれる処理の詳細については、図３〜図１６を参照しながら後述する。
【００４９】
ステップＳ３でマージされた、ソフトウエア動作ログ２２と消費電力ログ５２とのマージ結果１４１は、分析用データとして、消費電力分析装置１の分析部１５で用いられ、分析対象装置２の消費電力の分析が実施される（ステップＳ４）。
【００５０】
次に、図３および図４に示すフローチャート（ステップＳ１１〜Ｓ１８およびＳ２１〜Ｓ３１）に従って、図５〜図１６を参照しながら、本実施形態に係る消費電力分析装置１の動作について説明する。
【００５１】
消費電力分析装置１の起動時あるいは消費電力分析開始時には、第１取得部１１によって、分析対象装置２の動作履歴に係る第１時系列データを含むソフトウエア動作ログ２２が分析対象装置２から取得され記憶部１ｂに保存される（図３のステップＳ１１）。また、第２取得部１２によって、分析対象装置２のソフトウエア動作時の消費電力値に係る第２時系列データを含む消費電力ログ５２が測定用ＰＣ５から取得され記憶部１ｂに保存される（図３のステップＳ１２）。ステップＳ１１，Ｓ１２の処理は同時並列的に実行されてもよいし、ステップＳ１２を実行してからステップＳ１１を実行してもよい。なお、「ソフトウエア動作ログ」については、以下の説明や図面において「ソフトログ」または「ソフト動作ログ」と略記する場合がある。また、「消費電力ログ」については、以下の説明や図面において「電力ログ」または「消費電力」と略記する場合がある。
【００５２】
ここで、ソフトウエア動作ログ２２は、分析対象となるイベント（各種イベント）とＣＰＵのスリープイベント（スリープログ）とを第１時系列データとして含む。分析対象となるイベントは、時刻合わせ処理（同期処理）後に分析部１５が消費電力の分析を行なう際に用いられる。ＣＰＵのスリープログは、時刻合わせ処理（同期処理）に用いられる。図５は、ソフトウエア動作ログ２２の一例を示す図である。図５に示すソフト動作ログ２２の時刻は、時計２１によって計時されるＯＳカーネル時刻、つまり本装置１が起動（パワーオン）されてからの経過時間として記録される。各種イベントは、記録された時刻のＯＳカーネルから見たイベントであり、図５に示す例では、“cpu_idle”イベントがＣＰＵスリープログとして用いられる。なお、ソフト動作ログ２２に、分析や時刻合わせに使用しないイベントが含まれていても、処理部１ａ等が参照しないだけで何ら影響は生じない。図５は、ソフトウエア動作ログ２２の一例を示す図である。
【００５３】
また、消費電力ログ５２は、消費電力の計測開始後に所定時間間隔で（分析時間毎に）計測された消費電力値（電流測定データ）を含む。消費電力ログ５２には、消費電力値が、計測時刻に対応付けられ第２時系列データとして記録される。本実施形態では、分析対象装置２内の基板からリード線を引くなどの手法によって分析対象装置２内のＣＰＵの消費電力（電流）を測定可能であるものとする。測定された消費電力値を含む電力ログ５２がソフトログ２２との時刻合わせ処理（同期処理）に用いられる。ＣＰＵ単独の消費電力を測定できない場合には、ＣＰＵの消費電力に代え、バッテリ端子の消費電力等を電力ログ５２の第２時系列データとして測定してもよい。図６は、消費電力ログ５２の一例を示す図である。図６に示す電力ログ５２の時刻は、時計４１または５１によって計時される、測定開始からの経過時刻である。また、図６に示す電力ログ５２では、ＣＰＵの消費電力値のほか、分析対象装置２内の２箇所で測定された消費電力値Ｘ，Ｙの値が記録されている。図６は、消費電力ログ５２の一例を示す図である。
【００５４】
そして、第１取得部１１では、ソフトウエア動作ログ２２から分析対象期間のデータが切り出されるとともに（図３のステップＳ１３）、第２取得部１２では、消費電力ログ５２から分析対象期間のデータが切り出される（図３のステップＳ１４）。ステップＳ１３，Ｓ１４の処理は同時並列的に実行されてもよいし、ステップＳ１４を実行してからステップＳ１３を実行してもよい。
【００５５】
一般に、測定データの先頭および最後には、ノイズや不要なオペレーションが入っているので、分析処理の実行前に削除することが好ましい。通常、特定の操作を行なったときや、特定の事象が発生したときの消費電力を分析することが分析処理の目的である。このため、そのようなイベントや操作が起こる期間に分析対象期間を絞り込むことで、処理時間を短縮するとともに、間違った時刻にログ２２，５２の時刻基準を合わせてしまう誤判定の発生を抑止し、分析精度の向上を実現する。従って、ソフトウエア動作ログ２２の分析対象期間は、時刻合わせを行ないたいイベントが含まれる期間や、時刻合わせに適したイベントが含まれる観点に基づき、ユーザ，オペレータ等によって選択され予め設定され、記憶部１ｂに保存される。また、消費電力ログ５２の分析対象期間も、ソフトウエア動作ログ２２の分析対象期間と同様に選択され予め設定される。
【００５６】
ついで、第１二値化部１３１によって、ソフトウエア動作ログ２２の分析対象期間に含まれるＣＰＵスリープログ（第１時系列データ）が分析時間毎に二値化され、第１二値化データが生成される。また、第１重み設定部１３４によって、第１二値化データに対し、分析時間毎に、ＣＰＵが深いスリープ状態の場合に第１重み情報“１”が設定される（図３のステップＳ１５）。
【００５７】
このとき、第１二値化部１３１は、ソフトウエア動作ログ２２から、分析対象装置２におけるＣＰＵが“動作中”と“スリープ中”とのいずれに遷移したかを示す遷移情報（例えば図５におけるＣＰＵスリープログ参照）を抽出する。ソフトウエア動作ログ２２から抽出された遷移情報（ＣＰＵスリープイベント情報）の例を、図７に示す。また、図７に示すＣＰＵスリープイベント情報（ＣＰＵスリープログ）について動作中を“１”としスリープ中を“０”としてグラフ化した例を、図８に示す。なお、図７において、スリープの浅い／深いは、ＣＰＵのスリープレベル（いわゆるＣステート）を意味する。
【００５８】
そして、第１二値化部１３１は、図８に示すごとく得られたグラフを時刻軸方向に分析時間の間隔で区切り、図９に示すように、それぞれの区間の面積が閾値以上であるか否かに従って、ＣＰＵスリープイベント情報の二値化を行なう。ここで用いられる閾値としては、例えば、上記区間の面積の最大値と上記区間の面積の最小値との平均値を用いる。上記区間の面積の最大値は、図９の区間Ｔ１の面積に対応し、上記区間の面積の最小値は、図９の区間Ｔ３の面積に対応する。この場合、第１二値化部１３１は、区間Ｔ１を“１”とし、区間Ｔ３を“０”とし、区間Ｔ２を上記閾値に基づき“０”または“１”とする。なお、図９は、ＣＰＵスリープイベント情報の二値化手法を説明する図である。
【００５９】
このような二値化手法によって、図７および図８に示す例について、二値化を行なうとともに、第１重み設定部１３４による重み付けを行なった結果を、図１０に示す。第１重み設定部１３４は、図１０に示すごとく二値化されたソフト動作ログ２２に対し、分析時間毎に、ＣＰＵが深いスリープ状態の場合に重みを第１重み情報として付加する。例えば、重みとしては、ＣＰＵが動作中の場合やクロックを停止するだけの浅い眠り（浅いスリープ状態）の場合に“０”が付加される一方、ＣＰＵが電力供給を停止するような深い眠り（深いスリープ状態）の場合に“１”が付加される。このようにして、図１０の下側に示すように、ソフト動作ログ２２について、ＣＰＵが動作中／スリープ中を示す二値化データのビット列と、スリープの深さを示す重み情報のビット列とが得られる。なお、図１０は、図７に示すソフトウエア動作ログ（ＣＰＵスリープログ）２２の二値化結果と当該ソフトウエア動作ログ２２に対する重み情報とを説明する図である。
【００６０】
ついで、第２二値化部１３２によって、分析対象期間の消費電力ログ５２の電力測定データ（第２時系列データ）が分析時間毎に二値化され、第２二値化データが生成される。このとき、第２二値化データは、前述したように、分析時間の消費電力値が第１閾値未満の場合に“０”となる一方、分析時間の消費電力値が第１閾値以上の場合に“１”となる。また、第２重み設定部１３５によって、第２二値化データに対し、分析時間毎に、分析時間の間の消費電力値が第１閾値よりも大きい第２閾値以上である場合に第２重み情報“１”が設定される（図３のステップＳ１６）。
【００６１】
ここで、消費電力ログ５２の電力測定データ（消費電力値）を二値化する場合、消費電力値は、例えば図１１に示すように、横軸が時刻で縦軸が消費電力値のグラフで表現される。そして、第２二値化部１３２は、図１１に示すグラフを時刻軸方向に分析時間の間隔で区切り、それぞれの区間の面積を消費電力として求め、各面積が第１閾値以上であるか否かに従って、消費電力ログ５２の二値化を行なう。第２二値化データは、面積が第１閾値以上である場合に“１”となり、面積が第１閾値未満である場合に“０”となる。ここで用いられる第１閾値としては、例えば、着目中の区間に対し前後近傍の区間の面積の平均値などに基づいて決定される。図１１は、消費電力ログ５２の二値化手法を説明する図である。
【００６２】
さらに、第２重み設定部１３５は、図１１に示すごとく二値化された消費電力ログ５２に対し、分析時間毎に、消費電力が特に高いことを意味する重みを第２重み情報として付加する。「消費電力が特に高い」状態は、例えば、着目中の区間の面積が第１閾値よりも大きい第２閾値以上である場合、あるいは、着目中の区間における消費電力値のピーク値が所定値以上である場合として認識することできる。そして、消費電力が特に高い区間に対しては、重みとして“１”が付加される一方、消費電力が特に高くない区間に対しては、重みとして“０”が付加される。このようにして、図１１の下側に示すように、消費電力ログ５２について、消費電力の高低を示す二値化データのビット列と、消費電力が特に高いか否かを示す重み情報のビット列とが得られる。
【００６３】
なお、上述したステップＳ１５，Ｓ１６の処理は同時並列的に実行されてもよいし、ステップＳ１６を実行してからステップＳ１５を実行してもよい。
【００６４】
この後、ソフト動作ログ２２と消費電力ログ５２との時刻差Ｔの有効範囲が設定される（図３のステップＳ１７）。そして、時刻差Ｔが有効範囲の下限値（最小値）に設定されてから（図３のステップＳ１８）、消費電力分析装置１（処理部１ａ）は、図４に示す一致度評価動作に移行する。ここで、時刻差Ｔの有効範囲は、ユーザ，オペレータ等によって設定されるもので、ソフト動作ログ２２と消費電力ログ５２との時刻差Ｔとしてあり得る範囲を指定するパラメータである。ソフト動作ログ２２の採取と消費電力ログ５２の採取とは、分析対象装置２および消費電力測定装置４（測定用ＰＣ５）の起動に伴いほぼ同時に開始される。このため、ソフト動作ログ２２の時刻基準と消費電力ログ５２の時刻基準との間の、おおよその時刻差は推測することができる。そこで、本実施形態では、当該おおよその時刻差の範囲を時刻差Ｔの有効範囲として予め指定することで、一致度判定の精度を低下させることなく当該一致度判定に要する処理時間の短縮が実現される。
【００６５】
ついで、図４を参照しながら、処理部１ａ（算出部１３３）による一致度判定動作について説明する。
まず、最大一致度maxの値を保持する記憶部１ｂ等の所定領域に、初期値として、一致度の最小値０が設定される（ステップＳ２１）。
【００６６】
そして、算出部１３３は、ソフト動作ログ２２を、消費電力ログ５２に対し、図３のステップＳ１８で設定された時刻差Ｔだけずらし（ステップＳ２２）、ソフト動作ログ２２と消費電力ログ５２との一致度（一致ビット数もしくは一致ビットの割合）を算出する（ステップＳ２３）。また、算出部１３３は、ソフト動作ログ２２に対し重みが付加されているか否かを判断し（ステップＳ２４）、重みが付加されている場合（ステップＳ２４のＹＥＳルート）、後述するように、ソフト動作ログ２２の重みの一致度評価を行なって一致度を補正する（ステップＳ２５）。
【００６７】
ステップＳ２５で一致度の補正を行なった後、もしくは、ソフト動作ログ２２に対し重みが付加されていない場合（ステップＳ２４のＮＯルート）、算出部１３３は、消費電力ログ５２に対し重みが付加されているか否かを判断する（ステップＳ２６）。消費電力ログ５２に対し重みが付加されている場合（ステップＳ２６のＹＥＳルート）、算出部１３３は、後述するように、消費電力グ５２の重みの一致度評価を行なって一致度を補正する（ステップＳ２７）。
【００６８】
ステップＳ２７で一致度の補正を行なった後、もしくは、消費電力ログ５２に対し重みが付加されていない場合（ステップＳ２６のＮＯルート）、算出部１３３は、ステップＳ２８の処理を実行する。ステップＳ２８において、算出部１３３は、ステップＳ２３で算出された一致度が、前記所定領域に保持される、これまでの最大一致度maxよりも大きいか否かを判断する。そして、算出された一致度が最大一致度maxよりも大きい場合、算出部１３３は、前記所定領域の最大一致度maxの値を、ステップＳ２３で算出された一致度に更新するとともに、当該一致度に対応する時刻差Ｔを、最大一致度maxに対応付けて記憶する。この後、算出部１３３は、ステップＳ２９の処理へ移行する。一方、算出された一致度が最大一致度max以下である場合、算出部１３３は、前記所定領域の最大一致度maxの更新を行なうことなく、ステップＳ２９の処理へ移行する。
【００６９】
そして、算出部１３３は、現在の時刻差Ｔに分析時間を加算し（ステップＳ２９）、分析時間を加算された新たな時刻差Ｔが、図３のステップＳ１７で設定された有効範囲内であるか否かを判断する（ステップＳ３０）。新たな時刻差Ｔが有効範囲内である場合（ステップＳ３０のＹＥＳルート）、算出部１３３は、ステップＳ２２の処理に戻り、ステップＳ２２〜Ｓ３０の処理を繰り返し実行する。一方、新たな時刻差Ｔが有効範囲内でない場合（ステップＳ３０のＮＯルート）、マージ部１４は、算出部１３３によって得られた最も一致度の高い時刻差Ｔで、ソフトウエア動作ログ２２と消費電力ログ５２とを共通の時刻情報に対応付けることでマージする（ステップＳ３１）。なお、算出部１３３によって得られた最も一致度の高い時刻差Ｔは、最終的に前記所定領域に保持されている最大一致度maxの値である。
【００７０】
以下、図４を参照しながら上述した一致度評価動作について、図１２〜図１６を参照しながら、より具体的に説明する。
【００７１】
本実施形態では、ソフト動作ログ２２と消費電力ログ５２とを分析時間で区切って二値化したビット列に対し、ビットパタンの一致度が算出される。つまり、時刻差Ｔとしてあり得る有効範囲全体について、ソフト動作ログ２２を消費電力ログ５２に対し分析時間ずつずらしながら一致度が算出され、最も一致度が高い時刻差Ｔが、ソフト動作ログ２２と消費電力ログ５２との時刻差として決定され採用される。
【００７２】
一致度は、図４のステップＳ２３〜Ｓ２７において、算出部１３３により以下の手順(B1)〜(B3)で算出される。
(B1) 算出部１３３は、ソフト動作ログ２２と消費電力ログ５２とのビット列について、両方が有効な区間を比較対象区間とする。
(B2) 算出部１３３は、前記比較対象区間におけるソフト動作ログ２２と消費電力ログ５２とのビット列を比較し、値が一致する割合を、一致度として算出する。
(B3) 算出部１３３は、ソフト動作ログ２２と消費電力ログ５２とのビット列の比較を行なった区間に、重みが“１”のビットがある場合、当該重みを評価し、最終的な一致度を算出し決定する。
【００７３】
上記手順(B3)（図４のステップＳ２５，Ｓ２７）において、重みの一致度評価（一致度の補正）は、算出部１３３により以下の手順(C1)および(C2)で行なわれる。
(C1) 算出部１３３は、ソフト動作ログ２２の重みが“１”の場合、消費電力ログ５２の対応ビットに設定された二値化データの値が“０”であれば、一致度にボーナスを付与し、当該二値化データの値が“０”でなければ、一致度にペナルティを付与する。
(C2) 算出部１３３は、消費電力ログ５２の重みが“１”の場合、ソフト動作ログ２２の対応ビットに設定された二値化データの値が“１”であれば、一致度にボーナスを付与し、当該二値化データの値が“１”でなければ、一致度にペナルティを付与する。
【００７４】
上述した重みの一致度評価におけるボーナスおよびペナルティ（所定補正基準）は、それぞれのログ２２，５２の情報の測定精度などに基づき決定することができる。
例えば、ログ２２，５２における取得データの測定ノイズ等が少なく取得データの精度が高いことが分かっている場合、算出部１３３は、厳しいボーナスおよびペナルティ（補正基準）を設定する。このとき、算出部１３３は、例えば、ボーナスとして一致度に“１”を乗算する一方、ペナルティとして一致度に“０”を乗算する。なお、ペナルティとして一致度に“０”を乗算する場合、ボーナスとして一致度に乗算する値は０よりも大きい値であればよい。即ち、厳しい補正基準では、算出部１３３は、重みの値および二値化データの値が重みの要件（所定条件）を満たさなければ、一致度を“０”に補正する。
【００７５】
一方、ログ２２，５２における取得データの測定ノイズ等が多く取得データの精度が低いことが分かっている場合、算出部１３３は、緩やかなボーナスおよびペナルティ（補正基準）を設定する。このとき、算出部１３３は、例えば、ボーナスとして一致度に１よりも大きな値（例えば１．１）を乗算する一方、ペナルティとして一致度に１よりも小さな値（例えば０．９）を乗算する。
【００７６】
ここで、図１２および図１３を参照しながら、一致度評価の具体例を説明する。
図１２は、時刻差Ｔ＝０の場合の、ソフトウエア動作ログ２２と消費電力ログ５２との一致度の算出例を説明する図である。つまり、図１２では、ソフトウエア動作ログ２２と消費電力ログ５２との時刻をずらさなかった場合のビット列の例が示されている。
【００７７】
図１２に示す例では、ソフト動作ログ２２の７ビットの値のうち３ビット（太枠のビット参照）の値が、消費電力ログ５２の３ビット（太枠のビット参照）の値と一致しているので、一致度は３／７となる。しかし、ソフト動作ログ２２の時刻ｔ＝２において重み“１”が設定されているのに対し消費電力ログ５２の時刻ｔ＝２のビットには“１”が設定されている。つまり、ソフト動作ログ２２で深いスリープ状態を示すタイミングで、消費電力ログ５２では消費電力が第１閾値を超えており、重みの要件（所定条件）が満たされていないので、厳しい補正基準（厳しい重み評価）が採用されている場合、一致度は３／７×０＝０となる。
【００７８】
また、図１３は、時刻差Ｔ＝３の場合の、ソフトウエア動作ログ２２と消費電力ログ５２との一致度の算出例を説明する図である。つまり、図１３では、ソフトウエア動作ログ２２と消費電力ログ５２との時刻を、３単位時間（３分析時間）分、ずらした場合のビット列の例が示されている。
【００７９】
図１３に示す例では、ソフト動作ログ２２の７ビットの値のうち６ビット（太枠のビット参照）の値が、消費電力ログ５２の６ビット（太枠のビット参照）の値と一致しているので、一致度は６／７となる。また、ソフト動作ログ２２の時刻ｔ＝５において重み“１”が設定され、消費電力ログ５２の時刻ｔ＝５のビットには“０”が設定されている。つまり、ソフト動作ログ２２で深いスリープ状態を示すタイミングで、消費電力ログ５２では消費電力が少ない状態を示しており、重みの要件（所定条件）が満たされている。さらに、消費電力ログ５２の時刻ｔ＝６において重み“１”が設定され、ソフト動作ログ２２の時刻ｔ＝６のビットには“１”が設定されている。つまり、消費電力ログ５２で消費電力が特に高い状態を示すタイミングで、ソフト動作ログ２２ではＣＰＵが動作中であることを示しており、重みの要件（所定条件）が満たされている。したがって、厳しい補正基準（厳しい重み評価）が採用されている場合、一致度は６／７×１＝６／７となる。
【００８０】
ここで、本実施形態の「重み」について、図１４を参照しながら詳細に説明する。図１４は、図１３に示す一致度の算出例についての、重み情報による評価（一致度補正）を説明する図である。本実施形態の「重み」とは、各ログ２２，５２の示す波形が特に高い、あるいは、特に低いことを示すものである。
【００８１】
本実施形態では、比較しているログ２２，５２が全く別の物理量であるため、二値化データの値自体には意味がなく、「上がった」か「下がった」かという変化に着目して、ログ２２，５２の比較が行なわれている。ソフト動作ログ２２および消費電力ログ５２の時系列データを二値のビット列にすることで情報量が落とされている。しかし、例えば実際の消費電力波形を見ると明らかなピークが発生する場合があり、このような情報を捨ててしまうのはもったいないと考え「重み」という概念で取り込むことにした。
【００８２】
消費電力ログ５２の「重み」が“１”である、ということは、重み“１”を付与された時刻の消費電力が特に高かったことを意味する。すなわち、このとき、図１４に示すように、分析対象装置２のＣＰＵはスリープ状態でなく動作中（二値化データが“１”）のはずである。そこで、消費電力分析装置１は、消費電力ログ５２の重みが“１”のタイミングでＣＰＵが動作中（二値化データが“１”）であれば、一致度にボーナスをプラスする補正を行なう。当該タイミングでＣＰＵが動作中でなければ（二値化データが“０”）、消費電力分析装置１は、一致度に対しペナルティを課す補正を行なう。
【００８３】
ソフトウエア動作ログ２２の「重み」も同様であり、ソフトウエア動作ログ２２の「重み」が“１”である、ということは、重み“１”を付与された時刻においてＣＰＵは深いスリープ状態であったことを意味する。すなわち、このとき、図１４に示すように、分析対象装置２の消費電力は低い状態（二値化データが“０”）のはずである。そこで、消費電力分析装置１は、ソフト動作ログ２２の重みが“１”のタイミングでＣＰＵの消費電力が低い状態（二値化データが“０”）であれば、一致度にボーナスをプラスする補正を行なう。当該タイミングでＣＰＵの消費電力が高ければ（二値化データが“１”）、消費電力分析装置１は、一致度に対しペナルティを課す補正を行なう。
【００８４】
なお、図１４に示す例は、図１３に示す例と同じデータを示しており、図１３を参照しながら前述したように、時刻ｔ＝５，６で重み“１”が設定されており、いずれの時刻においてもログ５２，２２の二値化データとして期待する値“０”，“１”がそれぞれ設定されている。つまり、図１４に示す例では、重みの値と二値化データの値とが要件（所定条件）を満たしているので、一致度を増大させる補正を行なう、もしくは、一致度を減少させる補正を行なわない。
【００８５】
上述のようにして、一致度が最大になったときの最大一致度maxの値が、ソフト動作ログ２２と消費電力ログ５２との時間差Ｔ（時刻の対応関係）として決定される。時間差Ｔが決定されると、マージ部１４は、決定された時刻差Ｔで、それぞれのログ２２，５２の時刻を一つの基準時刻に合わせて出力する。例えば図１５に示すように、マージ部４は、ソフト動作ログ２２または消費電力ログ５２の時刻を、時間差Ｔだけずらすように補正し、ソフト動作ログ２２と消費電力ログ５２とを並列的に分析用データ（マージ結果）１４１として出力する（ステップＳ４１；図４のステップＳ３１参照）。これにより、分析部１５は、マージ部１４からのマージ結果１４１に基づき２つのログ２２，５２を正確な時刻で突き合わせ、それぞれのログ２２，５２の意味を比較検討することができるようになる。なお、図１５は、本実施形態に係る消費電力分析装置１におけるマージ部１４の動作を説明する図である。
【００８６】
マージ部１４から出力されるマージ結果（分析用データ）１４１の一例を、図１６に示す。図１６では、ソフト動作ログ２２と消費電力ログ５２との時刻を補正して時系列のグラフで出力した例が示されている。図１６に示す例では、スリープ（sleep）状態をはさんで３つのプロセスＡ，Ｂ，Ｃ（procA, procB, procC）を実行した場合、プロセス実行時に消費電力が増大することが示されている。
【００８７】
〔４〕本実施形態の効果
本実施形態によれば、ソフトウエア動作ログ２２（第１時系列データ）と消費電力ログ５２（第２時系列データ）とに基づき、ソフトウエア動作ログ２２と消費電力ログ５２との時刻差が決定される。そして、決定された時刻差に基づき、ソフトウエア動作ログ２２と消費電力ログ５２とが共通の時刻情報に対応付けて出力される。これにより、本実施形態の消費電力分析装置１では、同期マーカ（同期指標）を用いることなく、ログ２２，５２の特性を利用して、ソフトウエアの動作と消費電力の変化とを対応付けて消費電力の分析を行なうことができる。したがって、ソフトウエア動作ログ２２と消費電力ログ５２とを正確に突き合わせて対比することができ、消費電力の分析を高い精度で行なうことが可能になる。
【００８８】
また、本実施形態では、ソフトウエア動作ログ２２と消費電力ログ５２との二値化データに基づきログ２２，５２の一致度を算出するとともに、ＣＰＵのスリープの深さや消費電力が特に高い状態を示す情報が重み情報として導入される。そして、各ログ２２，５２に対して設定された重み情報と、対応するログ２２，５２における二値化データの値とが、所定の要件（所定条件）を満たす場合には、算出された一致度に対しボーナスが付与される。これにより、二値化データどうしのパターンマッチングによって算出される一致度が、各ログ２２，５２の特性に応じた所定の要件を満たすか否かを考慮して補正されるので、ソフト動作ログ２２と消費電力ログ５２との時間差Ｔが、より正確に算出され決定される。
【００８９】
本実施形態では、分析対象装置２の消費電力ログ５２が、外部機器である消費電力測定装置４によって採取されているが、分析対象装置２に組み込まれた電力測定機能によって採取される場合も考えられる。このような場合、ソフト動作ログ２２も消費電力ログ５２も同じ時計２１を用いて採取可能になる。しかし、電力測定機能がスマートフォンなどのように小型の分析対象装置２に組み込まれる場合、電力測定機能を大幅に小型化しなければならず、外部機器を用いて消費電力ログ５２を採取する場合に比べ、消費電力の測定精度が荒くなってしまう。このため、ソフトウエア動作ログ２２と消費電力ログ５２とを正確に突き合わせて対比することができなくなる場合がある。このような場合でも、本実施形態の消費電力分析装置１を用いることで、ソフトウエア動作ログ２２と消費電力ログ５２とを正確に突き合わせて対比することが可能になる。
【００９０】
さらに、本実施形態では、ログ２２，５２における取得データの測定ノイズが少なく取得データの信頼度が高い場合、厳しい補正基準が設定される一方、ログ２２，５２における取得データの測定ノイズが多く取得データの信頼度が低い場合、緩やかな補正基準が設定される。これにより、測定ノイズに応じた補正基準に従って一致度を補正することで測定ノイズ（取得データの信頼度）が考慮されることになり、決定部１３によって決定される時間差Ｔの信頼性を高めることができる。
【００９１】
またさらに、本実施形態では、消費電力分析の対象となりうるイベントや操作が起こる期間に、分析対象期間を絞り込むことで、時刻差Ｔを決定する処理や消費電力分析処理に要する処理時間が大幅に短縮される。また、間違った時刻にログ２２，５２の時刻基準を合わせてしまう誤判定の発生が抑止されるので、分析精度をより向上することができる。
【００９２】
また、前述したように、ソフト動作ログ２２の採取と消費電力ログ５２の採取とは、分析対象装置２および消費電力測定装置４（測定用ＰＣ５）の起動に伴いほぼ同時に開始される。このため、ソフト動作ログ２２の時刻基準と消費電力ログ５２の時刻基準との間の、おおよその時刻差は推測することができる。そこで、本実施形態では、当該おおよその時刻差の範囲を時刻差Ｔの有効範囲として予め指定することで、一致度判定の精度を低下させることなく当該一致度判定に要する処理時間を短縮することができる。
【００９３】
〔５〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００９４】
上述した実施形態では、ＣＰＵスリープ情報についてのソフト動作ログ２２と、ＣＰＵの消費電力ログ５２とを用いて時刻同期を行なう場合について説明したが、本発明は、このようなログの組合せに限定されるものではない。図１７は、本実施形態の応用例を説明する図である。図１７において、No.１は、本実施形態に対応するもので、No.１のログの組合せによれば、ＣＰＵスリープ状態とＣＰＵの消費電力とが一対一に対応するため、確度が高い。
【００９５】
消費電力分析装置１では、例えば、図１７のNo.２のように、バッテリ端子での消費電力ログとＣＰＵスリープログとを比較することもできる。この場合、消費電力は、ＣＰＵの消費電力に、ＣＰＵ以外のデバイス（例えばＧＰＵ（Graphics Processing Unit）などのコンポーネント）の消費電力を合算した値であるため、常に、ＣＰＵスリープログの状態と対応するとは限らない。しかし、通常、ＣＰＵが他デバイスを制御しているので、総じてＣＰＵスリープログと消費電力ログとは対応する傾向があり、許容するパラメータの調整や外乱の少ない測定を行なうことにより、No.２のログの組合せを適用することが可能になる。また、No.２の組合せは、ＣＰＵの消費電力が分析対象装置２全体の消費電力に対して支配的な場合、つまりＩ／Ｏ（Input/Output；入出力装置）をあまり使用していない状況で採用することができる。
【００９６】
同様に、ソフト動作ログ２２としては、ＣＰＵスリープログ以外にも、消費電力の増減と相関のある事象であれば、他の情報を適用することが可能である。例えば図１７のNo.３のように、グラフィック描画処理中に限定して、ＧＰＵ制御ログとバッテリ端子での消費電力ログとをそれぞれログ２２，５２として用い同期処理を行なうことが、精度やパラメタを調整することで可能になる。また、No.３の組合せは、グラフィック関連の消費電力が支配的な状況で採用することができる。
【００９７】
〔６〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得する第１取得部と、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得する第２取得部と、
前記第１取得部によって取得された前記ソフトウエア動作ログの前記第１時系列データと、前記第２取得部によって取得された前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定する決定部と、
前記決定部によって決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力するマージ部と、を有する消費電力分析装置。
【００９８】
（付記２）
前記決定部は、
前記第１時系列データを所定単位時間毎に二値化する第１二値化部と、
前記第２時系列データを前記所定単位時間毎に二値化する第２二値化部と、
前記第１二値化部によって得られた第１二値化データと前記第２二値化部によって得られた第２二値化データとの対応関係を前記所定単位時間ずつずらしながら前記第１二値化データと前記第２二値化データとの一致度を算出し、前記一致度が最大になったときの、前記第１二値化データと前記第２二値化データとの対応関係を、前記時刻の対応関係として算出する算出部と、を有する、付記１記載の消費電力分析装置。
【００９９】
（付記３）
前記第１二値化データは、前記分析対象装置のスリープ中に０、前記分析対象装置の動作中に１となり、
前記第２二値化データは、前記所定単位時間の消費電力値が第１閾値未満の場合に０、前記所定単位時間の消費電力値が前記第１閾値以上の場合に１となり、
前記一致度は、前記第１二値化データと前記第２二値化データとの比較対象区間において前記第１二値化データの値と前記第２二値化データの値とが一致する割合である、付記２記載の消費電力分析装置。
【０１００】
（付記４）
前記決定部は、
前記第１二値化データに対し、前記所定単位時間毎に、深いスリープ状態の場合に第１重み情報を設定する第１重み設定部と、
前記第２二値化データに対し、前記所定単位時間毎に、前記所定単位時間の消費電力値が前記第１閾値よりも大きい第２閾値以上である場合に第２重み情報を設定する第２重み設定部と、をさらに有し、
前記算出部は、前記第１重み情報と前記第２二値化データの値との関係、または、前記第２重み情報と前記第１二値化データの値との関係が所定条件を満たす場合、当該関係が前記所定条件を満たさない場合よりも、前記一致度が大きくなるよう、所定補正基準に従って前記一致度を補正する、付記３記載の消費電力分析装置。
【０１０１】
（付記５）
前記所定条件は、
前記第１重み情報を設定された時点での前記第２二値化データの値が０であること、または、
前記第２重み情報を設定された時点での前記第１二値化データの値が１であることである、付記４記載の消費電力分析装置。
【０１０２】
（付記６）
前記算出部は、前記第１時系列データまたは前記第２時系列データの測定ノイズに応じて、前記所定補正基準を変更する、付記４または付記５に記載の消費電力分析装置。
【０１０３】
（付記７）
前記所定補正基準は、前記測定ノイズが所定基準よりも少ない状態において、前記所定条件を満たす場合には前記一致度に１以上の値を乗算する一方、前記所定条件を満たさない場合には前記一致度に０を乗算する、付記６記載の消費電力分析装置。
【０１０４】
（付記８）
前記所定補正基準は、前記測定ノイズが所定基準よりも多い状態において、前記所定条件を満たす場合には前記一致度に１よりも大きい値を乗算する一方、前記所定条件を満たさない場合には前記一致度に１よりも小さい正値を乗算する、付記６記載の消費電力分析装置。
【０１０５】
（付記９）
処理部が、
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得し、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得し、
前記ソフトウエア動作ログの前記第１時系列データと、前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定し、
決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する、消費電力分析方法。
【０１０６】
（付記１０）
前記処理部が、
前記第１時系列データを所定単位時間毎に二値化し、
前記第２時系列データを前記所定単位時間毎に二値化し、
二値化によって得られた第１二値化データと二値化によって得られた第２二値化データとの対応関係を前記所定単位時間ずつずらしながら前記第１二値化データと前記第２二値化データとの一致度を算出し、前記一致度が最大になったときの、前記第１二値化データと前記第２二値化データとの対応関係を、前記時刻の対応関係として算出する、付記９記載の消費電力分析方法。
【０１０７】
（付記１１）
前記第１二値化データは、前記分析対象装置のスリープ中に０、前記分析対象装置の動作中に１となり、
前記第２二値化データは、前記所定単位時間の消費電力値が第１閾値未満の場合に０、前記所定単位時間の消費電力値が前記第１閾値以上の場合に１となり、
前記一致度は、前記第１二値化データと前記第２二値化データとの比較対象区間において前記第１二値化データの値と前記第２二値化データの値とが一致する割合である、付記１０記載の消費電力分析方法。
【０１０８】
（付記１２）
前記処理部が、
前記第１二値化データに対し、前記所定単位時間毎に、深いスリープ状態の場合に第１重み情報を設定し、
前記第２二値化データに対し、前記所定単位時間毎に、前記所定単位時間の消費電力値が前記第１閾値よりも大きい第２閾値以上である場合に第２重み情報を設定し、
前記第１重み情報と前記第２二値化データの値との関係、または、前記第２重み情報と前記第１二値化データの値との関係が所定条件を満たす場合、当該関係が前記所定条件を満たさない場合よりも、前記一致度が大きくなるよう、所定補正基準に従って前記一致度を補正する、付記１１記載の消費電力分析方法。
【０１０９】
（付記１３）
前記所定条件は、
前記第１重み情報を設定された時点での前記第２二値化データの値が０であること、または、
前記第２重み情報を設定された時点での前記第１二値化データの値が１であることである、付記１２記載の消費電力分析方法。
（付記１４）
前記処理部が、前記第１時系列データまたは前記第２時系列データの測定ノイズに応じて、前記所定補正基準を変更する、付記１２または付記１３に記載の消費電力分析方法。
【０１１０】
（付記１５）
前記所定補正基準は、前記測定ノイズが所定基準よりも少ない状態において、前記所定条件を満たす場合には前記一致度に１以上の値を乗算する一方、前記所定条件を満たさない場合には前記一致度に０を乗算する、付記１４記載の消費電力分析方法。
【０１１１】
（付記１６）
前記所定補正基準は、前記測定ノイズが所定基準よりも多い状態において、前記所定条件を満たす場合には前記一致度に１よりも大きい値を乗算する一方、前記所定条件を満たさない場合には前記一致度に１よりも小さい正値を乗算する、付記１４記載の消費電力分析方法。
【０１１２】
（付記１７）
消費電力の分析を行なうコンピュータに、
分析対象装置の動作履歴にかかる第１時系列データを含むソフトウエア動作ログを取得し、
前記分析対象装置のソフトウエア動作時の消費電力値にかかる第２時系列データを含む消費電力ログを取得し、
前記ソフトウエア動作ログの前記第１時系列データと、前記消費電力ログの前記第２時系列データとに基づき、前記ソフトウエア動作ログと前記消費電力ログとの時刻の対応関係を決定し、
決定された前記時刻の対応関係に基づき、前記ソフトウエア動作ログと前記消費電力ログとを共通の時刻情報に対応付けて出力する、
処理を実行させる、消費電力分析プログラム。
【０１１３】
（付記１８）
前記第１時系列データを所定単位時間毎に二値化し、
前記第２時系列データを前記所定単位時間毎に二値化し、
二値化によって得られた第１二値化データと二値化によって得られた第２二値化データとの対応関係を前記所定単位時間ずつずらしながら前記第１二値化データと前記第２二値化データとの一致度を算出し、前記一致度が最大になったときの、前記第１二値化データと前記第２二値化データとの対応関係を、前記時刻の対応関係として算出する、
処理を前記コンピュータに実行させる、付記１７記載の消費電力分析プログラム。
【０１１４】
（付記１９）
前記第１二値化データは、前記分析対象装置のスリープ中に０、前記分析対象装置の動作中に１となり、
前記第２二値化データは、前記所定単位時間の消費電力値が第１閾値未満の場合に０、前記所定単位時間の消費電力値が前記第１閾値以上の場合に１となり、
前記一致度は、前記第１二値化データと前記第２二値化データとの比較対象区間において前記第１二値化データの値と前記第２二値化データの値とが一致する割合である、付記１８記載の消費電力分析プログラム。
【０１１５】
（付記２０）
前記第１二値化データに対し、前記所定単位時間毎に、深いスリープ状態の場合に第１重み情報を設定し、
前記第２二値化データに対し、前記所定単位時間毎に、前記所定単位時間の消費電力値が前記第１閾値よりも大きい第２閾値以上である場合に第２重み情報を設定し、
前記第１重み情報と前記第２二値化データの値との関係、または、前記第２重み情報と前記第１二値化データの値との関係が所定条件を満たす場合、当該関係が前記所定条件を満たさない場合よりも、前記一致度が大きくなるよう、所定補正基準に従って前記一致度を補正する、
処理を前記コンピュータに実行させる、付記１９記載の消費電力分析プログラム。
【符号の説明】
【０１１６】
１    消費電力分析装置（ＰＣ，コンピュータ）
１ａ    処理部（ＣＰＵ，プロセッサ）
１ｂ    記憶部（メモリ）
１１    第１取得部
１２    第２取得部
１３    決定部（一致度判定部）
１３１    第１二値化部
１３２    第２二値化部
１３３    算出部
１３４    第１重み設定部
１３５    第２重み設定部
１４    マージ部
１４１    分析用データ（マージ結果）
１５    分析部
２    分析対象装置
２１    時計
２２    ソフトウエア動作ログ（システム動作ログ，ソフト動作ログ，ソフトログ）
２３    電源端子（ＶＤＤ）
２４    部品（ＣＰＵ等）
３    電源
４    消費電力装置装置（データロガー）
４１    時計
５    測定用ＰＣ
５１    時計
５２    消費電力ログ（電力ログ，消費電力）
【図１】
2015175630.tif 000003
【図２】
2015175630.tif 000004
【図３】
2015175630.tif 000005
【図４】
2015175630.tif 000006
【図５】
2015175630.tif 000007
【図６】
2015175630.tif 000008
【図７】
2015175630.tif 000009
【図８】
2015175630.tif 000010
【図９】
2015175630.tif 000011
【図１０】
2015175630.tif 000012
【図１１】
2015175630.tif 000013
【図１２】
2015175630.tif 000014
【図１３】
2015175630.tif 000015
【図１４】
2015175630.tif 000016
【図１５】
2015175630.tif 000017
【図１６】
2015175630.tif 000018
【図１７】
2015175630.tif 000019