(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-06
(54)【発明の名称】アプリケーション用の環境影響電力消費レーティング
(51)【国際特許分類】
G06F 11/30 20060101AFI20240730BHJP
【FI】
G06F11/30 162
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023575368
(86)(22)【出願日】2022-06-01
(85)【翻訳文提出日】2024-01-24
(86)【国際出願番号】 US2022031686
(87)【国際公開番号】W WO2023003634
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ペリマン,マルクス ヘンリー
(72)【発明者】
【氏名】ラガルド,ピエール クリストフ
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ08
5B042JJ29
5B042MC22
5B042MC38
5B042NN04
(57)【要約】
電力消費レーティングを生成するためのシステム及び方法は、複数のアプリケーションに対応する計装データを受信することを含む。受信した計装データを処理することによって、複数のアプリケーションの各アプリケーションに関する相対的な電力消費値が計算される。各アプリケーションの相対的な電力消費値が比較され、比較に基づいて、各アプリケーションの電力消費レーティングが生成され、それによって、容易に評価することができるアプリケーションの電力消費の視覚的指標が提供される。
【特許請求の範囲】
【請求項1】
電力消費レーティングを生成するためのコンピュータ化された方法であって、
複数のアプリケーションに対応する計装データを受信することと、
前記受信した計装データを処理することによって、前記複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの前記相対的な電力消費値を比較することと、
前記比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
を含む、コンピュータ化された方法。
【請求項2】
前記複数のアプリケーションの各アプリケーションを複数のカテゴリのうちの1つ又は複数のカテゴリに分類することと、各カテゴリ内でのみ前記比較することを行うことと、をさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項3】
前記相対的な電力消費値を正規化することであって、前記正規化することが、定義された期間及び複数のユーザの少なくとも一方にわたって行われる、ことをさらに含む、請求項1又は2に記載のコンピュータ化された方法。
【請求項4】
前記電力消費レーティングの前記生成を定期的に行うことによって、前記アプリケーションのうちの少なくとも1つに関する、更新された電力消費レーティングを生成することをさらに含む、請求項1~3のいずれか一項に記載のコンピュータ化された方法。
【請求項5】
前記電力消費レーティングをユーザに表示することであって、前記ユーザが、消費者又はソフトウェア開発者の一方である、ことをさらに含む、請求項1~4のいずれか一項に記載のコンピュータ化された方法。
【請求項6】
前記受信した計装データを処理することによって相対的な電力消費値を計算することが、受信した計装データを合計すること及び平均化することの少なくとも一方を含む、請求項1~5のいずれか一項に記載のコンピュータ化された方法。
【請求項7】
前記計装データが、遠隔測定データ、ネットワーク使用量データ、ディスプレイ使用量データ、ディスクアクティビティデータ、及びアプリケーション使用量データのうちの少なくとも1つを含む、請求項1~6のいずれか一項に記載のコンピュータ化された方法。
【請求項8】
電力消費レーティングを生成するためのシステムであって、前記システムが、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを備えた少なくとも1つのメモリと、を備え、前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを用いて、
複数のアプリケーションに対応する計装データを受信することと、
前記受信した計装データを処理することによって、前記複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの前記相対的な電力消費値を比較することと、
前記比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
を前記少なくとも1つのプロセッサに行わせるように構成される、システム。
【請求項9】
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを用いて、前記複数のアプリケーションの各アプリケーションを複数のカテゴリのうちの1つ又は複数のカテゴリに分類することと、各カテゴリ内でのみ前記比較することを行うことと、を前記少なくとも1つのプロセッサに行わせるように構成される、請求項8に記載のシステム。
【請求項10】
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを用いて、前記相対的な電力消費値を正規化することであって、前記正規化することが、定義された期間及び複数のユーザの少なくとも一方にわたって行われる、ことを前記少なくとも1つのプロセッサに行わせるように構成される、請求項8又は9に記載のシステム。
【請求項11】
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを用いて、前記電力消費レーティングの前記生成を定期的に行うことによって、前記アプリケーションのうちの少なくとも1つに関する、更新された電力消費レーティングを生成することを前記少なくとも1つのプロセッサに行わせるように構成される、請求項8~10のいずれか一項に記載のシステム。
【請求項12】
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを用いて、前記電力消費レーティングをユーザに表示することであって、前記ユーザが、消費者又はソフトウェア開発者の一方である、ことを前記少なくとも1つのプロセッサに行わせるように構成される、請求項8~11のいずれか一項に記載のシステム。
【請求項13】
前記受信した計装データを処理することによって相対的な電力消費値を計算することが、受信した計装データを合計すること及び平均化することの少なくとも一方を含む、請求項8~12のいずれか一項に記載のシステム。
【請求項14】
前記計装データが、遠隔測定データ、ネットワーク使用量データ、ディスプレイ使用量データ、ディスクアクティビティデータ、及びアプリケーション使用量データのうちの少なくとも1つを含む、請求項8~13のいずれか一項に記載のシステム。
【請求項15】
プロセッサによる実行時に、少なくとも、
複数のアプリケーションに対応する計装データを受信することと、
前記受信した計装データを処理することによって、前記複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの前記相対的な電力消費値を比較することと、
前記比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
を前記プロセッサに行わせる、電力消費レーティングを生成するためのコンピュータ実行可能命令を有する1つ又は複数のコンピュータストレージ媒体。
【発明の詳細な説明】
【背景技術】
【0001】
背景
コンピューティングデバイスによる総電力使用量は、デバイスの数、デバイスの種類、及び利用可能なアプリケーションの増加に伴い、増加し続けている。多くの場合、アプリケーションのユーザ及びアプリケーションの設計者は、コンピューティングデバイスによる電力使用量、特にコンピューティングデバイス上で実行されているアプリケーションに関する電力使用量について意識していない。そして、ユーザ又は開発者が、環境に対する影響を低減するために、デバイス上で実行されているアプリケーションに由来する電力使用量を削減したいと望んだとしても、特定の変更(例えば、アプリケーションの使用量の変更又はアプリケーションの設計変更)による影響を決定する方策がない。すなわち、ユーザ及び開発者は、使用量又は設計の変更と電力消費との間の具体的な相関関係を決定することができない。そのため、ユーザ及び開発者は、アプリケーションの使用量及び/又は設計の変更による電力消費への影響について意識していない。そのため、2つ以上のアプリケーションが類似の能力を提供する場合、現在のところ、ユーザが環境影響に基づいて、十分に情報を得た上でアプリケーションを選ぶ方策がない。
【0002】
したがって、ユーザ又は設計者は、特定のアプリケーション又はアプリケーションの特徴をオフにすること、又は無効にすることはできるが、それらの変更による環境影響を知る方策はない。例えば、アプリケーションの使用量挙動の変更、アプリケーションの設計の変更、アプリケーションの特徴の変更などによる電力使用量に対する影響を決定する方策はない。
【発明の概要】
【0003】
概要
本概要は、詳細な説明において以下にさらに記載する、選ばれた概念を簡略化した形で紹介するために提供されるものである。本概要は、特許請求される主題の主要な特徴又は必須の特徴を識別することを意図したものではなく、特許請求される主題の範囲を決定する際の助けとして使用されることを意図したものでもない。
【0004】
電力消費レーティングを生成するためのコンピュータ化された方法は、複数のアプリケーションに対応する計装データを受信することと、受信した計装データを処理することによって、複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、を含む。コンピュータ化された方法は、各アプリケーションの相対的な電力消費値を比較することと、比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、をさらに含む。
【0005】
付随する特徴の多くは、添付の図面との関連で考慮される以下の詳細な説明を参照することによって、より良く理解されるようになるにつれて、よりたやすく認識されるであろう。
【0006】
図面の簡単な説明
本明細書は、添付図面に照らして読まれる以下の詳細な説明から、よりよく理解されるであろう。
【図面の簡単な説明】
【0007】
【
図1】ある例によるプロセスフローを図示するブロック図である。
【
図2】ある例によるシステムを図示するブロック図である。
【
図3】ある例による電力消費レーティング生成システムを図示するブロック図である。
【
図4】ある例によるアプリケーションの電力消費を示すグラフである。
【
図5】ある例による電力消費レーティングの表示を示す。
【
図6】ある例によるアプリケーションの電力消費分析を行うためのコンピューティングデバイスの動作を図示するフローチャートである。
【
図7】機能ブロック図として、例によるコンピューティング装置を図示する。
【0008】
対応する参照符号は、図面全体を通して対応する部分を示す。図において、システムは、概略図として図示されている。図面は縮尺通りでない場合がある。
【発明を実施するための形態】
【0009】
詳細な説明
本明細書に記載する様々な例のコンピューティングデバイス及び方法は、アプリケーションによる電力消費に基づいて、アプリケーションの使用量による環境影響を決定するように構成される。いくつかの例では、オペレーティングシステム(例えば、Windows(登録商標)オペレーティングシステム)上で実行されているアプリケーションについて、環境影響レーティング(EIR(Environmental Impact Rating))が生成され、及び表示される。例えば、あるアプリケーションのEIRは、アプリケーションが実行中に利用する中央処理装置(CPU)、ディスプレイ、及び/又は他のシステムリソースの使用量遠隔測定データを組み合わせることによって生成される。いくつかの例では、EIRは、関連のクラウドサービス又はネットワーク上のストリーミング電力使用量などのサービス配布リソースコスト、及び他の関連要因を含む他の要因を考慮する。1つ又は複数の例では、EIRは、消費者又は設計者が明確に理解できる相対的指標を提供するために、アプリケーションカテゴリ(例えば、音楽ストリーミング、メモ取り、電卓)内で正規化される(例えば、EIRは、開発者が経時的にリソース消費を改善することを促進するために定期的に更新することができる)。
【0010】
本明細書に記載する動作を行った結果として、ユーザ及び開発者がアプリケーションの使用量による環境影響を識別することを可能にすることによって、全体的なユーザ体験を向上させることができる。このように、プロセッサが本明細書に記載する動作を行うようにプログラムされる場合、プロセッサは、アプリケーションによる、より効率的な処理及び電力使用量を可能にする従来とは異なる方策で使用され、その結果、電力消費が削減される。いくつかの例では、本明細書に記載する動作は、消費者の好みを低電力、低影響のアプリケーションに向けさせることを容易にすることができ、並びに開発者にリソースの使用量を意識させ、及び最適化させることを容易にすることができる。すなわち、1つ又は複数の例は、電力消費、例えば、持続可能なソフトウェアエンジニアリングを向上させるように設計されるアプリケーションの電力消費を意識していない開発者による、及び環境影響に関するアプリケーションの選択肢を意識しておらず、その情報を得ることができない消費者による、オペレーティングプラットフォームの電力消費を中心とした持続可能性に焦点を当てることを可能にする。そのため、環境に対する技術の全体的な影響に対する意識を高めることができ、持続可能なソフトウェアエンジニアリングをイノベーションとより統合させることができ、その結果、ユーザ体験及び/又はアプリケーション性能が向上する。
【0011】
本明細書に記載するプロセス及び動作は、特定の種類のアプリケーション又は電力使用量に限定されるものではなく、異なる種類のアプリケーションを用いて、及び異なる影響を決定するために実施することもできる。アプリケーションの電力消費又は使用量の決定及び/又はモニタリングは、
図1に図示されるようなプロセスフロー100を行う、
図2に図示されるようなクラウドサービスとして展開される処理システム200(例えば、アプリケーション電力消費決定システム)において実施することができる。
【0012】
様々な例において、「電力」という用語は、エネルギーが消費される速度を指す。いくつかの例では、電力を所与の単位時間当たりのエネルギーで表すことがある。いくつかの例では、電力は、瞬時測定値によって、又はある期間にわたって消費されたエネルギーを算出し、その値を上記期間で除算することによって決定されてもよく、これは、オペレーティングシステム又はプラットフォーム(例えば、Windows(登録商標)オペレーティングシステム)によって捕捉された計装データのセットから決定することができる。捕捉される計装データは、オペレーティングシステム又はプラットフォームに限定されないことを認識されたい。例えば、クラウド及びサービス関連の消費データは、オペレーティングシステムがこの消費を決定して報告することができないため、プロバイダから直接(例えば、サービスアプリケーションプログラミングインタフェース(API)を使用して)収集することができる。
【0013】
異なるデバイスは、異なるやり方でエネルギー及び電力を計算し得るが、電力消費を測定するデバイスは、単位ワットを使用する場合が多く、直流電流の瞬時電流測定値(アンペア)及び電圧(ボルト)を乗算することによって、そのようにし得る。「エネルギー」という用語は、経時的に積分された電力であり得る。例えば、キロワット時単位のエネルギーは、ある期間にわたって測定されたワット単位の平均電力に時間の長さ(この場合は時間単位で測定される)を乗算したものである。エネルギー消費又は電力消費を決定するために、数ある中でも力率の式を使用し得る交流電流の例を含む他の方法が使用され得ることを認識されたい。
【0014】
いくつかの例では、電力は直接測定されてもよく、エネルギーは複数の瞬時測定値から推定又は計算されてもよい。他の例では、エネルギーは直接測定されてもよく、電力は計算されてもよい。いくつかの例では、あるコンポーネントが電力を直接測定又は決定してもよく、他のコンポーネントがエネルギーを直接測定又は決定してもよい。さらに他の例では、エネルギー又は電力は、温度又はエネルギー若しくは電力が計算され得る他のパラメータを測定することなど、間接的に測定又は決定されてもよい。
【0015】
デバイス上で実行されるアプリケーションによって消費される総エネルギーは、実行中にアプリケーションによって使用される様々なコンポーネントによって消費されるエネルギーを合計することによって少なくとも部分的に決定され得る。いくつかの例では、総エネルギーは、個々のコンポーネントによって消費されるエネルギーを加算することによって決定されてもよい。他の例では、アプリケーションによって使用される総エネルギーを計算するために関数又は他の機構が使用されてもよく、そのような機構は、個々のコンポーネントによって消費された各測定エネルギーからの入力を含んでもよい。
【0016】
1つ又は複数の例は、様々なアプリケーションによるエネルギー消費をモニタリングすることが可能な計装デバイスを提供する。エネルギー消費は、アプリケーションのレーティングを決定するために評価されてもよく、及び/又は最適化された設計構成が、ソフトウェア開発者によるアプリケーション設計中に決定されてもよい。
【0017】
アプリケーションレベルで電力又はエネルギー消費をモニタリングするための機構は、電力消費を削減するため、又は1つ若しくは複数のアプリケーションの電力消費を最適化するため、及びデバイス上で動作するための効率的なアプリケーションセットを選択するため(例えば、デバイス上にインストールし、及び/又はデバイス上で実行するアプリケーションのユーザ選択)に使用することができる。最適化された又は所望の電力消費レベルは、異なるアプリケーションセットを実行し、次に、アプリケーションの動作中のエネルギー消費に基づいて最適な構成を決定することによって決定されてもよい。いくつかの例では、ユーザは、インストール及び/又は動作の前に、アプリケーションの相対的な電力消費レーティング(例えば、アプリケーションストアフロントに表示される電力消費レーティング)を閲覧することができる。そのため、ユーザは、所望の又は必要とされる電力消費レベル又はレーティングを有するアプリケーション、アプリケーションセット、及び/又はアプリケーション構成を選択することができる。
【0018】
電力消費に関する動的ラベルを生成するために電力消費情報を計算するためのプロセスフロー100を
図1に図示する。電力消費情報は、本明細書においてより詳細に記載されるように、様々な方策でフォーマットされ、ユーザに提示され得る。プロセスフロー100は、単一のデバイス102に関連して図示されているが、1つ又は複数の例は、経時的に蓄積及び処理することができる複数のデバイス(及び/又はユーザ)からの情報を使用することに留意されたい。図から分かるように、デバイス102は、電力消費又は使用量をモニタリングするモニタ104を含む。一例では、モニタ104は、計装データ106として図示される電力消費データセットを捕捉する。いくつかの例では、デバイス102上で実行されている1つ又は複数のアプリケーション112の電力消費を決定するのに有用なデータを獲得又は取得するために、計装データ106が、デバイス102のオペレーティングシステムによって捕捉され、及びプロセスフロー100によってマイニングされる。例えば、使用量遠隔測定データは、計装データ106からマイニングされ、電力消費分析108を使用して処理される。いくつかの例では、データベース116から使用量遠隔測定データをマイニングするために、スクリプト、SQLクエリ、又はD3クエリツールを使用して行われるクエリが使用され得る。単一のデータベース116が示されているが、いくつかの例では、データが複数のデータベース116に格納されていることに留意されたい。
【0019】
一例では、デバイス102が実行中に(例えば、1つ又は複数のアプリケーション112を実行中に)、モニタ104は、1つ又は複数のアプリケーション112と組み合わせて動作する、又は1つ又は複数のアプリケーション112によって使用される様々なコンポーネント及びサブコンポーネントの電力又はエネルギー消費をモニタリングするように構成される。いくつかの例では、モニタアプリケーション114(オペレーティングシステム又はプラットフォームの一部であってもよい)は、モニタ104を構成するため、及び1つ又は複数のアプリケーション112の使用に対応する電力又はエネルギー消費を計算するために使用できるデータを受信するために、モニタ104と通信する。例えば、モニタ104は、電力消費分析108に使用される計装データ106を獲得及び格納するように構成される。すなわち、モニタアプリケーション114は、どのような情報を収集し、いつその情報を収集するかを定義するようにモニタ104を構成する。一例では、モニタ104は、利用可能なコンポーネントのサブセットに基づいて電力又はエネルギー消費情報を計算するためのデータを収集するように構成される。モニタ104は、いくつかの例では、特定の期間にわたって、又は特定のワークロードが特定の機能を行うときに情報を収集するように構成される。いくつかの例では、モニタ104は、オペレーティングシステムによって既に取得されている情報を格納する。
【0020】
モニタアプリケーション114は、様々なやり方でモニタ104からデータを受信する。いくつかの例では、モニタ104は、特定のアプリケーション又はアプリケーションによって行われている動作のデータを収集し、動作が完了すると、モニタアプリケーション114にデータを送るように構成される。他の例では、モニタ104は、データを収集し、予め定義された頻度で、又は特定の事象が発生した後に、モニタアプリケーション114にデータを送るように構成される。例えば、モニタ104は、5分ごと、毎日など、収集データを送信するように構成されてもよく、又は1つ若しくは複数の動作のある部分が完了した後に収集データを送信するように構成されてもよい。
【0021】
いくつかの例では、モニタ104がデータの送信を開始することに留意されたい。他の例では、モニタアプリケーション114が、モニタ104にリクエストを送り、モニタ104は、データを送信することによってリクエストに応答する。このような例では、リクエストは、モニタ104(及び他のデバイスのモニタ)に送られ得る。
【0022】
いくつかの例では、モニタアプリケーション114は、計装データ106などの収集された情報でデータベース116を更新する。様々な例において、データベース116に格納されたデータには、アプリケーション112のエネルギー又は電力使用量及び/又は消費に関する履歴データが含まれる。いくつかの例では、データベース116は、1つ又は複数のアプリケーション112の動作中のデバイス102の総エネルギー又は電力使用量及び/又は消費に関連した要約統計量で更新される。いくつかの例では、情報は、1つ又は複数のアプリケーション112の動作を行うために使用されるデバイス102の特定のコンポーネント(例えば、1つ又は複数のアプリケーション112が使用されているときに動作する1つ又は複数のモニタリング対象コンポーネント)のエネルギー又は電力使用量及び/又は消費に関するか、又は関連付けられる。
【0023】
計装データ106を使用して、電力消費分析108が、1つ又は複数のアプリケーション112の各々に起因する電力消費又は使用量を決定するために行われる。いくつかの例では、電力消費分析108は、ある期間若しくは複数のユーザにわたって、及び/又はアプリケーションのグループ若しくは種類にわたってなど、電力消費又は使用量を正規化すること(例えば、各アプリケーション112の電力使用量の範囲にわたって、個々のユーザごとに正規化する)を含み得る1つ又は複数のアプリケーション112のサブセットの比較も含む。一例では、各アプリケーション112は分類され、電力消費又は使用量の正規化は、アプリケーション112の各カテゴリにわたって行われる。すなわち、電力消費又は使用量の正規化は、アプリケーション112の各カテゴリについて個別に行われる。アプリケーション112の分類は、任意のカテゴリタイプの定義を使用して(例えば、アプリケーション体験、又は特定のアプリケーション(アプリ)ストア(Windows(登録商標)アプリストアなど)、又は他のアプリケーション獲得体験の獲得時点内の分類などの、アプリケーションストア分類に基づいて)行われ得ることに留意されたい。その結果、電力消費分析108は、同様のアプリケーション112の電力消費又は使用量を決定及び比較するために行うことができる。
【0024】
1つ又は複数の例において、電力消費分析108によって行われるような、電力消費又は使用量データの処理は、各アプリケーション112の動的ラベル110をもたらす。一例では、動的ラベル110は、アプリケーション112の計算された電力消費又は使用量(例えば、定義された期間にわたる平均電力消費又は合計の電力消費)に少なくとも部分的に基づく、各アプリケーション112のEIRである。いくつかの例では、動的ラベル110は経時的に更新されることに留意されたい。例えば、アプリケーション112に更新(例えば、アプリケーション開発者の更新)が提供されると、電力消費分析108が再び行われ、更新された動的ラベル110が生成される。いくつかの例では、更新された動的ラベル110は、数ヶ月後、アプリケーション112のカテゴリに閾値量の新しいアプリケーション112が追加された後など、他の定義された期間後に生成される。そのため、各アプリケーション112の環境影響の指標は、定期的に更新することができ、アプリケーション112のカテゴリ内の相対的な現在の電力消費又は使用量を反映することができる。例えば、動的ラベル110は、アプリケーション112に関連する電力消費又は使用量フィードバック(例えば、Windows(登録商標)アプリケーションの電力消費フィードバック)を表す。いくつかの例では、ラベル110は、各アプリケーション112の製品説明ページ(PDP)上などにおいて、ユーザに表示又は提供され得る(例えば、Windows(登録商標)ストア体験内に、及びアプリケーションを獲得するために使用されるウェブページ上に電力レーティングを示す)。動的ラベル110(例えば、電力消費のレーティング)は、いくつかの例では、アプリケーションを修正し、レーティング(例えば、文字又は値のレーティング)を押し上げる(例えば、レーティングを向上させる)ための時間を個々のアプリケーション開発者に与えるために、定期的に更新される。
【0025】
異なる種類のデータを収集し、例えば、データベース116内に格納することができることを認識されたい。例えば、モニタ104は、様々な例において、D3遠隔測定データ(例えば、電気、CPU消費、プロセスに使用される分数)、ネットワーク使用量データ(電力消費は、このデータから導出される)、ディスプレイ使用量(例えば、フォアグラウンド/バックグラウンドアプリケーション、フォアグラウンドのアプリケーションによって点灯されるピクセル)、ディスクアクティビティ、アプリケーション112のユーザ使用量(例えば、ユーザによるアプリケーション112の1日当たりのアクティブ使用量(daily active usage)、ユーザごとのデータ分アクティビティ使用量(data minute activity usage per user))などの特定の種類のデータを捕捉するように構成される。認識されるように、適切に構成されたモニタ104を用いて、他の種類のデータを獲得することができる。例えば、他の種類のデータには、限定されないが、バックライト(高/低)使用量、画面オン/オフデータ、音量レベル/スピーカ使用量、バッテリ電力削減(例えば、省電力モード)などが含まれる。一般に、本明細書に記載するシステム及び方法は、本明細書でより詳細に記載するような電力消費分析108を使用して、任意の種類のデータの捕捉及び処理を行うように構成することができる。一例では、電力消費分析108で使用可能な遠隔測定(診断)データを収集するために、Windows(登録商標)アプリケーションが使用される。すなわち、いくつかの例では、データベース116は、システムによって収集された遠隔測定データのログを格納する。その後、ログは、電力消費分析108のための電力消費又は使用量データに関するデータを獲得するためにパース又はフィルタリングされ得る(例えば、本明細書においてより詳細に記載するように、電力消費又は使用量データに関係したメトリクス又はデータを抽出する)。いくつかの例では、データベース116は、オペレーティングシステム(例えば、Windows(登録商標))プラットフォーム内のアイデンティティシステムの一部を形成するか、又はアイデンティティシステム内に埋め込まれる。
【0026】
このように、プロセスフロー100を用いて、いくつかの例においては、プログラム(アプリケーション)電力使用量又は消費メトリクスを計算することを含め、ユーザプログラムセッションから収集された計装データ106(例えば、ソフトウェア計装データ)が分析される。アプリケーション間の比較を可能にする形式などで、アプリケーション電力使用量メトリクスを表す情報が出力される。いくつかの例では、計装データ106は、経時的な電力使用量傾向の少なくとも1つを決定するため、及び電力使用量に関連付けられたユーザグループを決定するなどのために、さらに分析され得ることに留意されたい。
【0027】
様々な例において、電力消費分析108を行うために、異なる基準及びデータを使用することができることにも留意されたい。すなわち、計装データ106を分析するために、異なるパラメータ、基準、データなどを使用することができる。電力消費分析108は、アプリケーション112による電力消費に関連する異なる種類のデータを決定するために行うこともできる。例えば、電力消費分析108は、アプリケーション112が実行されている(例えば、動作を行っている、又はアイドル状態にある)ときに、デバイス102のコンピューティングシステムアクティビティに電力消費を相関させる、アプリケーション112の電力消費プロファイルを決定するために行うことができる。
【0028】
特に
図2を参照すると(及び、引き続き
図1を参照して)、処理システム200は、個々のアプリケーション112による電力消費を決定し、決定された電力消費(例えば、アプリケーションの種類にわたるアプリケーションの比較レーティング)に基づいて、アプリケーション112の1つ又は複数に関するレーティング(例えば、動的ラベル110)を生成することができる。処理システム200は、本明細書においてより詳細に記載するように、1つ又は複数のコンピュータ202、及び例えば、収集された電力消費又は使用量データを格納するためのストレージ204を含む。本明細書に記載する様々な例を用いて、他のデータがストレージ204に格納され、1つ又は複数のコンピュータ202によって処理され得ることを認識されたい。例えば、デバイス102の異なる種類の使用量データ(例えば、セッションデータ)も、レーティングを生成するために使用することができる。
【0029】
処理システム200は、いくつかの例では、デスクトップコンピュータ206、スマートフォン208、ラップトップコンピュータ210、及び拡張現実ヘッド装着型コンピュータ212(例えば、Microsoft HoloLens(登録商標))などの1つ又は複数のエンドユーザコンピューティングデバイス102に接続され、これらの各々は、アプリケーション112の1つ又は複数を動作させることができる。図示した例では、データ処理システム200は、インターネットとして図示されたコンピュータネットワーク214を介してエンドユーザコンピューティングデバイスに接続されているように示されている。
【0030】
処理システム200は、エンドユーザコンピューティングデバイス若しくはサーバから、又は遠隔測定アプリケーション120から、計装データ106などの入力データを受信する。データは、アプリケーション112間の相対的な電力消費又は使用量を決定するためにプロセスフロー100を使用して処理するためなど、処理のために処理システム200にアップロードされる。いくつかの例では、処理システム200は、受信した計装データ106に対してデータ解析を行い、これは、ユーザごとに正規化され、1つ又は複数のグラフを生成するために使用されてもよい(例えば、電力消費プロファイルを表す1つ又は複数の電力消費グラフを生成するためにスクリプトが実装されてもよい)ことに留意されたい。このようにして、アプリケーション112の電力消費又は使用量を比較するためのフレームワークがそれによって提供される。
【0031】
処理システム200又は処理システム200の機能性の一部又は全部は、エンドユーザコンピューティングデバイスの1つ又は複数の中に実装され得ることを認識されたい。この例の処理システム200は、電力消費分析に基づいてレーティング生成を行うレーティング生成器216も実装する。例えば、レーティング生成器216は、アプリケーション112の1つ又は複数に関する電力消費レーティングを生成し、これは、異なる基準を用いて正規化されたデータに基づき得る。いくつかの例では、電力消費分析108は、複数のアプリケーション112にわたる比較又は相対的電力消費データを生成し、これは次に正規化され、各アプリケーション112に関するレーティングを生成するためにレーティング生成器216によって使用される。例えば、分析された電力消費データは、電力データの変動(「上昇」及び「下降」)を考慮するためにある期間にわたって、及び/又は複数のユーザにわたって正規化され得る。
【0032】
いくつかの例では、本明細書に記載する処理システム200の機能性は、少なくとも部分的に、1つ又は複数のハードウェア論理コンポーネントによって行われる。例えば、限定されないが、使用されるハードウェア論理コンポーネントの実例的な種類には、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)システム、複合プログラマブル論理素子(CPLD)、グラフィック処理ユニット(GPU)が含まれる。
【0033】
このようにして、本開示を用いて、
図3に図示されるような電力消費レーティング生成システム300を使用するなどして、環境影響レーティングが行われる。一例における電力消費レーティング生成システム300は、出力として、複数のアプリケーション(例えば、アプリケーション112)の各々についての電力消費レーティング310を生成するために、比較電力消費分析308を使用する。より詳細には、電力消費レーティング生成システム300は、いくつかの例では計装データ106である入力304の比較電力消費分析308を行う処理エンジンとして構成される電力消費計算プロセッサ302を含む。すなわち、電力消費レーティング生成システム300は、入力304を受信し、比較電力消費分析308によって処理される電力消費関連データ306を識別する。例えば、1つ又は複数のアプリケーションによる電力消費に関連のある、又は関係した計装データは、アプリケーション間の電力消費又は使用量のスケール変換比較(scaled comparison)(例えば、本明細書に記載するような正規化された計装データの比較)を決定するために、比較電力消費分析308を用いて処理される。このスケール変換比較に基づき、電力消費レーティング310が生成され、これは、本明細書においてより詳細に記載するように、定義されたアプリケーションの種類内の各アプリケーションのレーティングであり得る。
【0034】
様々な例における電力消費計算プロセッサ302は、コンピューティングデバイスによる1つ又は複数のアプリケーションの実行によって引き起こされる、コンピューティングデバイスによって消費される電力を分析する。いくつかの例では、経時的な1つ又は複数のアプリケーションの電力消費又は使用量に対応する電力消費トレース又はグラフが生成される。すなわち、コンピューティングデバイスの処理ユニットによって実行されるアプリケーションによって引き起こされる、コンピューティングデバイスの1つ又は複数のコンポーネントによって消費される電力量の経時的な分析が行われ、電力消費レーティング310を生成するために使用される。例えば、
図4のグラフ400及び402は、経時的なアプリケーションによる電力消費を図示している。グラフ400は、経時的な平均アプリケーション使用量を図示し、グラフ402は、経時的な対応する平均電力使用量を図示する。図から分かるように、計装データ106などの遠隔測定データにより、1つ又は複数のアプリケーション(
図4では単一のアプリケーションとして図示されている)に関する電力消費プロファイルを生成することができる。
【0035】
図4に図示されるデータにより、アプリケーションの電力消費又は使用量を計算し、他のアプリケーションの電力消費又は使用量と比較するために経時的に正規化することができる。一例では、経時的な電力消費データが合計される(例えば、アプリケーション1を実行している期間にわたってCPUによって消費された電力を合計する)。次に、その合計をアクティブ分数又はアクティブユーザ数で除算することによって、正規化値を取得する。その結果、アプリケーションインスタンス分数の決定を行うことができる(例えば、1分間のアプリケーション1は、X#ジュールを消費する)。複数のアプリケーションの各々についてこのデータを用いて、電力消費レーティング310などの消費可能値が生成され、定期的に更新される(例えば、3ヶ月~6ヶ月ごとに更新される)。
【0036】
一例では、EIRは、オペレーティングシステム(例えば、Windows(登録商標))上で実行されるアプリケーションに関して、CPU、ディスプレイ使用量、及びアプリケーションがその実行中に使うシステムの他のコンポーネントの使用量遠隔測定データを組み合わせることによって生成される。このレーティングは、いくつかの例では、消費者が明確に理解でき、低電力、低影響のアプリケーションなどに行動を向けさせることを容易にでき、並びに開発者にリソースの使用量を意識させ、及び最適化させることができる文字(例えば、A~G)又は他の相対的指標を提供するために、各アプリケーションカテゴリ(例えば、音楽ストリーミング、メモ取り、電卓)内で正規化される。例えば、EIRは、開発者がリソース消費を改善することを促進するために定期的に更新することができる。
【0037】
このようにして、様々な例において、システム及びアプリケーション両方の使用量に関する遠隔測定データを使用して、相対的な電力消費値が生成される。いくつかの例では、相対値は、類似の種類のアプリケーション間の比較を提供し、これは、ユーザ消費に対して公表される。例えば、PDP500が
図5に示されており、複数のアプリケーション502の各々に対応するレーティング504を図示している。すなわち、本明細書に記載する1つ又は複数の例を使用してアプリケーション502の各々に関して生成された相対的な電力消費レーティング504が、ユーザに提供される。レーティングの範囲又はスケールは、レーティング範囲506によって識別される。この例では、レーティング範囲506は、文字によって定義され、Aは最低のレーティング(相対的に最も多い量の電力を消費する)であり、及びGは最高若しくは最良のレーティング(相対的に最も少ない量の電力を消費する)であるか、又はその逆である。各レーティングレベルは、要望に応じて定義することができ、サブレベル(各文字のプラス又はマイナスなど)を含んでもよい。いくつかの例では、各文字のレーティングは、本明細書に記載する例によって決定されるような電力消費使用量範囲に対応する。例えば、各文字は、各アプリケーション502の正規化値に対応する上限電力消費値及び下限電力消費値によって定義される。数字、図形などの、相対的な電力消費使用量の任意の指標をレーティングスケールに採用できることを認識されたい。
【0038】
一例では、再び
図3を参照すると、電力消費計算プロセッサ302は、レーティングページ318又は他のユーザが閲覧可能なディスプレイ上に表示される、又は表示させられる電力消費レーティング310を生成する。いくつかの例におけるレーティングページ318は、PDP500と同様に構成され、ユーザが、特定のアプリケーションの種類又はクラス内などの1つ又は複数のアプリケーションの電力消費レーティングを閲覧することを可能にする。
【0039】
また、電力消費計算プロセッサ302に関して、行われる分析などを定義するための様々なパラメータなどが、オペレータによって指定され得る。例えば、オペレータは、グラフィカルユーザインタフェース316を用いて、日付範囲、閾値などを指定することができる。オペレータが1つ又は複数のパラメータを構成すると、電力消費計算プロセッサ302は、本明細書に記載するように、複数のアプリケーションの電力消費分析を行うように構成される。いくつかの例では、レーティングページ318は、保存され、1つ若しくは複数のデバイス、又はアプリケーションストアなどの1つ又は複数のアプリケーションロケーションにロードされることに留意されたい。アプリケーションストアは、Windows(登録商標)オペレーティングシステム又はAndroidオペレーティングシステムなどの1つ又は複数のオペレーティングプラットフォーム又はシステムが使用するためのアプリケーションを含み得る。また、アプリケーションは、携帯電話、コンピュータ、ゲームシステムなどの異なるデバイス上で動作するように構成されてもよい。
【0040】
認識されるように、異なる種類のアプリケーションに関する電力消費使用量及びレーティングを計算するために、上記様々な例を使用することができる。加えて、異なる種類のデータを用いて電力消費分析を行うために、上記様々な例を使用することができる。
【0041】
図6は、電力消費レーティングを生成するために使用することができる様々な例のアプリケーション電力消費分析を行うための方法600のフローチャートを図示する。本明細書に記載するフローチャートに図示される動作は、示される順序とは異なる順序で行うことができ、追加のステップ又はより少ないステップを含んでもよく、要望に応じて、又は必要に応じて修正することができる。加えて、1つ又は複数の動作は、同時に、並行して、又は逐次的に行うことができる。方法600は、いくつかの例において、動作を効率的に行うための処理能力を有するサーバ又はコンピュータなどのコンピューティングデバイス上で行われる。
【0042】
方法600を参照すると、コンピューティングデバイスは、602において、アプリケーションに関する計装データセットを受信する。例えば、アプリケーションに関する遠隔測定データ、ネットワーク使用量データ、ディスプレイ使用量データ、ディスクアクティビティデータ、アプリケーション使用量データなどが獲得される。このデータは、定義された期間にわたり、アプリケーションの使用量に関して獲得される。このデータの一部は、診断動作においても別途使用するなどのために(例えば、電力消費以外の分析のために獲得されるデータ)、オペレーティングプラットフォーム上でのアプリケーションの通常動作中に獲得されることに留意されたい。すなわち、このデータは、システム内で既に利用可能である。しかしながら、他の例では、1つ又は複数のモニタデバイス又はプロセス(例えば、モニタ104)は、計装データの一部又は全部を獲得するように構成される。
【0043】
受信した計装データは、604でフィルタリングされる。例えば、計装データは、アプリケーションの電力消費使用量を決定するために使用される計装データのサブセットを獲得又は取得するためにフィルタリングされる。すなわち、アプリケーションの電力消費を分析するために使用される計算に関連のある、又は関係した計装データは、(
図3の)電力消費計算プロセッサ302などによる処理のために維持又は出力される。いくつかの例では、フィルタリングは、本明細書に記載するように、電力消費使用量処理で使用するためにシステムによって獲得された特定の計装データのみを識別するデータマイニングプロセスである。様々な例における計装データのサブセットは、電力消費に直接的に関係するもの(例えば、アプリケーションによって使用されるコンポーネントの電力消費値)であってもよく、又は電力消費に間接的に関係するもの(例えば、対応する電力消費値を計算することができるコンポーネントの使用量値)であってもよいことに留意されたい。例えば、遠隔測定データ及びディスプレイ使用量データは、電力消費に対して直接的な相関関係又は値を有する。ネットワーク使用量データは、電力使用量に対して間接的な相関関係を有し、アプリケーションの実行によって生じるようなネットワーク使用時間中に動作するコンポーネントなどに基づいて、関連付けられた電力消費を導出するために使用される。
【0044】
フィルタリングされた計装データは、606においてアプリケーションの電力消費又は使用量を計算するために使用される。例えば、アプリケーションの実行に応答して動作するプロセス及び/又はコンポーネントについて、定義された期間にわたる合計使用量、平均使用量、及び/又は他の使用量が計算される。すなわち、アプリケーションを実行する際の動作であると識別されたプロセス及び/又はコンポーネントに関する対応する計装データが、いくつかの例では合計される。このようにして、アプリケーションについて、対応するデバイスリソースの合計の電力消費使用量が決定される。計算は、要望に応じていろいろな時間フレーム又はウィンドウにわたって行うことができる。アプリケーションの電力消費は、608で正規化される。例えば、アプリケーションによる計算された電力消費(例えば、アプリケーションの実行によって生じる間接的及び直接的な電力消費量データ)が正規化される。様々な例において、任意の適切な数学的正規化プロセスを使用することができる。1つ又は複数の例において、正規化は、ある期間、複数のユーザ、特定のアプリケーションの種類、特定のコンポーネント使用量などのうちの1つ又は複数にわたって行われ得る。すなわち、いくつかの例では、行われる比較及び生成されるそれぞれの電力消費レーティングに応じて、フィルタリングされた計装データの異なる正規化を行うことができる。
【0045】
正規化された電力消費の結果は、610において分類される。例えば、複数のアプリケーションの種類が定義され、アプリケーションの正規化された電力消費が、アプリケーションの対応するアプリケーションの種類と関連付けられる。アプリケーションの種類は、任意の粒度レベルで定義することができ、これは、いくつかの例では、アプリケーションストアにおいて定義されるアプリケーションの種類に少なくとも部分的に基づく。分類は、いくつかの例において、レーティングを生成するために使用される正規化された電力消費のサブセットを定義することを認識されたい。
【0046】
分類された電力消費値は、612において比較される。すなわち、単一のアプリケーションの種類内のアプリケーションによる電力消費又は使用量が比較される。いくつかの例では、比較は、異なるレーティングに対する電力消費レベル又は閾値を定義するために使用される。例えば、正規分布(例えば、ベル曲線グラフ分布)又は他のデータ値分布スキームが、アプリケーションの種類によって、電力消費の異なるレベル又は範囲をランク付け又は区別するために使用される。
【0047】
次に、614において、電力消費に基づくレーティングが生成される。例えば、定義された分布に基づくカットオフレベル又は閾値レベルは、レーティングスキームのレーティング範囲又はレベルを選択するために使用され得る。いくつかの例では、アプリケーションごとの計算された電力消費の絶対値、各レーティングレベル又は範囲内に含まれるアプリケーションの数などに基づいて、レーティングレベル又は範囲が設定される。すなわち、レーティングスキームは、特定の動作環境、電力使用量に関する動作又は設計挙動の望ましい変更などに基づいて異ならせることができる。その後、各アプリケーションのレーティングは、PDP上での(例えば、Windows(登録商標)ストア体験内での)表示などのために利用できるようにすることができる。異なるレーティング又はランク付けスキームが使用されてもよく、計算された電力消費又は使用量に対応した任意の相対値であってもよいことに留意されたい。本明細書でより詳細に記載するように、いくつかの例では、レーティングが定期的に更新されることにも留意されたい。
【0048】
Windows(登録商標)オペレーティング環境内の一例に関して、データは、Windows(登録商標)オペレーティングシステムの既存の遠隔測定コンポーネントに到着し、これは、いくつかの異種データベースに格納される。そのデータに対してSQLクエリが行われ、正規化が、閾値期間及び閾値数の異なるユーザにわたる多数のデータポイントに対して適用されることにより、アプリケーションの電力消費値が作成される。いくつかの例では、電力消費値は、平均化された数値である(
図4のグラフ400及び402を参照)。電力消費値は、レーティング値を生成するために使用される。
【0049】
したがって、いくつかの例では、方法600を使用して、アプリケーションの電力消費又は使用量を計算し、計算された電力消費又は使用量に基づいてアプリケーションのレーティングを生成することができる。そのため、消費者又はプログラマは、他のアプリケーションよりも電力を使用しないアプリケーションを容易に識別することができる。
【0050】
例示的な動作環境
本開示は、
図7の機能ブロック
図700としての一例によるコンピューティング装置702で動作可能である。一例では、コンピューティング装置702のコンポーネントは、本明細書に記載される1つ又は複数の例による電子デバイスの一部として実装されてもよい。コンピューティング装置702は、電子デバイスの動作を制御するためのコンピュータ実行可能命令を処理するための、マイクロプロセッサ、コントローラ、又は任意の他の適切な種類のプロセッサであり得る、1つ又は複数のプロセッサ704を備える。オペレーティングシステム706を備えたプラットフォームソフトウェア、又は任意の他の適切なプラットフォームソフトウェアは、アプリケーションソフトウェア708がデバイス上で実行されることを可能にするために装置702上に提供されてもよい。一例によれば、レーティング712を生成するために使用される計算されたアプリケーション電力消費710は、ソフトウェアによって達成することができる。
【0051】
コンピュータ実行可能命令は、コンピューティング装置702によってアクセス可能な任意のコンピュータ可読媒体を使用して提供され得る。コンピュータ可読媒体には、例えば、メモリ714などのコンピュータストレージ媒体及び通信媒体が含まれ得る。メモリ714などのコンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュールなどの情報を記憶するための任意の方法又は技術で実装された、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体が含まれる。コンピュータストレージ媒体には、RAM、ROM、EPROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又はコンピューティング装置によるアクセスのために情報を格納するために使用可能な任意の他の非伝送媒体が含まれるが、これらに限定されない。対照的に、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールなどを、搬送波などの変調データ信号、又は他の移送機構において具現化し得る。本明細書で定義するように、コンピュータストレージ媒体は、通信媒体を含まない。したがって、コンピュータストレージ媒体は、伝搬信号それ自体であると解釈されるものではない。伝搬信号それ自体は、コンピュータストレージ媒体の例ではない。コンピュータストレージ媒体(メモリ714)は、コンピューティング装置702内に示されているが、当業者には、ストレージは、分散されてもよく、又は遠隔に位置し、ネットワーク若しくは他の通信リンクを介して(例えば、通信インタフェース716を使用して)アクセスされてもよいことを認識するであろう。
【0052】
コンピューティング装置702は、1つ又は複数の入力デバイス720及び出力デバイス722(例えば、ディスプレイ又はスピーカ)に情報を出力するように構成された入出力コントローラ718を備えてもよく、これらは、電子デバイスとは別個であってもよく、又は一体であってもよい。また、入出力コントローラ718は、1つ又は複数の入力デバイス720、例えば、キーボード、マイクロフォン、又はタッチパッドからの入力を受信及び処理するように構成されてもよい。一実施形態では、出力デバイス722は、入力デバイス720としても機能し得る。そのようなデバイスの一例は、タッチセンサ式ディスプレイであり得る。入出力コントローラ718は、出力デバイス722以外のデバイス、例えばローカルに接続された印刷デバイスにデータを出力することもできる。いくつかの実施形態では、ユーザは、1つ若しくは複数の入力デバイス720に入力を提供し、及び/又は1つ若しくは複数の出力デバイス722から出力を受信し得る。
【0053】
いくつかの例では、コンピューティング装置702は、音声入力、ユーザジェスチャ、又は他のユーザアクションを検出し、ナチュラルユーザインタフェース(NUI)を提供する。このユーザ入力は、電子インクのオーサリング、コンテンツの閲覧、インク制御の選択、電子インクオーバーレイを伴うビデオの再生、及び他の目的のために使用され得る。入出力コントローラ718は、いくつかの例では、ディスプレイデバイス以外のデバイス、例えばローカルに接続された印刷デバイスにデータを出力する。
【0054】
本明細書に記載する機能性は、少なくとも部分的に、1つ又は複数のハードウェア論理コンポーネントによって行われ得る。ある実施形態によれば、コンピューティング装置802は、1つ又は複数のプロセッサ704によって実行されるときに、記載される動作及び機能性の例及び実装形態を実行するように、プログラムコードによって構成される。代替的又は追加的に、本明細書に記載される機能性は、少なくとも部分的に1つ又は複数のハードウェア論理コンポーネントによって行うことができる。例えば、限定されないが、使用可能なハードウェア論理コンポーネントの実例的な種類には、FPGA、ASIC、ASSP、SOC、CPLD、及びGPUが含まれる。
【0055】
図中の様々な要素の機能性の少なくとも一部は、図中の他の要素、又は図に示されていないエンティティ(例えば、プロセッサ、ウェブサービス、サーバ、アプリケーションプログラム、コンピューティングデバイスなど)によって行われてもよい。
【0056】
本開示の例は、例示的なコンピューティングシステム環境に関連して記載されているが、多数の他の汎用又は専用コンピューティングシステム環境、構成、又はデバイスと共に実施可能である。
【0057】
本開示の態様と共に使用するのに適し得る周知のコンピューティングシステム、環境、及び/又は構成の例には、モバイル又はポータブルコンピューティングデバイス(例えば、スマートフォン)、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド(例えば、タブレット)又はラップトップデバイス、マルチプロセッサシステム、ゲームコンソール又はコントローラ、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、携帯電話、ウェアラブル又はアクセサリフォームファクタ(例えば、時計、眼鏡、ヘッドセット、又はイヤホン)のモバイルコンピューティング及び/又は通信デバイス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されない。一般に、本開示は、本明細書に記載するような命令を実行できるような処理能力を有する任意のデバイスで動作可能である。このようなシステム又はデバイスは、キーボード若しくはポインティングデバイスなどの入力デバイスから、ジェスチャ入力を介して、近接入力(ホバリングなどによる)を介して、及び/又は音声入力を介してなど、任意の方策でユーザからの入力を受け入れ得る。
【0058】
本開示の例は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせにおいて、1つ又は複数のコンピュータ又は他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で記載され得る。コンピュータ実行可能命令は、1つ又は複数のコンピュータ実行可能コンポーネント又はモジュールに編成されてもよい。一般に、プログラムモジュールには、特定のタスクを行う、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造が含まれるが、これらに限定されない。本開示の態様は、任意の数及び編成のそのようなコンポーネント又はモジュールで実施され得る。例えば、本開示の態様は、図に図示され、及び本明細書に記載される特定のコンピュータ実行可能命令又は特定のコンポーネント若しくはモジュールに限定されない。本開示の他の例は、本明細書に図示及び記載されるよりも多い又は少ない機能性を有する異なるコンピュータ実行可能命令又はコンポーネントを含み得る。汎用コンピュータを伴った例において、本開示の態様は、本明細書に記載する命令を実行するように構成される際に、汎用コンピュータを専用コンピューティングデバイスに変換する。
【0059】
他の例には、以下が含まれる。
電力消費レーティングを生成するためのコンピュータ化された方法であって、
複数のアプリケーションに対応する計装データを受信することと、
受信した計装データを処理することによって、複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの相対的な電力消費値を比較することと、
比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
を含む、コンピュータ化された方法。
【0060】
他の例には、以下が含まれる。
電力消費レーティングを生成するためのシステムであって、システムが、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを備えた少なくとも1つのメモリと、を備え、少なくとも1つのメモリ及びコンピュータプログラムコードが、少なくとも1つのプロセッサを用いて、
複数のアプリケーションに対応する計装データを受信することと、
受信した計装データを処理することによって、複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの相対的な電力消費値を比較することと、
比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
を少なくとも1つのプロセッサに行わせるように構成される、システム。
【0061】
他の例には、以下が含まれる。
プロセッサによる実行時に、少なくとも、
複数のアプリケーションに対応する計装データを受信することと、
受信した計装データを処理することによって、複数のアプリケーションの各アプリケーションに関する相対的な電力消費値を計算することと、
各アプリケーションの相対的な電力消費値を比較することと、
比較に基づいて、各アプリケーションの電力消費レーティングを生成することと、
をプロセッサに行わせる、電力消費レーティングを生成するためのコンピュータ実行可能命令を有する1つ又は複数のコンピュータストレージ媒体。
【0062】
代替的に、又は上記の例に対して追加的に、例には、以下の任意の組み合わせが含まれる。
複数のアプリケーションの各アプリケーションを複数のカテゴリのうちの1つ又は複数のカテゴリに分類すること、及び各カテゴリ内でのみ上記比較を行うこと。
相対的な電力消費値を正規化することであって、正規化することが、定義された期間及び複数のユーザの少なくとも一方にわたって行われる、正規化すること。
電力消費レーティングの生成を定期的に行うことによって、アプリケーションのうちの少なくとも1つに関する、更新された電力消費レーティングを生成すること。
電力消費レーティングをユーザに表示することであって、ユーザが、消費者又はソフトウェア開発者の一方である、表示すること。
受信した計装データを処理することによって、相対的な電力消費値を計算することが、受信した計装データを合計すること及び平均化することの少なくとも一方を含む。
計装データが、遠隔測定データ、ネットワーク使用量データ、ディスプレイ使用量データ、ディスクアクティビティデータ、及びアプリケーション使用量データのうちの少なくとも1つを含む。
【0063】
当業者には明らかなように、本明細書で与えられるいずれの範囲又はデバイス値も、求める効果を失うことなく、拡張又は変更され得る。
【0064】
本主題は、構造的特徴及び/又は方法論的行為に特有の言葉で説明されているが、添付の特許請求の範囲に定義される主題は、必ずしも上記の具体的な特徴又は行為に限定されるものではないことを理解されたい。より正確に言えば、上記の具体的な特徴及び行為は、特許請求の範囲を実施する形態例として開示されている。
【0065】
上記のメリット及び利点は、1つの例に関するものであってもよいし、又はいくつかの例に関するものであってもよいことが理解されよう。例は、述べられた課題のいずれか若しくはすべてを解決するもの、又は述べられたメリット及び利点のいずれか又はすべてを有するものに限定されない。さらに、「1つの」項目への言及は、それらの項目のうちの1つ又は複数を指すことが理解されよう。
【0066】
本明細書において図示及び記載される例、並びに本明細書において具体的に記載されないが特許請求の範囲の態様の範囲内にある例は、ニューラルネットワークを訓練するための例示的手段を構築する。図示された1つ又は複数のプロセッサ1004は、メモリ1014に格納されたコンピュータプログラムコードと共に、マルチモーダルデータを融合するための例示的な処理手段を構築する。本明細書において、「備える(comprising)」という用語は、1つ又は複数の追加の特徴又は行為の存在を排除することなく、その後に続く1つ若しくは複数の特徴又は1つ若しくは複数の行為を含むことを意味するために使用される。
【0067】
いくつかの例では、図に図示された動作は、コンピュータ可読媒体上に符号化されたソフトウェア命令として、動作を行うようにプログラム若しくは設計されたハードウェアにおいて、又はその両方として実装されてもよい。例えば、本開示の態様は、複数の相互接続された導電性素子を含むチップ又は他の回路網上のシステムとして実装されてもよい。
【0068】
本明細書に図示及び記載される本開示の例における動作を実行する順序又は行う順序は、別段の指定がない限り、必須ではない。すなわち、動作は、別段の指定がない限り、どのような順序で行われてもよく、本開示の例は、本明細書で開示される動作よりも多い又は少ない動作を含む場合がある。例えば、別の動作の前、別の動作と同時に、又は別の動作の後に特定の動作を実行すること又は行うことは、本開示の態様の範囲内であることが企図される。
【0069】
本開示の態様又はその例の要素を紹介する際に、冠詞「1つの(a)」、「1つの(an)」、「その(the)」、及び「上記(said)」は、要素が1つ又は複数存在することを意味することを意図している。「備える(comprising)」、「含む(including)」、及び「有する(having)」という用語は、包括的であることを意図しており、列挙された要素以外の追加の要素が存在し得ることを意味する。「例示的な(exemplary)」という用語は、「~の一例」を意味することを意図している。「A、B、及びCのうちの1つ又は複数」という表現は、「Aの少なくとも1つ、及び/又はBの少なくとも1つ、及び/又はCの少なくとも1つ」を意味する。
【0070】
「A、B、及びCのうちの1つ又は複数」という表現は、「Aの少なくとも1つ、及び/又はBの少なくとも1つ、及び/又はCの少なくとも1つ」を意味する。本明細書及び特許請求の範囲で使用される「及び/又は」という表現は、そのように等位接続された要素の「いずれか一方又は両方」、すなわち、ある場合には合接的に存在し、他の場合には離接的に存在する要素を意味すると理解されるものとする。「及び/又は」と共に列挙された複数の要素も同様に、すなわち、そのように等位接続された要素の「1つ又は複数」と解釈されるものとする。「及び/又は」節によって具体的に識別された要素以外の他の要素が、具体的に識別された要素に関連するか否かにかかわらず、任意選択的に存在し得る。したがって、非限定例として、「A及び/又はB」への言及は、「備える(comprising)」などのオープンエンドの言葉と併せて使用される場合、ある実装形態では、Aのみ(任意選択的にB以外の要素を含む)を指し、別の実装形態では、Bのみ(任意選択的にA以外の要素を含む)を指し、さらに別の実装形態では、A及びBの両方(任意選択的に他の要素を含む)などを指し得る。
【0071】
本明細書及び特許請求の範囲で使用される場合、「又は」は、上記で定義した「及び/又は」と同じ意味を有すると理解されるものとする。例えば、リスト内の項目を区切る場合、「又は」又は「及び/又は」は、包括的であること、すなわち、少なくとも1つの包含だけでなく、いくつかの要素又は要素のリストのうちの2つ以上も含むこと、及び任意選択的に、さらなる列挙されていない項目を含むと解釈されるものとする。「~のうちの1つだけ、又は「~のうちの正確に1つ」、又は特許請求の範囲において使用される場合の「~から成る(consisting of)」のような、逆を明確に示す用語のみが、いくつかの要素又は要素のリストのうちの正確に1つの要素の包含を指す。一般に、使用される「又は」という用語は、「どちらか一方」、「~の1つ」、「~の1つのみ」、又は「~の正確に1つ」のような排他的な用語が先行する場合にのみ、排他的な選択肢(すなわち、「一方又は他方であるが、両方ではない」)を示すものと解釈されるものとする。特許請求の範囲において使用される場合の「基本的に~から成る(consisting essentially of)」は、特許法の分野で使用される通常の意味を有するものとする。
【0072】
本明細書及び特許請求の範囲で使用される場合、1つ又は複数の要素のリストに関連した「少なくとも1つ」という表現は、要素のリスト内の要素のいずれか1つ又は複数から選択された少なくとも1つの要素を意味すると理解されるものとするが、要素のリスト内に具体的に列挙された1つ1つの要素のうちの少なくとも1つを必ずしも含む必要はなく、要素のリスト内の要素の任意の組み合わせを除外するものではない。この定義は、「少なくとも1つ」という表現が指す要素のリスト内で具体的に識別された要素以外の要素が、具体的に識別された要素に関連するか否かにかかわらず、任意選択的に存在し得ることも許容する。したがって、非限定例として、「A及びBのうちの少なくとも1つ」(又は等価的に、「A又はBのうちの少なくとも1つ」、又は等価的に、「A及び/又はBのうちの少なくとも1つ」)は、1つの実装形態において、Bが存在しない(及び任意選択的に、B以外の要素を含む)、少なくとも1つの(任意選択的に2つ以上を含む)Aを指し、別の実装形態では、Aが存在しない(及び任意選択的に、A以外の要素を含む)、少なくとも1つの(任意選択的に、2つ以上を含む)Bを指し、さらに別の実装形態では、少なくとも1つの(任意選択的に2つ以上を含む)A、及び少なくとも1つの(任意選択的に2つ以上を含む)B(及び任意選択的に他の要素を含む)などを指す場合がある。
【0073】
本開示の態様を詳細に記載したが、添付の特許請求の範囲に定義される本開示の態様の範囲から逸脱することなく、修正形態及び変形形態が可能であることは明らかであろう。本開示の態様の範囲から逸脱することなく、上記の構築、製品、及び方法において様々な変更がなされ得るので、上記の記載に含まれ、添付の図面に示されるすべての事項は、実例的なものとして解釈され、限定的な意味において解釈されないことが意図される。
【国際調査報告】