(57)【要約】  グローバル参照タイミング（１３３）のインジケータは、受信される。機器（１１０）の時間分解の電力消費（１３１）は、受信される。機器（１１０）は、ソフトウェアコードを実行する。ソフトウェアコードの実行および電力消費（１３１）は、電力ログの作成時に、グローバル参照タイミングを基準とする。電力ログは、ユーザに対して出力され得る、または様々な実施形態に従ってメモリに格納され得る。【選択図】図１
2019505895.tif 000002
【特許請求の範囲】
【請求項１】
グローバル参照タイミング（１３３）のインジケータを受信することと、
ソフトウェアコードを実行する機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）の時間分解の電力消費（１３１）のインジケータを受信することと、
電力ログ（５００）の作成時に、前記グローバル参照タイミング（１３３）を、前記ソフトウェアコードの前記実行および前記電力消費の基準とすることと、
を含む、方法。
【請求項２】
さらに少なくとも１のソフトウェアコードを実行するさらに少なくとも１の機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）のさらに少なくとも１の時間分解の電力消費（１３１）のインジケータを受信することと、
前記電力ログ（５００）の作成時に、前記グローバル参照タイミング（１３３）を、前記ソフトウェアコードの前記実行、前記電力消費（１３１）、前記さらに少なくとも１のソフトウェアコードの前記実行、および前記さらに少なくとも１の電力消費の基準とすることと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）は、無線ネットワーク（１１０Ｃ）のアクセスノード（１１０Ｂ）を介して、前記無線ネットワーク（１１０Ｃ）に接続される端末（１１０Ａ）であり、
前記さらに少なくとも１の機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）は、前記アクセスノード（１１０Ｂ）である、
請求項２に記載の方法。
【請求項４】
前記グローバル参照タイミング（１３３）は、リアルタイムクロックである、
請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記グローバル参照タイミング（１３３）は、ネットワークタイムプロトコルまたはプレシジョンタイムプロトコルに従って受信される、
請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記基準とすることは、ゼロタイムスタンプ（５１０）および前記ゼロタイムスタンプ（５１０）に関連する増加時間間隔に基づいている、
請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記基準とすることは、前記機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）のローカル参照タイミングに基づく、
請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記ソフトウェアコードの前記実行のイベントログ（１３２、１３２−１、１３２−２）を受信することと、
前記電力ログの作成時、前記グローバル参照タイミング（１３３）を、前記ソフトウェアコードの前記実行および前記電力消費、の前記イベントログ（１３２、１３２−１、１３２−２）の基準とすることと、
をさらに含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記イベントログ（１３２、１３２−１、１３２−２）は、前記ソフトウェアコードにより実装されたアプリケーション（３０１）のアプリケーションイベント（４０１、４０２、４０３、４０４）を含む、
請求項８に記載の方法。
【請求項１０】
前記イベントログ（１３２、１３２−１、１３２−２）は、前記ソフトウェアコードを実行する前記機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）の少なくとも１のプロセッサ（１１１）のマシンイベントを含む、
請求項８または９に記載の方法。
【請求項１１】
前記イベントログ（１３２、１３２−１、１３２−２）は、前記機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）のローカル参照タイミングのタイムスタンプを含む、
請求項８〜１０のいずれか一項に記載の方法。
【請求項１２】
前記イベントログ（１３２、１３２−１、１３２−２）は、増加伝送時間間隔のシーケンスを実装する通信プロトコルを介して、受信される、
請求項８〜１１のいずれか一項に記載の方法。
【請求項１３】
前記ソフトウェアコードは、マルチコアまたはマルチスレッドの一方もしくは双方のソフトウェアコードである、
請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
少なくとも１のプロセッサ（７１１）により実行可能なプログラムコードを格納するように構成されるメモリ（７１２）と、
前記メモリ（７１２）に結合され、
グローバル参照タイミング（１３３）のインジケータを受信すること、
ソフトウェアコードを実行する機器（１１０、１１０Ａ、１１０Ｂ、１１０Ｃ）の時間分解の電力消費（１３１）のインジケータを受信すること、
電力ログ（５００）の作成時に、前記グローバル参照タイミング（１３３）を前記ソフトウェアコードの前記実行および前記電力消費の基準とすること、
のステップを、前記プログラムコードの前記実行の際に実行するように構成される前記少なくとも１のプロセッサ（７１１）と、
を含む、エンティティ（７１０）。
【請求項１５】
前記エンティティは、請求項１〜１３のいずれか一項に記載の方法を実行するように構成される、
請求項１４に記載のエンティティ。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な実施形態は、電力ログの作成時に、グローバル参照タイミングを、ソフトウェアコードの実行および機器の電力消費の基準とすることを含む方法、並びに対応するエンティティに関する。
【背景技術】
【０００２】
エネルギー消費、電力消費は製品デザインの重要な部分である。特に、インターネットオブシングス（ＩｏＴ；Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の領域において、ますます接続された機器（端末）は、電池式になっていくだろう。例えば、数年以内に、最大５００億の機器がインターネットに地球規模で接続されるだろう。ここで、かなりの割合が、電池エネルギー供給を備えるだろう。
【０００３】
削減された電力消費は、ユーザによる点検の労力を削減し延ばされた充電周期を容易にするために、電池式機器にとって重大である。また、電池式でない主要な供給に接続された機器にとっても、電力消費の削減は望まれる。特に、環境保護および動作コストの削減の観点で、制限された電力消費は、通常有益である。
【０００４】
機器がソフトウェアコードを実行する場合、電力消費と、製品の開発の期間中に増加された電力消費に対しての原因を特定するためのソフトウェアコードのわずかの要素と、を結びつけることが時に困難となる。適合された最適化を行うための課題を解決する詳細な経験および専門知識だけでなく、高価な測定装置が通常は要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
結果的に、電力消費を削減させるソフトウェアコードのデザインを進歩させる開発者に対し、補助および指導を行う賢明で効果的な解決策についての需要が存在している。
【課題を解決するための手段】
【０００６】
この需要は、独立項の特徴により満たされる。従属項は、実施形態を定義する。
【０００７】
様々な実施形態に従って、方法は提供される。方法は、グローバル参照タイミングのインジケータを受信することを含む。方法は、機器の時間分解の電力消費のインジケータを受信することをさらに含む。機器は、ソフトウェアコードを実行する。方法は、電力ログの作成時に、グローバル参照タイミングを、ソフトウェアコードの実行および電力消費の基準とすることをさらに含む。
【０００８】
様々な実施形態に従って、エンティティが提供される。エンティティは、メモリを含む。メモリは、少なくとも１のプロセッサによる実行が可能なプログラムコードを格納するように構成される。少なくとも１のプロセッサは、メモリに結合され、プログラムコードの実行の状態で、グローバル参照タイミングのインジケータを受信すること、ソフトウェアコードを実行する機器の時間分解の電力消費のインジケータを受信すること、電力ログの作成時に、グローバル参照タイミングを、ソフトウェアコードの実行および電力消費の基準とすること、を実行するように構成される。
【０００９】
上述した特徴および以下でこれから説明される特徴は、示される個々の組み合わせに限らず、他の組み合わせにおいても用いられ、または本発明の範囲に依存せず独立してもよいことを理解すべきである。
【図面の簡単な説明】
【００１０】
【図１】図１は、ソフトウェアコードを実行し、ソフトウェアコードの実行時に電力を消費する機器の概略図であり、図１はグローバル参照タイミングを提供する時間サーバをさらに概略的に示す。
【図２】図２は、電力ログの作成時に、グローバル参照タイミングをソフトウェアコードの実行および電力消費の基準とすることを概略的に示す。
【図３】図３は、ソフトウェアコードの実行のイベントログを概略的に示す。イベントログは、ソフトウェアコードを実行する機器のプロセッサのマシンイベントだけでなく、ソフトウェアコードにより実装されるアプリケーションのアプリケーションイベントも含む。
【図４】図４は、さらに詳細なイベントログのアプリケーションイベントを概略的に示す。
【図５】図５は、ソフトウェアコードの実行および電力消費と、グローバル参照タイミングとの間の参照をそれぞれ含む電力ログを概略的に示す。
【図６】図６は、ソフトウェアコードを実行する１番目の機器およびソフトウェアコードを実行する２番目の機器を概略的に示し、１番目の機器は、セルラーネットワークのアクセスノードと無線リンクを介して接続され、２番目の機器は、当該アクセスノードである。
【図７】図７は、メモリおよび少なくとも１のプロセッサを含むエンティティを概略的に示し、少なくとも１のプロセッサは、メモリに格納されたプログラムコードの実行時に、電力ログを作成するステップを実行するように構成される。
【図８】図８は、様々な実施形態に従う方法のフローチャートである。
【発明を実施するための形態】
【００１１】
以下では、本発明の実施形態を、図面を参照して説明していく。以下の実施形態の詳細は、限定的な意味で解釈されるべきではない。本発明の範囲は、以下で説明される実施形態または図面により限定される意図は無く、説明のためだけに与えられる。
【００１２】
図面は、概略的な説明であると見なされるべきであり、図面中に示される要素は必ずしも一定の縮尺で表されるわけではない。それどころか、様々な要素は、それらの作用および通常の目的が当業者にとって明白であるように表されている。図面の中に示され、もしくはこの中で説明されている、機能ブロック、機器、部品、または他の物理的もしくは機能的な一群との間の接続もしくは結合は、間接的な接続もしくは結合によって実装されてもよい。また、部品間の結合は、無線接続越しで確立されてもよい。また、機能ブロックは、ハードウェア、ファームウェア、ソフトウェアもしくはそれらの組み合わせ内で実装されてもよい。
【００１３】
以下、様々な例示的な実施形態が、図面を参照に示される。特に、以下、電力ログの作成の技術が説明される。電力ログは、グローバル参照タイミングと共に、ソフトウェアコードの実行およびソフトウェアコードを実行する機器の電力消費を参照する。
【００１４】
いくつかの例で、電力ログはメモリ、例えば無電圧メモリ、に書き込まれ得る。いくつかの例で、電力ログはユーザに対して、直接的にまたは間接的に、出力され得る。それによって、デバッグ動作は促進される。
【００１５】
グローバル参照タイミングは、機器に依存しなくてよい。すなわち、グローバル参照タイミングは、ソフトウェアコードの実行から独立していることが可能である。例えば、グローバル参照タイミングは、当該機器とは異なるサーバから受信されてもよい。例えば、グローバル参照タイミングは、ネットワークタイムプロトコルまたはプレシジョンタイムプロトコルに従って受信されてもよい。グローバル参照タイミングは、人間が理解できる形、すなわちリアルタイムクロックで現在時刻を明示してもよい。
【００１６】
グローバル参照タイミングを使用することにより、機器の様々な種類および類型のための、電力ログの作成の補助を可能にする柔軟な解決策が提供される。グローバル参照タイミングは、ユーザに提示され得る。例えば、ローカル参照タイミングが使用される機器に依存し得る実装と比較して、異なる数の中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）コアを含む異機種環境などのシステムを含む様々なシステムの補助は、容易になることができる。
【００１７】
図１に関して、ソフトウェアコードを実行する機器１１０およびグローバル参照タイミング１３３のインジケータを提供するネットワークサーバ１２０の態様が示される。機器１１０はプロセッサ１１１、例えばシングルコアＣＰＵまたはマルチコアＣＰＵ、を含む。プロセッサ１１１はメモリ１１２、例えば無電圧メモリ、に結合される。メモリ１１２は、プロセッサ１１１により実行されることが可能な、例えばプロセッサ１１１の構造に依存する、ソフトウェアコードが格納されてもよい。
【００１８】
例えば、ソフトウェアコードの実行は、プロセッサ１１１に１または２以上のアプリケーションを実行させることが可能である。アプリケーションはサービスをユーザに、例えば機器１１０（図１に示されていない）のヒューマンマシンインターフェース（ＨＭＩ；Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）を介して、提供してもよい。アプリケーションは、例えばＭＨＩ、無線リンク上で通信するための無線送受信機、データストレージなど、を含むグループから選択される要素を含む機器のハードウェア表層の制御を含んでもよい。例えば、ＨＭＩは、発光ダイオード（ＬＥＤ；Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）、発声インターフェース、ディスプレイ、タッチセンサディスプレイ、マウス、トラックボール、キーボード、などを含むグループから選択される要素を含んでもよい。また、アプリケーションは、データ操作またはデータ計算の一方もしくは双方の実行を含み得る。上で概説された様々なタスクは、アプリケーションにより時間の経過と共に、順次または平行的の一方もしくは双方で実行され得る。これは、機器１１０の時間変化の電力消費の原因となり得る。
【００１９】
機器１１０の電力消費は、ソフトウェアコードにより実装されたアプリケーションにより実行されるタスクの数および類型を変化させることと同時に、時間の変化と共に変化し得る。機器１１０は、例えば交流電流または直流電流によって、電力１３１を受け取る電力供給１１３を含む。例えば、電力供給１１３は電流１３１を主要な電池、または例えば変圧器（図１に示されていない）を含む供給から、受信することが可能である。当該電流は、例えば動作電圧と合わさった、機器１１０の電力消費を示すことができる。
【００２０】
機器１１０の時間分解の電力消費の各々のインジケータを受信することが可能である。例えば、代わりにまたは追加で、主要な供給または電池は、各々の制御インターフェースを介してインジケータを提供してもよい。他の例では、代わりにまたは追加で、機器１１０に実装されるオンチップ診断が使用されることが可能である。またさらなる例では、代わりにまたは追加で、各々の電流計または電圧計は、電力供給１１３を与える信号経路内で提供される。インジケータは、機器または測定装置のローカル参照タイミングでのタイムスタンプまたはサンプリングレートの一方もしくは双方により確認される、ある時点での電力消費を、明確にまた暗に明示する時間サンプルを含み得る。電力消費１３１のインジケータのサンプリングレートは、固定でもよく、または時間の経過と共に変化してもよい。
【００２１】
また、機器１１０は、制御インターフェース１１４を含む。制御インターフェース１１４は、ソフトウェアコードの実行のイベントログを出力するように構成される。イベントログは、ソフトウェアコードの実行時に、プロセッサ１１１により実行される、あるイベントまたはタスクを強調してもよい。イベントログ１３２は、そのようなものとして、当該ソフトウェアコードの実行を示してもよい。イベントログのイベントは、ローカル参照タイミングのタイムスタンプが存在するイベントと関連があり、そのような関連付けはローカル参照タイミングのタイムスタンプをイベントに書き加えること、または時間較正されているイベントログを提供するための通信プロトコルを使用すること、の一方もしくは双方により実現されてもよい。例えば、タイムスタンプは、例えばプロセッサ１１１のＣＰＵクロック周波数に基づく、ＣＰＵクロック周期に由来してもよい。制御インターフェース１１４は、異なる通信プロトコル、例えばＵＡＲＴまたはＴＣＰ／ＩＰ、に従って動作してもよい。
【００２２】
ところで、グローバル参照タイミング１３３のインジケータを提供するネットワークサーバ１２０を参照すると、ネットワークサーバ１２０は、グローバル参照タイミングを生成するクロック１２１を含む。例えば、クロック１２１は、ネットワークサーバ１２０のローカルクロックでもよく、また、例えば原子時計を基に動作する標準化された基準時計と同期されていてもよい。例えば、クロック１２１から提供されるグローバル参照タイミングは、リアルタイムクロックであることが可能であり、リアルタイムクロックは、人間が理解可能な単位で時間を計ってもよい。
【００２３】
ネットワークサーバ１２０は、各々のインターフェース１２２を介して、グローバル参照タイミング１３３のインジケータを出力するように構成される。グローバル参照タイミング１３３のインジケータは、種々の例の中で種々の形式を用いることが可能である。例えば、いくつかの例で、グローバル参照タイミング１３３のインジケータは、インターネットタイム、すなわちそれぞれのフィールドが例えば２桁の精度を持つ”時間：分：秒：ミリ秒”、の形式である。インターフェース１２２は、異なる通信プロトコル、例えばＵＡＲＴまたはＴＣＰ／ＩＰ、に従って動作してもよい。
【００２４】
ネットワークサーバ１２０により提供されるグローバル参照タイミング１３３が機器１１０から独立していて、特にプロセッサ１１１によるソフトウェアコードの実行から独立している、ことが可能であることは図１から明らかである。
【００２５】
図２は、電力ログ５００の作成時に、グローバル参照タイミング１３３をソフトウェアコードの実行および電力消費の基準とすることの態様を示す。図２に概略的に示されているように、時間分解の電力消費１３３のインジケータ、イベントログ１３２、およびグローバル参照タイミング１３３のインジケータは、当該参照を実装する同期関数に全て送り込まれる。電力ログ５００は、同期関数から出力される。
【００２６】
次に、電力ログ５００は、格納されるかユーザへ出力され得る。いくつかの例で、同期関数それ自体は、ユーザに対し示される電力ログ５００の出力画像を表示する部分でもよい。通常、同期関数は、プロセッサにより実行されるソフトウェアコードとして実装されてもよく、またはハードウェア中の少なくとも一部に実装されてもよい。
【００２７】
図２に概略的に示される同期関数は、種々のタスクを実行してもよい。同期関数は、グローバル参照タイミング１３３を持つ時間分解の電力消費１３１のインジケータまたはイベントログの一方もしくは双方と関連があるローカル参照タイミング（図２には示されていない）をマッピングする可能性がある。そのようなものとして、ソフトウェアコードの実行およびグローバル参照タイミング１３３の電力消費の当該基準とすることは、機器１１０のローカル参照タイミングに基づく可能性がある。
【００２８】
代わりにまたは追加で、同期関数は、グローバル参照タイミング１３３を基準とすること、を容易にするために、時間分解の電力消費１３１のインジケータ、またはイベントログ１３２の入力の一方もしくは双方が利用可能であるサンプル点の補完を実行してもよい。
【００２９】
代わりにまたは追加で、同期関数は、時間分解の電力消費１３１のインジケータまたはイベントログ１３２の一方もしくは双方からの不要なデータを取り除くための１または２以上のフィルタを実装することが可能である。
【００３０】
上で明らかにされたように、いくつかの例で、イベントログのうちの種々のイベントは、機器１１０のローカル参照タイミングに関連する可能性がある。ここで、グローバル参照タイミングをイベントログの基準とすることの詳細が説明される。グローバル参照タイミング１３３をソフトウェアコードの実行の基準とすることは、ローカル参照タイミングをグローバル参照タイミングに対してマッピングすることを含み得る。ローカル参照タイミングをマッピングするそのような技術について、種々の技術が考えられる。
【００３１】
マッピングは、グローバル参照タイミング１３３の各々のタイムスタンプが付いているゼロタイムスタンプを手動で並べてもよい。参照それ自体は、ゼロタイムスタンプに基づいてもよい。ゼロタイムスタンプは、ソフトウェアコードの実行またはイベントログの作成の開始を記録してもよい。代わりにまたは追加で、ゼロタイムスタンプは、イベントログで簡単に確認され得る特徴的なイベントの実行の時点と関係があってもよい。
【００３２】
参照は、ゼロタイムスタンプに関係する増加時間間隔にさらに基づいてもよい。例えば、ゼロタイムスタンプに対するデルタ時間は、イベントログがイベントを提供する所定の固定時間間隔に依拠することにより推定されてもよい。また、ゼロタイムスタンプに対するデルタ時間は、イベントログ内のイベントに関連するタイムスタンプの相対的な時間の違いに依拠することにより推定されてもよく、タイムスタンプが機器１１０のローカル参照タイミングで定義され得る事実と関わりが無い。
【００３３】
さらなるシナリオにおいて、イベントログ１３２、１３２−１、１３２−２は、増加伝送時間間隔のシーケンスを実装する通信プロトコルを介して、受信されることが可能である。特に、伝送時間間隔は、固定長でもよい。一例は、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）プロトコルであり得る。そのようなＵＡＲＴプロトコルは、例えばＲＳ−２３２に従う、シリアル通信インターフェースを実装してもよい。その結果、例えばゼロタイムスタンプのような参照タイムスタンプがグローバル参照タイミングにマッピングされる場合は、さらなるイベントのタイムスタンプは、デルタ時間としての参照タイムスタンプに関する増加伝送時間間隔の固定長を考慮に入れると、容易に推測され得る。
【００３４】
図３は、イベントログ１３２、１３２−１、１３２−２の態様をさらに詳細に示す。特に、図３に示されているように、イベントログ１３２は、種々の抽象レベルまたは粒度レベルの一方もしくは双方を含むことが可能である。
【００３５】
例えば、イベントログ１３２は、ソフトウェアコードにより実装されるアプリケーション３０１のアプリケーションイベントを含む高レベルログ１３２−１を含むことができる。アプリケーションイベントは、機器１１０のユーザによる知覚が可能な機器１１０の動作に、影響を及ぼすイベントでもよい。
【００３６】
代わりにまたは追加で、イベントログ１３２は、ソフトウェアコードを実行する機器１１０のマシン層３０２のマシンイベントを含む低レベルログ１３２−２を含むことができる。例えば、マシン層３０２は、プロセッサ１１１により実装されることが可能である。例えば、マシン層３０２は、例えばブール演算、算術演算、キャッシュ読み書き動作などの低レベルマシンイベントを実装することができる。例えば、いくつかの例で、低層イベントログ１３２−２は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）標準１１４９．１に従うＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）で実装される。
【００３７】
従って、上での内容からも分かるように、異なるログ１３２−１、１３２−２は、異なる抽象レベルを実装してもよく、すなわちＪＴＡＧに基づく低レベルイベントログ１３２−２は、マシン語の低レベルで起こっていることを示す一方で、ユーザの視点から何故各々の低レベルイベントログ１３２−２が発生したのかを推測することが容易ではない。他方では、そのような情報は、高レベルアプリケーションに基づくイベントログ１３２−１から容易に推測され得る。
【００３８】
図４は、ソフトウェアコードにより実装されるアプリケーション３０１のアプリケーションイベント４０１−４０４を含む高レベルイベントログ１３２−１の態様を概略的に示す。図４に示されているように、対応するイベントは、より低いレベルのマシンイベントの要約であり、例えばｐｏｗｅｒ  ｏｎ４０１、ｓｏｃｉａｌ  ｎｅｔｗｏｒｋ  ａｐｐｌｉｃａｔｉｏｎ  ｓｔａｒｔｅｄ４０２、ｏｐｅｎｉｎｇ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｐｏｒｔ４０３、ｔｕｒｎｉｎｇ  ｏｎ  ＬＥＤ４０４、と関連がある。そのようなイベントは、ユーザ経験に影響を与える。
【００３９】
図５は、電力ログ５００の態様を示す。図５は、電力ログ５００のグラフ描写である。他の例では、電力ログ５００のグラフ描写を提供する代わりに、電力ログ５００のテキスト描写またはテキストとグラフとが混じった描写、の一方もしくは双方が提供されてもよい。電力ログ５００は、ユーザに出力され得て、またファイルとしてメモリに格納され得る。
【００４０】
電力ログ５００は、複数の機器の電力消費１３１とソフトウェアコードの実行との間の参照を含む。図５の例において、図５の電力ログ５００は、１番目の機器１１０Ａ（図５中の実線）および２番目の機器１１０Ｂ（図５中の破線）について、時間の関数としての電力消費１３１を示す。
【００４１】
電力ログ５００のイベント４０１−４０４は、機器１１０Ａ、１１０Ｂ両方に関連している。そのようなものとして、電力消費１３１および、各々の機器１１０Ａ、１１０Ｂによるソフトウェアコードの実行のイベントログ１３２、１３２−１、１３２−２は、電力ログ５００の作成時に、グローバル参照タイミングが基準となり、図５の例において、当該基準とすることは、各々の機器１１０Ａ、１１０Ｂによるソフトウェアコードの実行のイベントログ１３２、１３２−１、１３２−２の先頭に対応するゼロタイムスタンプ５１０に基づく。しかしながら、他の例では、上述した当該参照とは別の技術が使用されてもよい。
【００４２】
図５に示すように、電力ログ５００は、電力消費１３２が時間と共に変化することを示す。特に、イベント４０１−４０４に応じて、電力消費１３１の特有な変化が観測される。そのような電力ログ５００により示される電力消費１３１の変化は、ソフトウェアコードにより実装されるアプリケーションの全体的な電力消費の削減を達成するために、ソフトウェアコードを調整する目的での使用が可能である。
【００４３】
図５に示すように、１番目および２番目の機器１１０Ａ、１１０Ｂの電力消費１３１は同期される。これは、１番目および２番目の機器１１０Ａ、１１０Ｂにより実行されるアプリケーションが２つの時間コヒーレントアプリケーションを実装していることが理由であり得る。例えば、機器１１０Ａ、１１０Ｂにより実行される当該アプリケーションは、お互いの間の通信を実装してもよい。
【００４４】
図６は機器１１０Ａ、１１０Ｂの態様を示す。図６の例において、１番目の機器１１０Ａは無線ネットワーク１１０Ｃのアクセスノード１１０Ｂとの無線リンクを介して取り付けられる端末である。２番目の機器は、アクセスノード１１０Ｂである。また、さらなる例において、電力ログ５００は、無線ネットワーク１１０Ｃのコアのもうひとつのノードのために作成される可能性がある。
【００４５】
図５および図６に示すように、電力ログ５００は、グローバル参照タイミング１３３を、１番目の機器１１０Ａのソフトウェアの実行、１番目の機器１１０Ａの電力消費１３１、２番目の機器１１０Ｂのソフトウェアの実行、２番目の機器１１０Ｂの電力消費１３１全ての基準とすることにより作成される。複数の機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃに関する構成を含むそのような電力ログ５００の作成は、グローバル参照タイミング１３３により容易となる。特に、機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃのうちのひとつのローカル参照タイミングが使用される場合のシナリオと比べると、ローカル参照タイミングへ影響を及ぼす低レベルマシンイベントの固有な独立性への当該基準とすることを実装することが可能である。グローバル参照タイミング１３３が使用される場合に、複数の機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃ間の相互運用が保証される。ローカル参照タイミングは、プログラムカウンタ仕様でもよく、例えば異なるマシン上でマルチコアまたはマルチスレッドの一方もしくは双方のソフトウェアの実行により、影響を受けるかもしれない。機器固有の特性に由来する時間の相違は、グローバル参照タイミング１３３を依拠とするときには、回避が可能である。さらに、グローバル参照タイミング１３３を依拠とすることにより、関係のある機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃのローカル参照タイミングを同期することに必要とされる制御シグナリングが減少する可能性がある。それによって、同期のための制御シグナリングに起因する、そのような時間分解の電力消費１３１中の不正確さが減少する可能性がある。
【００４６】
図７は、本明細書で説明された電力ログ５００を作成するための技術を実装するように構成されるエンティティ７１０に関する態様を示す。エンティティ７１０は、プロセッサ７１１およびメモリ７１２を含む。エンティティ７１０は、ヒューマンマシンインターフェース（ＨＭＩ；Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）（図７には示されていない）をさらに含み、ＨＭＩを介して、エンティティ７１０は、ユーザへ電力ログ５００が出力し得る。例えばＨＭＩは、音声インターフェース、画像インターフェース、ディスプレイ、マウス、キーボード、トラックボール、タッチスクリーン、を含むグループから選択される要素を含んでもよい。
【００４７】
メモリ７１２は、プロセッサ７１１により実行されることが可能なプログラムコードを格納するように構成される。プロセッサ７１１は、メモリ７１２に結合され、電力ログ５００の作成に関して、ここで示される技術を実施するように構成される。
【００４８】
例えば、プロセッサ７１１が、メモリ７１２に格納されたプログラムコードを実行するとき、これは図８のフローチャートにより示される方法の実行を引き起こしてもよい。
【００４９】
最初に、１００１で、グローバル参照タイミング１３３のインジケータが、例えばネットワークタイムプロトコルまたはプレシジョンタイムプロトコルを介して受信される。グローバル参照タイミング１３３はリアルタイムクロック、すなわち人間が理解可能な形式で現在の時間を明示するクロックでもよい。グローバル参照タイミング１３３は、機器から独立していて、すなわち機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃのクロック周期から独立してもよい。
【００５０】
いくつかの例で、方法は、時間分解の電力消費１３１のインジケータを決定することをさらに含んでもよい。ここで、例えば各々の測定装置は、関連があってもよい。
【００５１】
次に、１００２で、増加伝送時間間隔のインジケータは、受信される。１００２で、各々の記録された機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃの電力消費のためのインジケータは、受信されてもよい。
【００５２】
いくつかの例で、方法は、時間分解の電力消費１３１のインジケータを決定すること、をさらに含んでもよい。ここで例えば、各々の測定装置は関係してもよい。
【００５３】
インジケータは、増加伝送時間間隔のシーケンスを実装する通信プロトコルを介して、１００２で受信されることが可能であり、例えば、電力消費１３１は、対応する固定の時間間隔でサンプリングされてもよい。従って、ゼロタイムスタンプ５１０、および伝送時間に対応するゼロタイムスタンプ５１０に関係がある増加伝送時間間隔に基づくグローバル参照タイミング１３３を用いて電力消費１３１を同期させることは可能である。他の例では、電力消費１３１のインジケータは、例えばローカル参照タイミング内の、タイムスタンプをすでに含んでいる可能性がある。ここで、ローカル参照タイミングは、再びゼロタイムスタンプ５１０に基づき得るグローバル参照タイミングと同期してもよい。
【００５４】
１００３で、電力ログ５００は作成される。これのために、ソフトウェアコードの実行は、グローバル参照タイミングが基準となり、さらに電力消費１３１も、上記で説明したグローバル参照タイミングが基準となる。
【００５５】
ソフトウェアコードの実行は、種々のプロパティによる種々のサンプルで特徴付けられ得る。例えば、いくつかの例で、ソフトウェアコードの実行は、例えばソフトウェアコードにより実装されるアプリケーション３０１のアプリケーションイベント、またはソフトウェアコードを実行する機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃの少なくとも１のプロセッサ１１１のマシンイベント、の一方もしくは双方を含むイベントログ１３２、１３２−１、１３２−２により特徴付けられてもよい。さらなる例では、ソフトウェアコードの実行は、ソフトウェアコードのペイロードデータの出力、ソフトウェアコードによる通信メッセージの出力、ソフトウェアコードにより実行される読み書き動作、ソフトウェアコードにより制御される機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃの知覚動作状態、などにより特徴付けられてもよい。そのようなプロパティは、ソフトウェアコードそれ自身が、少なくとも１のサンプルでのイベントログを提供することについてのデバッグ機能を提供することが要求されないように、外部からサンプリングされて、また検査される。いくつかの例で、方法は、イベントログを決定することをさらに含んでよい。
【００５６】
方法は、ユーザに対する電力ログ（図８に示されていない）を出力することをさらに含んでよい。電力ログをユーザに対して出力する場合に、１００３で電力ログを作成することは、出力を描画することの一部でもよい。例えば、図５で開示されたグラフ描写は、ユーザに対し出力されてもよい。代わりにまたは追加で、電力ログのテキスト表現が出力されてもよい。
【００５７】
例えば、ユーザに対するアウトプットは、ユーザとの相互作用を含んでもよい。例えば、ユーザは、ある所定の一定条件が満たされた場合にソフトウェアコードの実行を停止させるブレイクポイントを設定してもよい。例えば、ブレイクポイントは、電力消費のある閾値を超える電力消費１３１、あるアプリケーションまたはマシンイベント４０１−４０４の一部もしくは双方の実行、もしくはそれらの論理的な結合と対応することが可能である。ブレイクポイントは、例えばある所定の閾値未満の電圧およびある所定の閾値より大きい電流、などの論理演算により結び付けられることが可能な複数のトリガを含むことができる。ブレイクポイントによって、増加した電力消費の原因を明らかにすることが可能となる。上で示されたブレイクポイントを提供することで、ソフトウェアコードによって比較的高い電力消費１３１を引き起こすソフトウェアコードのブロックを明らかにするステップを実装することにより、電力消費のデバッグを実装することができるようになる。これに関して、デバッグの既知の技術を実装できる。
【００５８】
また、前述したユーザに対するアウトプットは、フィルタ動作を含むことも可能であり、例えば、電力ログ５００は、イベント４０１−４０４のある特定の類型、所定の範囲に存在するかまたは所定の値と等しい電力消費１３１、ユーザに対する情報の出力をある機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃに制限すること、など用のフィルタでもよい。
【００５９】
上述した電力ログ５００を出力する技術によって、イベント４０１−４０４の全く同一のフローに基づく電力ログ５００の複数のビューを示すことが可能である。特に、複数のビューは、電力ログ５００が作成される種々の機器１１０、１１０Ａ、１１０Ｂ、１１０Ｃに焦点を当ててもよい。
【００６０】
まとめると、電力ログを作成することの技術が上で示された。電力ログは、１または２以上の機器によるソフトウェアコードの実行により引き起こされる電力消費のために作成される。グローバル参照タイミングの使用に基づいて、複数の機器の電力消費を１つの電力ログに統合することが可能である。それによって、異なる見方からのある同時に起こるあるイベントフローの反映を可能とするアラインメントが容易となる。特に、受信機または送信機のような内側に関連する機器によるソフトウェアコードの実行が電力ログによって記録される場合、電力消費全体を削減するための強力な道具は実現される。
【００６１】
グローバル参照タイミングを、電力消費およびソフトウェアコードの実行の基準とすることのために、機器固有のローカル参照タイミングとグローバル参照タイミングとを同期させることが求められる可能性がある。様々な機器の電力消費またはソフトウェアコードの実行の一方もしくは双方と関係があり得るローカル参照タイミングの同期は、ゼロタイムスタンプと関係がある特徴的なイベントの確認またはＨＭＩを介して手動の同調、の一方もしくは双方に基づいて実行されることが可能である。
【００６２】
ユーザに対するイベントログの出力は、グローバル参照タイミングの使用に基づいて、２番目の機器と関連するイベントに対する、１番目の機器と関連するクロスリンクを可能とする。ブレイクポイントは、論理演算に基づいて結合され得る１または２以上の所定の基準に基づいて、実装されることが可能である。
【００６３】
本発明が、ある好適な実施形態に関連して説明されたが、本範囲は添付の特許請求の範囲だけに限定されない。
【００６４】
例えば、無線リンクおよび対応するアクセスノードを介して無線ネットワークに接続される端末に対しての参照が行われたが、一方で他の例では、電力ログが機器の様々な種類および類型について作成されることも可能である。例えば、いくつかの例で、端末またはアクセスノードは、３ＧＰＰ（Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）プロトコルに従って実装されてもよく、そのような方法で、ユーザ機器（ＵＥ）ｅＮＢ（Ｅｖｏｌｖｅｄ  Ｎｏｄｅ  Ｂ）システムを実装してもよい。他の例では、端末またはアクセスノードは、ＩＥＥＥ８０２．１１ｘプロトコルに従って動作してもよく、ＳＴＡ（ｓｔａｔｉｏｎ）およびＡＰ（ａｃｃｅｓｓ  ｐｏｉｎｔ）のＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）システムを実装してもよい。他の技術は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、家庭内ネットワークでのＴｈｒｅａｄ技術またはＺｉｇｂｅｅ（登録商標）技術の一方もしくは双方、並びにサーバおよびクライアントのようなインターネットに接続される機器も含む。
【図１】
2019505895.tif 000003
【図２】
2019505895.tif 000004
【図３】
2019505895.tif 000005
【図４】
2019505895.tif 000006
【図５】
2019505895.tif 000007
【図６】
2019505895.tif 000008
【図７】
2019505895.tif 000009
【図８】
2019505895.tif 000010
【国際調査報告】
2019505895.tif 000011
2019505895.tif 000012