(58)【調査した分野】(Int.Cl.,DB名)
前記特定のユーザによって指定されるアプリケーション固有の割り当てを受け取るステップを更に含み、各アプリケーション固有の割り当ては、対応するアプリケーションに割り振られたデータの量を記述し、
前記の生成するステップは、前記アプリケーション固有の割り当てに関連して前記個人使用情報を生成することを更に含む
請求項1に記載の方法。
前記の生成するステップは、前記候補アプリケーションを実行しているユーザデバイスのグループから受け取られた実際の使用データを処理することによって前記期待される使用情報を生成することを更に含む、請求項1に記載の方法。
前記特定のユーザが前記アプリケーションを操作する方法を記述する特定のユーザプロファイルデータと、他のユーザのグループ内の各ユーザが前記アプリケーションを操作する方法を記述する他のユーザプロファイルデータとを受け取るステップを更に含み、
前記の生成するステップは、前記特定のユーザプロファイルデータ及び前記他のユーザプロファイルデータに基づいて査定されるように、前記特定のユーザと共通する少なくとも1つの特性を共有する他のユーザのグループのサブセットによって提供される実際の使用データに基づいて、前記期待される使用情報を提供することを更に含む、請求項1に記載の方法。
前記個人使用情報は、前記特定のアプリケーションによるエネルギの実際の消費を記述するエネルギ関連の個人使用情報も提供し、前記期待される使用情報は、前記候補アプリケーションが消費することが期待されるエネルギの量を記述するエネルギ関連の期待される使用情報も提供し、前記エネルギ関連の個人使用情報及び前記エネルギ関連の期待される使用情報は、収集されたエネルギ関連の実際の使用データに基づいている、請求項1に記載の方法。
【発明を実施するための形態】
【0011】
本開示及び図面全体を通じて、同一の番号を使用して同様のコンポーネント及び特徴を参照する。100番台の番号は、最初に
図1で見られる特徴を指し、200番台の番号は、最初に
図2で見られる特徴を指し、300番台の番号は、最初に
図3で見られる特徴を指し、以下同様である。
【0012】
本開示は、次のように編成される。セクションAは、アプリケーションレベル使用情報をそれぞれのユーザデバイス上でアプリケーションを操作するユーザに供給する例示的環境を説明する。セクションBは、セクションAの環境の動作を説明する例示的な方法を説明する。セクションCは、セクションA及びBで説明される特徴の任意の態様を実装するのに使用することができる例示的なコンピューティング機能性を説明する。
【0013】
前提事項として、図面の一部は、機能性、モジュール、特徴、要素などと様々に呼ばれる1つ又は複数の構造コンポーネントの文脈で諸概念を説明する。図面に示される様々なコンポーネントを、任意の物理的な有形の機構によって、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能性)、ファームウェア等、及び/又はその任意の組合せによって、任意の形で実施することができる。ある場合において、図面において図示される様々なコンポーネントの別個のユニットへの分離が、実際の実施における対応する別個の物理的な有形のコンポーネントの使用を反映していることがある。あるいはまた、図面に図示される任意の単一のコンポーネントが、複数の実際の物理的コンポーネントによって実装されることがある。あるいはまた、図面における任意の2つ又はそれ以上の別個のコンポーネントの描写が、単一の実際の物理的コンポーネントによって実行される異なる機能を反映していることがある。順に議論される
図20は、図面に示された機能の1つの例示的な物理的実装態様に関する追加の詳細を提供する。
【0014】
他の図面は、諸概念をフローチャートの形で説明する。この形では、ある動作が、ある順序で実行される別個のブロックを構成するものとして説明される。そのような実装は、例示であり、非限定的である。本明細書で説明される幾つかのブロックを一緒にグループ化して単一の動作で実行することができ、あるブロックを、複数のコンポーネントブロックに分解することができ、幾つかのブロックを、本明細書で説明されるものとは異なる順序で実行することができる(並列の形でブロックを実行することを含む)。フローチャートに示されるブロックを、任意の物理的な有形の機構によって、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能性)、ファームウェア等、及び/又はその任意の組合せによって、任意の形で実装することができる。
【0015】
用語法に関して、句「〜するように構成された」は、任意の種類の物理的な有形の機能性が、識別される動作を実行するように構築され得る全ての形を包含する。このような機能性は、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能性)、ファームウェア等、及び/又はその任意の組合せを使用して動作を実行するように構成されることができる。
【0016】
用語「論理/ロジック」は、タスクを実行する全ての物理的な有形の機能性を包含する。例えばフローチャートに示される各動作は、その動作を実行する論理コンポーネントに対応する。動作を、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能性)、ファームウェア等、及び/又はその任意の組合せを使用して実行することができる。コンピューティングシステムによって実施されるときに、論理コンポーネントは、どのように実装されようと、コンピューティングシステムの物理的な部分である電気的なコンポーネントを表す。
【0017】
特許請求の範囲において「〜手段」という用語が使用される場合に、米国特許法第112条第6段落の規定を行使することが意図されている。この特定の句以外の他の表現は、法規のその部分の規定を行使することを意図されていない。
以下の説明は、1つ又は複数の特徴を「オプション」として識別することがある。このタイプの記載は、オプションと考えることのできる特徴を網羅的に示すものとして解釈されるべきではない。すなわち、必ずしもこの本文で明示的に識別されないが、他の特徴をオプションと考えることもできる。最後に、用語「例示的」は、潜在的に多数の実装のうちの一実装を指す。
【0018】
<A.例示的な環境>
図1は、個人使用情報を、特定のユーザデバイス102を操作している特定のユーザに提供する例示的な環境100を示す。ユーザデバイス102は、該デバイス上にインストールされるか他の形でユーザがアクセス可能な複数のアプリケーション104を含む。ある場合において、個人使用情報は、アプリケーション104の各々が、規定の時間期間内に消費したデータの量を識別する。例えば環境100は、特定の時間において、第1のアプリケーション(「アプリケーション1」)がX量のデータを消費し、第2のアプリケーション(「アプリケーション2」)がY量のデータを消費し、第3のアプリケーション(「アプリケーション3」)が、Z量のデータを消費した、などを指定することができる。本明細書で使用されるとき、ユーザデバイス102によって実行されるアプリケーションは、例えばデータを任意のリモートエンティティから受信すること又はデータを任意のリモートエンティティに送信することのいずれかによって、無線通信インフラストラクチャを介してデータを通信させるときに、データを「消費する」。例えばビデオアイテムを受信して処理するメディア関連のアプリケーションは、そのときに、ビデオアイテムのサイズに対応する量のデータを消費する。
【0019】
環境100は、ユーザがまだユーザデバイス102にインストールしていないか、そうでなくとも実行していない候補アプリケーションに関して、期待される使用情報もユーザに提供する。本明細書で使用されるとき、期待される使用情報は、候補アプリケーションが、実行されるときに消費することが期待されるデータの量を記述する。環境100は、候補アプリケーションが(候補アプリケーションを使用したことがある)ユーザのグループによって利用されるときにどの程度のデータを消費するのかをモニタリングすることによって、期待される使用情報を導出することができる。あるいはまた、環境100は、期待される使用情報を、シミュレートされた使用データに基づいて導出することができる。環境100は、候補アプリケーションが、まだかなりの数のユーザ(又は全てのユーザ)によって使用されていないときに、アプリケーションの使用をシミュレートすることを選択することができる。あるいはまた、アプリケーションを開発する開発者は、アプリケーションについて、期待される使用情報を提供することができる。
【0020】
上記で要約した、アプリケーションレベルの個人な期待される使用情報の普及は、全てのタイプのデータプランに関する有用なモニタリングサービスを提供する。しかし、環境100は、無線通信プロバイダ(「プロバイダ」)が、ユーザが(追加の使用関連料金を支払わずに)消費してよいデータの量に制約を課すシナリオで、特定の利益を与えることができる。例えば一部のデータプランでは、プロバイダは、ユーザが、追加料金を支払わずに、支払請求サイクル内にデータの閾値量まで消費することを許すことがある。よりトランザクションベースのデータプランでは、プロバイダは、ユーザに、データが消費される個々のトランザクションごとに支払を求めることがある。
【0021】
より具体的には、ユーザは、アプリケーション104の以前のデータ消費需要に関する洞察を得るために、個人使用情報を使用することができる。この情報を用意して、ユーザは、そのユーザによるアプリケーション104の将来の使用に関して知的な判断を行うことができる。例えばユーザは、ユーザのデータプランによって割り振られたデータの総量を使い果たすことを避けるために(すなわち、支払請求サイクルの終りの前に)消費量の多いアプリケーションの使用を減らすと判断することができる。
【0022】
ユーザは、候補アプリケーションが、使用される場合にどれほど消費するのかに関する洞察を得るために、期待される使用情報を使用することができる。ユーザは、あるアプリケーションの使用を控えるために、又はある消費量の多いアプリケーションを賢明で慎重な形で使用することによってこの情報を使用することができる。
【0023】
上記の例において、環境100は、アプリケーションの使用を、アプリケーションが消費するデータの量に基づいて査定する。しかし、より一般的には、環境100は、アプリケーションの使用を、アプリケーションが消費する任意の1つ又は複数のリソースの量に基づいて査定することができる。例えばアプリケーションの使用を、(例えばアプリケーションのバッテリリソースのそれぞれの使用に関連し得る)アプリケーションが消費するエネルギの量に基づいて査定することも(又は代替的に)できる。このコンテキストでは、個人使用情報は、特定のユーザによって使用されるときに特定のアプリケーションによって消費されたエネルギの量を反映するエネルギ関連個人使用情報も(又は代替的に)含むことができる。また、期待される使用情報が、候補アプリケーションによって消費されると期待されるエネルギの量を反映するエネルギ関連の期待される使用情報も(又は代替的に)含むことができる。しかし、説明を単純にし、容易にするために、以下の説明は、主に(明示的に注記されない限り)、個人使用情報が、データ関連の個人使用情報に対応し、期待される使用情報が、データ関連の期待される使用情報に対応すると仮定する。
【0024】
ある実装態様では、環境100は、ユーザデバイス102自体及び処理システム106によって提供される機能性を使用して、上述のサービスをユーザに提供することができる。ある物理的な実装態様において、処理システム106は、ユーザデバイス102に対してリモートの位置で提供される機能性を表す。例えばユーザデバイス102は、通信コンジット108を介して処理システム106と通信することができる。下述される
図2は、環境100のこの物理的な実装態様に関する追加の詳細を提供する。
【0025】
他の物理的な実装態様では、処理システム106によって実行される機能の少なくとも一部を、ユーザデバイス102自体によって実行することができる(逆も同様)。すなわち、
図1は、処理システム106及びユーザデバイス102を別個のそれぞれのエンティティとして示しているが、処理システム106のある種の機能を、ユーザデバイス102のコンポーネントと考えることができる(逆も同様)。それでも、説明を容易にするために、これに続く例のほとんどは、処理システム106が、ユーザデバイス102に対してリモートのエンティティを表す、という単純化する前提を設ける。
【0026】
上記の概要に関して、次の説明は、ユーザデバイス102から始めて、
図1に示されたコンポーネントのそれぞれを説明するものである。
【0027】
アプリケーション104は、任意のそれぞれのタスクを実行する任意のタイプの機能性を表す。一部の場合において、アプリケーション104は、高水準のタスクを実行する。代表的な例を列挙すると、第1のアプリケーションは、天気予報タスクを実行することができ、第2のアプリケーションは、ビデオプレゼンテーションタスクを実行することができ、第3のアプリケーションは、テキスト編集タスクを実行することができる等である。他の場合において、アプリケーション104は、より低水準の管理タスク又はサポートタスクを実行する。例えばアプリケーション104の一部は、ユーザデバイス102のデバイスオペレーティングシステム110のコンポーネントを表すことができる。アプリケーション104を、実行可能コード、スクリプトコンテンツ等又はその任意の組合せによるなど、任意の形で実装することができる。
【0028】
図1は、アプリケーション104をユーザデバイス102上で実行され得ることを示す。この実装態様では、アプリケーション104を実行するために、ユーザデバイス102は、デバイスオペレーティングシステム110によって提供されるリソースに依拠することがある。別の実装態様では、アプリケーション104は、少なくとも部分的に、(処理システム106のような)リモートシステムによって提供されるリモート機能性を表すことができる。例えばアプリケーション104の少なくとも一部は、ウェブサイト、ウェブページ又はウェブアプリケーション等を表すことがある。ユーザデバイス102は、このタイプのアプリケーションにアクセスして、その機能を開始することによって、そのアプリケーションを実行することができる。しかし、説明を容易にするために、本記載では一般に、アプリケーション104がユーザデバイス102にインストールされるという単純化する前提を設ける。
【0029】
さらに、一部の場合において、アプリケーションは、主アプリケーション・タスクに関連する全てのタスクを実行する機能性の本体全体を指す。しかし、他の場合には、アプリケーションは、機能性のより包括的な本体の一部を指すことがある。例えば、不動産の検索機能を実行するアプリケーションを検討されたい。その主アプリケーション内の1つのサブアプリケーションが、抵当計算機能を実行することがある。その主アプリケーション内の別のサブアプリケーションが、地図検索機能を実行することがある等である。
【0030】
ユーザデバイス102は、報告モジュール112を含むこともできる。報告モジュール112は、各アプリケーションが任意の所与の時間において消費しているデータの量を反映するイベントをキャプチャする。本明細書で使用される用語法によれば、これらのイベントは、実際の使用データを構成し、ここで、「実際の」という修飾語は、使用データが、アプリケーションのシミュレートされた使用ではなく、アプリケーションの実際の使用を反映することを示す。報告モジュール112は、実際の使用データを一時ストア114に格納することができる。報告モジュール112はその後、実際の使用データを、分析のために処理システム106に周期的に転送することができる。本開示は、下記の
図3の説明の文脈で、報告モジュール112に関する追加の詳細を提供する。
【0031】
ユーザデバイス102は、使用管理モジュール116も含む。使用管理モジュール116は、下記の
図6の説明の文脈で詳細に説明される様々な機能を実行する。1つの機能として、使用管理モジュール116は、トリガイベントが発生すると、個人使用情報をユーザに提示する。例えばあるタイプのトリガイベントとして、ユーザは、個人使用情報を明示的に要求することがある。あるいは、ユーザは、アプリケーション104のうちの1つをアクティブ化してもよく、これは、使用管理モジュール116に個人使用情報を要求するように促す。上記で要約したように、個人使用情報は、指定された時間期間内に各アプリケーションが消費したデータの量を明細に記す。あるいはまた、処理システム106は、使用管理モジュール116を実装することができる。ユーザは、自身のユーザデバイス102(又は、パーソナルコンピューティングデバイスなどの任意の他のデバイス)を使用して、リモートに配置された使用管理モジュール116に関連付けられたサービスにアクセスすることができる。
【0032】
ここで処理システム106を参照すると、この機能性は、代表的なユーザデバイス102を含む複数のユーザデバイスから実際の使用データを受信する受信モジュール118を含む。受信モジュール118は、実際の使用データを解析し、実際の使用データをイベントストア120内に格納する。アプリケーション104が、リモートリソース(例えばウェブページ等)に対応する場合、受信モジュール118は、どのようなシステムであっても、アプリケーション104を実行するシステムから実際の使用データを受信することができる。
【0033】
使用分析モジュール122は、イベントストア120から実際の使用データを取り出し、このデータに対して分析を実行する。例えば、他の分析機能の中でも特に、使用分析モジュール122は、ユーザの個人使用情報を生成する。あるいはまた、使用分析モジュール122は、ユーザが自身のユーザデバイスにダウンロードしてインストールする可能性がある各候補アプリケーションについて、期待される使用情報を導出することができる。一実施形態では、使用分析モジュール122は、個人使用情報及び期待される使用情報をオンデマンドの形で、例えばユーザがこの情報を要求するときに、生成することができる。あるいはまた、使用分析モジュール122は、個人使用情報及び期待される使用情報を、バックグラウンドのタスクとして、すなわち、この情報がユーザによって要求される時点の前に生成することができる。本開示は、下記の
図4の説明の文脈で、使用分析モジュール122により実行される機能に関する追加の詳細を提供する。
【0034】
処理システム106は、市場システム124も含むことができる。市場システム124は、ユーザによって要求されるときにユーザによってダウンロード(又は他の形で利用)され得る複数の候補アプリケーションを格納するアプリケーションストア126を提供する。市場システム124は、候補アプリケーションのそれぞれに関する説明的な詳細も提供する。ユーザは、特定の候補アプリケーションに関する説明的な詳細をレビューして、そのアプリケーションをダウンロード(又は他の形で利用)することが適切であるかどうかを判断することができる。説明的な詳細の一部は、候補アプリケーションについて、期待される使用情報を識別する。市場システム124は、期待される使用情報を使用分析モジュール122から取得することができる。ユーザは、使用管理モジュール116を介して又は何らかの他のアクセス機構(使用管理モジュール116を除く)を介して、市場システム124にアクセスすることができる。本開示は、下記の
図5の説明の文脈で市場システム124によって実行される機能に関する追加の詳細を提供する。
【0035】
図2は、
図1の環境100を実装する1つのシステム200を示す。システム200は、任意のタイプの複数のユーザデバイス202を含む。任意のユーザデバイスは、無線通信を介してリモートエンティティと通信する能力を有する任意のタイプのコンピューティング機能性を表すことができる。例えば任意のユーザデバイスは、任意のタイプ携帯電話(例えばスマートフォン)、携帯情報端末デバイス、電子ブックリーダデバイス、ポータブルのゲームコンソールデバイス、任意のサイズのラップトップ又はネットブックタイプのコンピューティングデバイス、タブレットタイプのデバイス、車載ナビゲーションデバイス等を含め、無線通信インタフェースを有する任意のタイプのポータブルデバイスを表すことができる。あるいは、ユーザデバイスは、パーソナルコンピュータ、ゲームコンソールデバイス、セットトップボックスデバイス等のような、無線通信インタフェースを有する任意のタイプの伝統的に静止型のコンピューティングデバイスを表すことができる。
【0036】
通信コンジット108は、ユーザデバイス202がリモートエンティティと通信すること(及び相互に通信すること)を可能にする任意の機構又は機構の組合せを表すことができる。一般的に言うと、通信コンジット108は、任意のローカルエリアネットワーク、任意の広域ネットワーク(例えばインターネット)又はその任意の組合せを表すことができる。通信コンジット108を、任意のプロトコル又はプロトコルの組合せによって規定することができる。
【0037】
通信コンジット108の少なくとも一部を、無線通信インフラストラクチャ204によって実施することができる。ある場合において、無線通信インフラストラクチャ204は、携帯電話の中継塔、基地局、衛星等の集合を表すことがある。無線通信インフラストラクチャ204は、1つ又は複数の無線通信プロバイダによって管理されることがある。各プロバイダは、規定されたプロトコル及びフォーマットを使用してその顧客と対話することがある。通信コンジット108は、有線ネットワークのインフラストラクチャも含むことができる。
【0038】
一実施形態において、処理システム106は、1つ又は複数のサーバコンピューティングデバイス及び関連するデータストア(及び他の電子機器)を表すことがある。処理システム106を、単一のサイトで実装することができ、あるいは複数のサイトにまたがって分散させることができる。さらに、処理システム106を、単一のエンティティ又は複数のエンティティによって管理することができる。例えばある場合において、単一の物理システムが、使用分析モジュール122と市場システム124との双方を実装することができる。別の場合では、複数のシステムが、使用分析モジュール122及び市場システム124を双方することができる。さらに、上で説明したように、リモート処理システム106によって実行されるものとして説明される全ての機能を、その代わりに(又はそれに加えて)ユーザデバイス202によって実行することができ、逆も同様である。
【0039】
システム200は、処理システム106及び/又はユーザデバイス202と対話することができる1つ又は複数の他のシステム206をも含むことができる。例えば他のシステム206は、アプリケーション開発者によって維持されるコンピュータインフラストラクチャを含むことができる。開発者は、開発したアプリケーションの使用関連挙動に関する詳細な使用情報を取得するために処理システム106にアクセスするのに、そのコンピュータインフラストラクチャを使用することができる。この洞察に基づいて、開発者は、任意の形でそのアプリケーションを変更すると決めることができる。例えば開発者は、データを消費する効率を改善するようにアプリケーションを変更することができる。
【0040】
最後に、
図2は、任意のユーザが、例えば処理システム106によって提供されるリモートサービスにアクセスすることにより、任意の別々のユーザデバイス208を使用して、処理システム106によって提供される使用情報にアクセスすることができることを示す。例えばユーザデバイス208は、ユーザがオンライン使用データにアクセスするのに使用するパーソナルコンピューティングデバイスを表す可能性があるが、ユーザはスマートフォンを使用して、実際にアプリケーションを実行し、及びユーザ自身のプランの下でデータを消費する。このシナリオでは、ユーザデバイス208は、使用管理モジュール116をインストールされないものとすることができる。
【0041】
図3は、
図1の説明の文脈で紹介された報告モジュール112の1つの例示的な実装態様を示す。報告モジュール112は、例えばプルベース、プッシュベース又はその組合せのいずれかで、実際の使用データを1つ又は複数のイベントソース304から収集するイベント収集モジュール302を含む。イベントソース304は、ユーザデバイス102によるデータの消費を明示する情報をキャプチャする、ユーザデバイス102内の任意のタイプの機構に対応する。例えば一部の場合において、イベントソース304は、アプリケーション、オペレーティングシステムの機能性及び/又はユーザデバイス102の他のコンポーネントに追加される、イベント収集計測コードに関係することがある。
【0042】
収集される実際の使用データは、異なるタイプのデータを含む可能性がある。あるタイプの実際の使用データは、ユーザデバイス102によって実行されるソケット関連のアクティビティを記述する。別のタイプの実際の使用データは、(所与の時間に実行されている各アプリケーションを識別する)アプリケーション情報を伝える。別のタイプの実際の使用データは、(3G又はWiFiなど、各アプリケーションがリモートエンティティと対話するのに使用しているネットワークインタフェースモードのタイプを識別する)ネットワークインタフェース情報を伝える。他のタイプの実際の使用データは、プッシュ通知アクティビティ、バックグラウンド転送サービス・アクティビティ、ビデオストリーミング・アクティビティ等を記述することがある。上述のタイプの実際の使用データは、代表的なものであって網羅的ではなく、他の実装態様では、追加のタイプの実際の使用データを収集することができ、あるいは、上記で言及された1つ又は複数のタイプの実際の使用データを省略することができる。
【0043】
上で説明した実装態様において、イベント収集モジュール302は、ユーザデバイス102内で発生するアクティビティのみに基づいて、実際の使用データを収集する。あるいはまた、環境100内の他のエンティティは、ユーザデバイス上で実行しているアプリケーションによるデータの消費を反映する情報を収集することができる。例えば、無線通信インフラストラクチャ204の一部である任意のエンティティは、実際の使用データを収集することもできる。あるいはまた、処理システム106は、特に、アプリケーションが、実際にはユーザデバイス102ではなく処理システム106上で実行されるリモートアプリケーションである場合に、実際の使用データを収集することができる。それでも、説明を容易にするために、以下では、環境100が、実際の使用データをユーザデバイスから収集すると仮定する。
【0044】
図1に関連して上述したように、イベント収集モジュール302は、実際の使用データを一時ストア114に格納する。イベント転送モジュール306は、一時ストア114に格納される実際の使用データを(データの格納の前又は後に)圧縮することができる。その後、規定された報告時間に(例えば1つの単に代表的な場合で30分ごとに)、イベント転送モジュール306は、圧縮された実際の使用データを処理システム106に転送することができる。イベント転送モジュール306は、通信コンジット108を介してこの転送を実行することができ、通信コンジット108は、前に言ったように、無線通信インフラストラクチャ204のサービスに依拠する可能性がある。
【0045】
管理モジュール308は、報告モジュール112の動作を全般的に管理する。例えば報告モジュール112は、利用可能なイベントソース304のレジストリを保持することができる。構成情報に基づいて、報告モジュール112は、個々のイベントソースをアクティブ化又は非アクティブ化することができる。非アクティブにされた場合に、イベントソースは、一時ストア114に格納される実際の使用データに寄与しない。
【0046】
報告モジュール112は、様々な機構を使用して報告モジュール112を実装することができる。例えば1つの非限定的な実装態様では、報告モジュール112は、米国ワシントン州レドモンドのMicrosoft(登録商標)社によって提供されるEvent Tracing for Windows(登録商標)(ETW)を使用して、報告モジュール112を実装することができる。ETWは、典型的にアプリケーションの性能のデバッグ又はテストに使用される、イベントのログを取るカーネルレベル機能性を表す。
【0047】
図4は、処理システム106によって提供される使用分析モジュール122の1つの例示的な実装態様を示す。使用分析モジュール122は、使用データを格納する使用データストア402を保持することができる。本明細書で使用されるとき、使用データは、使用分析モジュール122が個人使用情報又は期待される使用情報(及び他のタイプの使用情報)を生成するのに使用することができる任意の情報を指す。例えば各ユーザデバイスの報告モジュール112は、使用データストア402に格納される使用データに寄与する実際の使用データを提供することができる。
【0048】
あるいはまた、使用シミュレータ404は、アプリケーションの使用をシミュレートすることができる。この動作は、使用データストア402に格納される使用データに寄与する、シミュレートされた使用データを提供する。一実装態様では、使用シミュレータ404は、処理システム106上で動作するエミュレータに対応する可能性がある。あるいはまた、使用シミュレータ404は、1つ又は複数の実際のユーザデバイス上で動作するテスト機能性に対応する可能性がある(ユーザデバイスは、この状況では動作のシミュレーションモードで機能する)。いずれの場合も、使用シミュレータ404は、アプリケーションによって提供される機能性を自動的に呼び出すことによって動作してよく、これにより、実際のユーザがアプリケーションを手作業で利用する手法をシミュレートする。使用シミュレータ404は、アクティブ化の予め定義されたシーケンスを適用するルーチン、アクティブ化のランダムシーケンスを適用するルーチン又はその組合せを含め、アプリケーションをシミュレートする任意のシミュレーションルーチンを使用することができる。報告モジュール(図示せず)は、シミュレーション動作中に消費されるデータを表す、シミュレートされた使用データを収集することができる。下で説明するように、使用分析モジュール122は、実際の使用データが利用可能ではないか、適切な豊富さでは利用可能ではない場合において、シミュレートされた使用データに依拠する可能性がある。
【0049】
もう1つの収集モジュール406は、補足使用データを収集し、このデータを使用データストア402に追加することができる。より具体的には、補足使用データは、個人使用情報及び期待される使用情報(及び他の使用情報)の計算と関係があるが、データの消費を直接には表さない情報を提供する。例えば収集モジュール406は、ユーザデバイス202を操作するユーザのユーザプロファイルデータを収集することができる。各ユーザのユーザプロファイルデータは、そのユーザが典型的にアプリケーションと対話する手法を表す。下で説明するように、使用分析モジュール122は、ユーザプロファイルデータを使用して、個々のそれぞれのユーザの挙動に特に密接に関係する使用情報を生成することができる。
【0050】
ある場合において、収集モジュール406は、ユーザプロファイルデータを、上で説明した(例えば
図3を参照して説明した)手法で収集された実際の使用データから集めることができる。例えば実際の使用データに基づいて、収集モジュール406は、アプリケーションと対話している間にユーザが典型的に実行するアクションのタイプと、ユーザがこれらのアクションを実行する頻度と、これらのアクションによって消費されるデータの量とを判定することができる。収集モジュール406は、このタイプの証拠に基づいて、ユーザの挙動を分類するユーザプロファイルデータを定式化することができる。収集モジュール406は、ユーザがその下でデータを消費したデータプランの諸条件を識別することによるなど、各ユーザの消費関連の挙動に資格を与える情報を提供することもできる。
【0051】
より具体的には、収集モジュール406は、任意のレベルの粒度でユーザのユーザプロファイルデータを定式化することができる。ある場合において、収集モジュール406は、異なるタイプのアプリケーションの間で区別せずに、アプリケーションを使用している間にユーザが典型的に消費するデータの量を分類するユーザプロファイルデータを提供する。例えばユーザのユーザプロファイルデータは、ユーザが、アプリケーションを使用している間に概して(ビデオアイテムなどの)大きいコンテンツアイテムを消費するという実証済みの傾向を有するので、そのユーザを、データ高消費ユーザとして分類することができ、あるいはまた、そのユーザが、アプリケーションを使用している間に概して大量のメッセージを送信及び/又は受信するので、データ高消費ユーザと見なすことができる。
【0052】
別の場合において、収集モジュール406は、異なるタイプのアプリケーションとの対話中のユーザの消費関連の挙動を判定することができる。例えば収集モジュール406は、ユーザが、ニュース関連アプリケーションではなくソーシャルネットワーキングアプリケーションを使用している間に大きいコンテンツアイテムをダウンロードする頻度を判定することができる。この洞察に基づいて、収集モジュール406は、異なるタイプのアプリケーションに関するユーザの挙動を分類することができる。例えばユーザのプロファイルデータは、ユーザが、ソーシャルネットワーキングアプリケーションに関してデータ高消費ユーザであるが、他の全てのタイプのアプリケーションに関しては中程度のデータ消費のユーザであることを示すことがある。収集モジュール406は、任意の他の1つ又は複数の判断基準を使用して、各ユーザの消費関連の挙動のある態様を分類することができる。
【0053】
上の例では、収集モジュール406は、アプリケーションを使用している間にユーザが消費するデータの量という直接的な証拠に基づいて、ユーザのユーザプロファイルデータを導出する。あるいはまた、収集モジュール406は、アプリケーションを使用している間にデータを消費するユーザの傾向を測る間接的な要因を使用することができる。代表的な要因は、ユーザがソーシャルネットワーキングサイト上で維持する連絡先の数、あるアプリケーションを使用している間にユーザが一緒に同期化する電子メールアカウントの数、(年齢、居住地、組織的な所属等のような)ユーザに関する人口学的情報等を含む。
【0054】
収集モジュール406は、各ユーザについて、ユーザのデータの消費を管理するデータプランの性質を表すプランデータを収集することもできる。例えば、特定のユーザのプランデータは、そのユーザの支払請求サイクル、そのユーザのデータ限度等を記述することができる。収集モジュール406は、プランデータを異なる方法で取得することができる。ある手法では、収集モジュール406は、ユーザがこの情報を手作業で提供するときに、ユーザからプランデータを取得することができる。別の手法では、収集モジュール406は、ユーザにサービスを提供する無線通信プロバイダなど、プランを管理するどのようなエンティティからもユーザのプランデータを取得することができる。例えば収集モジュール406は、特定の要求メッセージを送信することによって、無線通信プロバイダに照会することができる。その要求メッセージを、例えば、SMSメッセージ又は類似物として定式化することができる。無線通信プロバイダは、ユーザのプランデータを提供することによって応答する。別の手法では、収集モジュール406は、無線通信プロバイダの支払請求システムと直接に通信してもよい。以下で説明するように、使用分析モジュール122は、プランデータに関して使用情報を定式化することができる。これは、ユーザに、ユーザ自身のデータプランによって課される制約のコンテキストにおいて、そのユーザのデータ使用の結果について見解を与える。
【0055】
上記で提供した補足使用データの例は、代表的なものであって網羅的ではない。すなわち、収集モジュール406は、使用分析モジュール122によって実行される分析に関係する追加のタイプの補足データを収集することができる。
【0056】
エネルギ・モニタモジュール408は、オプションで、(これまでに説明した使用データは、データ関連の実際の使用データに関係するのに対して)エネルギ関連の実際の使用データを提供することもできる。より具体的には、アプリケーションは、ディスプレイの電源を入れること、CPUを使用すること及びネットワークを介して情報を転送することなどの、様々な機能を実行することがある。エネルギ・モニタモジュール408は、これらの機能のそれぞれが消費するエネルギの量を測定し、これらのエネルギ消費の全てを合計して、アプリケーションによって消費されたエネルギの総量の表示を提供することができる。エネルギ・モニタモジュール408は、バッテリ電圧レベル又は何らかの他のバッテリ関連メトリックをモニタリングすることになどによって、様々な形でエネルギ消費を測定することができる。あるいはまた、エネルギ・モニタモジュールは、モバイルデバイス102の異なるコンポーネントに配置される負荷をエネルギ消費に変換するモデルを使用することができる。使用管理モジュール116は、エネルギ関連使用情報を使用して、エネルギ関連の個人使用情報及びエネルギ関連の期待される使用情報を提供することができる。(しかし、説明を単純にするために、
図1の環境100を、主に、実際の使用データがエネルギではなくデータの消費を測定するという前提に基づいて説明し続ける。)アプリケーションのエネルギの消費は、ネットワークを介するデータの転送だけではなく、そのアプリケーションが実行する全てのプロセスに関与することに留意されたい。しかし、ネットワークを介してデータを送信及び受信してアプリケーションが消費するエネルギの量を明確に示すエネルギ測定値を生成することも可能である。
【0057】
使用分析モジュール122は、上述の使用データに基づいて個人使用情報及び/又は期待される使用情報を導出する分析モジュール410も含む。分析モジュール410がこの機能を実行する手法を、
図7の説明の文脈で下述する。
【0058】
最後に、使用分析モジュール122は、エンティティインタフェースモジュール412を含むことができる。エンティティインタフェースモジュール412は、任意のエンティティが使用分析モジュール122と対話できるようにするインタフェース機能を提供する。そのようなエンティティは、任意のユーザデバイス、(開発者によって管理される)開発者システム等を含むことができる。
【0059】
図5は、環境100内で処理システム106又は何らかの他のコンポーネントによって提供される市場システム124の1つの例示的な実装態様を示す。市場システム124は、1つ又は複数のサーバコンピュータ及び関連するデータストアを表してよい。
【0060】
市場システム124は、アプリケーション受信及び前処理モジュール502(以下では、簡潔さのために単に「受信モジュール」502とする)を含む。受信モジュール502は、アプリケーションストア126への格納のために任意のソースから任意のタイプのアプリケーションを受信することができる。例えば受信モジュール502は、通常のエンドユーザ、プロフェッショナルのアプリケーション開発者等からアプリケーションを受信することができる。受信モジュール502は、格納の前にアプリケーションに対してオプションの前処理を実行することもでき、例えば受信モジュール502は、アプリケーションを分析して、該アプリケーションがセキュリティ脅威をもたらすかどうかを判定することができる。アプリケーションストア126によって格納されるアプリケーションは、これらのアプリケーションがユーザによるダウンロード(及び/又はユーザによるオンライン使用)の候補であるために、候補アプリケーションと呼ばれる。市場システム124は、各候補アプリケーションに関連する説明的なメタデータを格納することもできる。
【0061】
市場システム124は、アプリケーション検索モジュール504をも含む。検索モジュール504は、ユーザがアプリケーションストア126内をナビゲートして、ユーザ自身のニーズを満たす候補アプリケーションを見つけることを可能にする。そのようなナビゲーションは、候補アプリケーションに関連付けられた説明的なメタデータを基礎として実行される。例えばユーザは、アプリケーション検索モジュール504を使用して、アプリケーションの異なるカテゴリをブラウズすることができる。あるいはまた、ユーザは、アプリケーション検索モジュール504を使用して、指定された検索用語を満たすアプリケーションを識別すること等ができる。潜在的に適切な候補アプリケーションを識別すると、アプリケーション検索モジュール504はユーザに、候補アプリケーションに関する任意のレベルの説明的な詳細を供給することができる。
【0062】
例えば、詳細の1つのカテゴリとして、使用プレゼンテーションモジュール506は、候補アプリケーションに関連する期待される使用情報を明らかにすることができる。上述のように、期待される使用情報は、特定のユーザによって使用されるときにアプリケーションが消費すると期待されるデータの量を記述する。これに続く例は、環境100が期待される使用情報を導出し、適用する手法を明瞭にするものである。
【0063】
アプリケーション獲得モジュール508は、ユーザが、ユーザのニーズを満たすアプリケーションを獲得することを可能にする。例えばユーザは、アプリケーション獲得モジュール508と対話して、アプリケーションを購入してダウンロードする(又は他の形でアプリケーションへのアクセスを得る)こと、あるいはアプリケーションが無料で利用可能である場合には単にアプリケーションをダウンロードすることができる。
【0064】
最後に、エンティティインタフェースモジュール510は、任意のエンティティが市場システム124と対話できるようにするインタフェースを提供する。1つのそのようなエンティティは、自身のユーザデバイスを操作している個々のユーザに対応することができる。
【0065】
図6は、
図1の代表的なユーザデバイス102のような、各ユーザデバイスによって提供される使用管理モジュール116の1つの例示的な実装態様を示す。使用管理モジュール116は概して、使用情報の提示に関係するユーザデバイス102の全ての機能を実行する。あるいは、使用管理モジュール116の1つ又は複数の態様を、処理システム106によって実行することができる。これは、例えば使用管理の機能性がオンラインサービスとして実施されるときにあてはまる。
【0066】
使用管理モジュール116は、ユーザと対話するためのユーザインタフェースモジュール602を含む。例えばユーザインタフェースモジュール602は、デバイスの画面及び/又は他の出力機構(1つ又は複数)を介して情報をユーザに表示する機能性を含むことができる。ユーザインタフェースモジュール602は、例えばキーパッド、タッチセンサ式の入力画面、マウスデバイス及び/又は他の入力機構を介して、ユーザから情報を受け取る機能性を含むこともできる。
【0067】
処理システムインタフェースモジュール604は、使用管理モジュール116が、処理システム106及び/又は環境100内の任意の他のエンティティと情報を交換できるようにする。例えば使用管理モジュール116は、個人使用情報及び/又は期待される使用情報を、処理システムインタフェースモジュール604を介して処理システム106から受け取ることができる。
【0068】
一般に、使用管理モジュール116は、これには限定されないが、SMS伝送機構のような任意の伝送機構を介して、処理システム106とデータを交換することができる。さらに、使用管理モジュール116を処理システム106に結合する無線通信インフラストラクチャ204は、あるフォーマット及びプロトコルの使用を指定してもよい。この点を考慮して、処理システム106は、使用管理モジュール116に送信する情報を、適切なプロバイダ固有の手法で解析し、構造化することができる。
【0069】
使用管理モジュール116は、使用プレゼンテーショントリガモジュール606を含むことができる。名前が示唆するように、使用プレゼンテーショントリガモジュール606は、使用情報の提示をトリガするイベントが発生した時を検出する。ある場合において、使用プレゼンテーショントリガモジュール606は、ユーザが個人使用情報を明示的に要求するとき又はユーザがアプリケーションをアクティブ化するときに、個人使用情報の提示をトリガする。別の場合では、処理システム106は、ユーザが市場システム124にアクセスするときに、期待される使用情報を提供する。
【0070】
プレゼンテーションモジュール608は、使用情報がユーザに表示される(又は何らかの他の形式でユーザに提示される)手法を制御する。例えば、以下でより詳細に説明されるように、プレゼンテーションモジュール608は、使用情報を、テキスト形式、グラフィカル形式又はそれらの何らかの組合せで提示することができる。
【0071】
構成モジュール610は、ユーザが、使用管理モジュール116が動作する方法を構成できるようにする。1つのオプションによると、例えば構成モジュール610は、ユーザが、異なるアプリケーションの個々のアプリケーション固有の割り当て(quota)をセットできるようにすることができる。アプリケーション固有の割り当ては、所与のアプリケーションが支払請求サイクル内にどのくらい消費するのを許可されるかを記述する。使用管理モジュール116は、ユーザが支払請求サイクルの間にアプリケーション固有の割り当てを超えるときに、警告又は他の情報メッセージを発行すること、又はアプリケーションの使用を禁止することなどにより、様々な環境固有のアクションを実行することができる。
【0072】
最後に、オプションのデバイス変更モジュール612は、使用情報に基づいて(及び/又は生の実際の使用データに基づいて)アプリケーションの動作を管理することができる。例えばデバイス変更モジュール612は、特定のアプリケーションが消費したデータの量をモニタリングすることができる。使用が、規定された閾値を超えるか、他の閾値の挙動を示す場合、デバイス変更モジュール612は、アプリケーションがそのデータの消費においてより効率的になるように、アプリケーションが動作する方法を変更することができる。例えばデバイス変更モジュール612は、ユーザに提示されているビデオアイテムの解像度を下げることができる。あるいはまた、デバイス変更モジュール612は、大量のデータを消費する、あるアプリケーション特徴の使用を無効にするか、又は他の形で限定することができる。例えばデバイス変更モジュール612は、使用中にユーザに広告を提示するアプリケーションの能力を、無効にするか制限することができる。より具体的には、一部の場合において、デバイス変更モジュール612は、アプリケーション自体を変更することによって変更を行うことができる。あるいはまた、デバイス変更モジュール612は、アプリケーションが依拠しているユーザデバイス102によって提供される他のリソースを変更することにより、変更を行うことができる。
【0073】
補足として、
図1は、報告モジュール112と使用管理モジュール116が別々のコンポーネントを表すことを示す。しかし、別の実装態様では、報告モジュール112は、使用管理モジュール116内のコンポーネントを表してもよい。
【0074】
図7は、分析論理702及び使用プレゼンテーション論理704の高水準の図を示す。分析論理702は、使用データに対して分析を実行して、使用情報(例えば個人使用情報又は期待される使用情報のいずれか)を導出する。使用プレゼンテーション論理704は、ユーザへの提示のために使用情報を特定の形式に定式化する。
図1の環境100内の異なるコンポーネントが、分析論理702及び使用プレゼンテーション論理704を実施することができる。例えば
図4は、使用分析モジュール122が、分析論理702の態様を実施できる分析モジュール410を使用できることを示す。
図5は、市場システム124が、使用プレゼンテーション論理704の態様を実施できるプレゼンテーションモジュール506を使用できることを示す。また、
図5は、使用管理モジュール116が、使用プレゼンテーション論理704の態様も使用するプレゼンテーションモジュール608を使用できることを示す。より一般的に言うと、環境100は、分析論理702及び使用プレゼンテーション論理704を、環境固有の考慮事項に基づいて、任意の形で環境100の異なるコンポーネントに分散させることができる。したがって、本明細書で説明される分析機能及びプレゼンテーション機能のいずれも、ユーザデバイスに対してローカル及び/又はリモートで実行することができる。次の説明では、用語「特定のユーザ」は、その使用情報(例えば個人使用情報又は期待される使用情報のいずれか)が提供されるユーザを指す。特定のユーザ以外の他のユーザは、「他のユーザ」である。
【0075】
図7は、分析論理702の動作を管理する様々なオプションを識別する。例えば
図7は、分析論理702が、様々なタイプの入力データに基づいて使用情報を生成できることを示す。入力データの1つのタイプは、実際の使用データに対応する。これに従う例のほとんどでは、実際の使用データは、データ関連の実際の使用データに対応するが、その代わりに又はそれに加えて、エネルギ関連の使用データに対応することができる。入力データのもう1つのタイプは、シミュレートされた使用データである。列挙されていないが、分析論理702は、更なるタイプの入力データに依存することができる。
【0076】
図7は、分析論理702が、様々なタイプの資格認定の考慮事項(qualifying consideration)に基づいて使用情報を生成できることも示す。資格認定の考慮事項の1つタイプは、ユーザが契約上のデータプランに基づいてデータを消費することを許される方法を指定するプランデータに対応する。資格認定の考慮事項のもう1つのタイプは、アプリケーションを使用している間にユーザが典型的にデータを消費する方法を特徴付けるユーザプロファイルデータに対応する。列挙されていないが、分析論理702は、さらなるタイプの資格認定の考慮事項に依存することができる。
【0077】
図7は、分析論理702が、異なるタイプの使用情報を生成できることも示す。ある場合において、例えば分析論理702は、ユーザデバイス102上にインストールされた各アプリケーションが規定の時間期間内に消費したデータの量を反映する個人使用情報を、生成することができる。別の場合において、分析論理702は、計画された使用情報に関連する個人使用情報を提示することができる。分析論理702は、ユーザの将来のデータの消費がユーザの最近のデータの消費に類似するであろうという前提に基づいて、個人使用情報を将来にまで拡張するか又は外挿することによって、計画された使用情報を形成することができる。
【0078】
別の場合において、分析論理702は、個人使用情報に関連する比較使用情報を提示することができる。分析論理702は、比較使用情報を、ユーザが自身の個人使用情報をそれに対して評価することができるベンチマークとして提供することができる。一実装態様では、分析論理702は、特定のユーザ(特定のユーザデバイスを操作する)の特定のアプリケーションの比較使用情報を、やはり特定のアプリケーションを実行する他のユーザデバイスのグループによって提供される実際の使用量を処理することによって計算することができる。下記で説明するように、使用データのこの処理を、例えば平均値又は中央値を形成することによるなど、様々な方法で実行することができる。
【0079】
別の場合において、分析論理702は、候補アプリケーションが特定のユーザによって使用される時に消費すると期待されるデータの量を指す、期待される使用情報を生成することができる。分析論理702は、期待される使用情報を、比較使用情報と同じ手法で、例えば候補アプリケーションを実行していたユーザデバイスのグループによって提供される実際の使用データを処理することによって形成することができる。あるいはまた、分析論理702は、シミュレートされた使用データに基づいて(少なくとも部分的に)期待される使用情報を形成することができる。あるいはまた、アプリケーションを開発する開発者は、アプリケーションの期待される使用情報を提供することができる。
【0080】
分析論理702は、オプションで、使用情報を受け取ることになる特定のユーザに関連するユーザプロファイルデータ並びに他のユーザのグループに関連するユーザプロファイルデータを考慮に入れて、比較使用情報及び期待される使用情報を調整することもできる。
【0081】
別の場合において、分析論理702は、機能ごとの詳細な使用情報を生成することができる。この使用情報は、無線通信を用いる特定のアプリケーション内の個々の機能によって消費されたデータの量を識別する。あるシナリオでは、開発者は、アプリケーションの効率を改善するためにアプリケーションをどのように変更できるのかに関する洞察を得るために、このタイプの情報を要求する場合がある。
【0082】
さらに、上記で説明した使用情報のカテゴリのうち任意のものを、データ使用ではなく(又はデータ使用に加えて)エネルギ使用の文脈で表すこともできる。例えば分析論理702は、エネルギ関連の個人使用情報及びエネルギ関連の期待される使用情報を生成することができる。また、このエネルギ関連の情報を、上で説明した形でユーザプロファイルデータに基づいて調整することができる。
【0083】
図7は、使用プレゼンテーション論理704の動作を管理する様々なオプションも識別する。例えば上述のように、使用プレゼンテーション論理704は、英数字の形式若しくはグラフィカル形式、又はその組合せで使用情報を提示することができる。使用プレゼンテーション論理704は、毎月の支払請求サイクルなど、任意の時間間隔に関連して使用情報を提示することもできる。一部の場合において、使用プレゼンテーション論理704は使用情報を、要約の形で、例えば要約バッジ(summary badge)として表すこともできる。
【0084】
図8〜15は、分析論理702及び使用プレゼンテーション論理704の出力の例を示す。各ケースにおいて、ユーザデバイス102は、ユーザデバイス102のディスプレイ画面802上に出力を提示することができる。例えばスマートフォン又は類似物の場合、ディスプレイ画面802は、タッチセンサ式入力機構としても機能することができる。ユーザは、ディスプレイ画面802と物理的に対話して、使用管理モジュール116によって提供されるサービス内でナビゲートすることができる。あるいはまた、ユーザは、パーソナルコンピューティングデバイス又は何らかの他の固定のコンピューティングデバイスを使用して使用情報にアクセスすることができる。
【0085】
(
図8〜
図10における)シナリオA〜Gにおいて、環境100は、個人使用情報を、ユーザデバイス102を使用している特定のユーザに提示する。個人使用情報は、ユーザデバイス102にインストールされる(又は他の形でアクセス可能な)各アプリケーションが、現在の支払請求サイクル内でこれまでにどのくらいのデータを消費したのかを明細に記す。シナリオA〜Gは、この情報を、以下で説明する異なる形で伝える。これらの様々なシナリオは、異なるそれぞれの提示戦略に適合するが、任意のシナリオが、本明細書で説明される提示戦略のうちの2つ又はそれ以上を組み合わせることができる。
【0086】
シナリオAでは、環境100は、アプリケーションごとに単一の値を提示する。その単一の値は、各アプリケーションが現在の支払請求サイクル内で消費したデータの量を識別する。
【0087】
シナリオBでは、環境100は、アプリケーションごとに2つの値を提示する。第1の値は、アプリケーションが第1のネットワークインタフェースモード(例えば3G通信)を使用してどのくらいのデータを消費したのかを識別し、第2の値は、アプリケーションが第2のネットワークインタフェースモード(例えばWiFi(登録商標)通信)を使用してどのくらいのデータを消費したのかを識別する(なお、3G通信は典型的にWiFi通信より高価である)。図示されていないが、環境100は、任意のネットワークインタフェースモードに関連付けられる特定のネットワークエンティティを識別することもできる。例えばユーザが、該ユーザ自身の故郷の州で自身のデバイスを使用するときには通常、第1の無線通信プロバイダを使用するが、別の州にある職場にいるときには第2の無線通信プロバイダを使用すると仮定する。この状況では、環境100は、無線通信プロバイダごとにセルラデータ使用を分割することができる。
【0088】
シナリオCでは、環境100は、各アプリケーションが消費したデータの量を識別する単一の値を提示するが、この場合において、環境100は、アプリケーションのアプリケーション固有の割り当ても伝える。ユーザ(又は他のエンティティ)は、
図6の構成モジュール610を介してこのアプリケーション固有の割り当てを指定することができる。
【0089】
シナリオD(
図9)は、アプリケーションが消費したデータの量を、例えば上で説明したアプリケーション固有の割り当てによって表されるようなアプリケーションに割り振られたデータの総量に対して相対的に伝えるグラフィカルフォーマットを使用する。この例では、環境100は、円グラフを使用して、アプリケーションによって消費されたアプリケーション固有の割り当ての比を伝えているが、環境100は、(棒グラフ又は類似物のような)任意の他の適切なグラフィカルフォーマット又はフォーマットの組合せを使用して、この情報を伝えることができる。
【0090】
シナリオEでも、環境100は、アプリケーションが消費したデータの量をグラフィカル形式で伝える。しかし、シナリオEでは、環境100は、個人使用情報を拡張して、ユーザがアプリケーションのアプリケーション固有の割り当てに達すると期待される時の表示を提供している。この外挿は、ユーザが、現在の時点までと同じ手法でアプリケーションの使用を継続するという前提を設けるものである。シナリオEは、グラフィカル描写の顕著な特徴を説明する、説明的なテキストのキャプションも示す。本明細書で使用される用語法によれば、アプリケーションによるデータの推定された将来の消費を伝える情報は、計画された使用情報を構成する。
【0091】
シナリオF(
図10)は、単一の値を使用して、各アプリケーションが現在の支払請求サイクル内に消費したデータの量を伝える。さらに、環境100は、各アプリケーションについて、他のユーザがこの同じアプリケーションを使用している間に消費したデータの量を伝える、単一の値を提供することができる。本明細書で使用される用語法によれば、他のユーザのデータ消費に関する情報は、比較使用情報の例を構成する。シナリオFは、テキスト形式で個人使用情報及び比較使用情報を提示するが、この情報を、グラフィカル形式(例えば、棒グラフの形又は類似物)で提示することもできる。
【0092】
ある場合において、環境100は、特定のアプリケーションを使用していた(他のユーザによって操作される)ユーザデバイスのグループから実際の使用データを収集することによって、特定のアプリケーションについての比較使用情報を形成することができる。環境100は次いで、収集された実際の使用データを処理して、比較使用情報を形成する。
【0093】
この処理は、様々な形式をとることができる。例えば環境100は、ユーザデバイスのグループによる特定のアプリケーションの平均の実際のデータ使用を記述する平均値を提示することができる。さらに、環境100は、平均使用値に関連する標準偏差を記述する標準偏差値を提示することができる。あるいはまた、環境100は、ユーザデバイスのグループによる特定のアプリケーションの中央の実際のデータ使用を記述する中央値を提示することができる。あるいはまた、環境100は、ユーザデバイスのグループ内の個々のユーザデバイスから受信したデータ使用の読み取り値の分布を表す分布情報を提示することができる。これらのシナリオは、限定ではなく例として提示されたものであって、他の実装態様は、他の形で使用データの集合に対して処理を実行することができる。
【0094】
シナリオGも、比較使用情報に関連して個人使用情報を表す。しかし、このケースでは、環境100は、(
図10のGに示された情報を受け取る)特定のユーザに関連するユーザプロファイルによって反映されるように、このユーザの消費関連の挙動を反映する形で比較使用情報にバイアスを与える。環境100は、このバイアス又は調整を異なる方法で実行することができる。一実装態様では、環境100は、まず、特定のユーザの消費関連の挙動を分類することができる。より具体的には、ある場合において、環境100は、アプリケーションの異なるクラスの間を区別することなく、ユーザが以前に対話したことがある全てのアプリケーションに関して、ユーザの消費関連の挙動を決定することができる。別の場合において、環境100は、ユーザが以前に対話したことがあるアプリケーションの特定のクラスに関して、ユーザの消費関連の挙動を決定することができる。例えば環境100が、特定のアプリケーション、例えば「アプリケーションA」の比較使用情報を生成しようとすると仮定する。環境100は、アプリケーションAがソーシャルネットワーキングアプリケーションであると判定することができる。環境100は次いで、ユーザがアプリケーションA並びに他のソーシャルネットワーキングアプリケーションと対話した形に基づいて、ユーザの消費関連の挙動を分類することができる。
【0095】
特定のユーザを分類した後に、環境100は、特定のユーザの識別されたクラスの消費関連の挙動に密接に関係する比較使用情報を提示することができる。例えば環境100が、ある期間にわたって、ユーザがデータ高消費ユーザに対応すると判定すると仮定する。環境100は、特定のアプリケーション(例えば「アプリケーションA」)について、他のデータ高消費ユーザがアプリケーションAを使用した形を記述するか近似する比較使用情報を提示することができる。
【0096】
環境100は、様々な方法で他のユーザの挙動を表し、又は近似することができる。ある手法では、環境100は、アプリケーションAを使用したことがあり、かつ(それぞれのユーザプロファイルデータに基づいて)データ高消費ユーザとしても分類されている他のユーザのサブセットを識別することができる。より具体的には、第1の場合において、これらの他のユーザは、アプリケーション全般の大量消費に起因してデータ高消費ユーザに対応する可能性があり、第2の場合では、これらのユーザは、アプリケーションAと同一のクラスのアプリケーションの消費に起因して、データ高消費ユーザに対応する可能性がある。環境100は、比較使用情報を、ユーザのこのサブセットによって示される消費の平均値として、又は何らかの他のメトリックを使用することによって表すことができる。
【0097】
別の場合において、環境100は、アプリケーションAを使用したことがある全てのユーザの消費の読取値の分布を形成することができる。環境100は、その分布の上側の範囲の端からの代表的なデータ使用の読取値を抽出することによって、比較使用情報を形成することができる。
【0098】
さらに別の場合において、環境100は、アプリケーションAを使用したことがある全てのユーザの消費の平均をとり、この値に固定オフセットを加算して特定のユーザがデータ高消費ユーザであることを反映することによって、比較使用情報を形成することができる。さらに別の手法を適用して、比較使用情報を計算することができる。
【0099】
上で示した例のいずれにおいても、環境100は、比較使用情報を生成するときに、ユーザのデータプランを考慮に入れることもできる(プランデータは、ユーザに関連するユーザプロファイルデータのコンポーネントと考えることができる)。すなわち、ユーザの消費関連の挙動は、ユーザがデータを消費することを許される契約条件によって影響される。例えば、相対的に高い毎月の限度を有するユーザは、トランザクションごとにデータ使用について支払うユーザと比較して、アプリケーションの使用において、より気前がよいと期待することができる。したがって、環境100は、特定のユーザのデータの消費を管理するデータプランを確かめ、同一のデータプランを共有するユーザのサブセットから比較使用情報を定式化することができる。これは、特定のユーザの真の同等者(true peer)であるユーザについて、より頑健な識別をもたらす。
【0100】
もう1つの戦略では、環境100は、ユーザに、該ユーザがアプリケーションAと同一タイプのアプリケーションを使用している間にどのくらいのデータを消費したのかの表示を与えることによって、比較使用情報を形成することができる。例えば、アプリケーションAがソーシャルネットワーキングアプリケーションである場合、環境100は、ユーザが他のソーシャルネットワーキングアプリケーションを使用している間に平均してどのくらいのデータを消費したのかの表示をユーザに与える比較使用情報を形成することができる。この比較使用情報は、これによって、同一の基本的機能を実行する他のアプリケーションに関して特定のアプリケーションがどの程度効率的であるのかを明らかにする。このタイプの比較使用情報は、特定のユーザの挙動だけに基づくものとすることができるが、他のユーザの使用量挙動を考慮に入れることもできる。
【0101】
図11に進むと、この図は、環境100が、(ユーザのユーザデバイス102にまだダウンロードされていない可能性がある候補アプリケーションに関する)期待される使用情報を提示することができる1つの手法を示す。環境100は、特定のユーザが市場システム124にアクセスするときに、そのユーザに期待される使用情報を提示することができる。例えば、利用可能なアプリケーションのユーザによる探索のある時点において、環境100が、ユーザに、特定の候補アプリケーションに関する様々な説明的な詳細を提供するページ1102を提示すると仮定する。あるアイテムが、候補アプリケーションのテキスト説明を提供することができる。別のアイテムが、候補アプリケーションのレビューを提供することができる。別のアイテムが、アプリケーションをダウンロードするか他の形で獲得するようにユーザに勧誘することができる。別のアイテムが、候補アプリケーションの期待される使用特性を調査するようにユーザに勧誘することができる。ユーザは、この使用情報をレビューして、アプリケーションのインストールがユーザのデータ消費の予想(budget)に影響する形を判定することを望む可能性がある。
【0102】
ユーザが、例えばページ1102内の「使用特性」リンクをクリックすることによって、候補アプリケーションに関連する使用情報を調査することを選ぶと仮定する。環境100は、その一部が
図11に列挙された、拡張された使用情報を様々な環境固有の方法で表示することによって応答する。
【0103】
例えばシナリオ1104では、環境100は、候補アプリケーションについて期待される使用情報を、候補アプリケーションを既に使用しているユーザデバイスによって提供される実際の使用データを収集し、処理することによって形成することができる。シナリオ1104では、環境100は、例えば平均値、標準偏差値、中央値等又はその組合せのいずれかを提供することによって、その処理の結果を1つ又は複数の値として表す。言い替えると、環境100は、期待される使用情報を、上のシナリオGで比較使用情報を形成したのと同一の方法で形成することができる。
【0104】
シナリオ1106では、環境100は、やはり、1つ又は複数の値を使用して期待される使用情報を伝えることができる。しかし、この場合では、環境100は、(期待される使用情報を受信する)特定のユーザによって示される使用習慣に合わせて調整される、期待される使用情報を提示する。環境100は、シナリオGに関して上述した方法のいずれかにより、このバイアスされた期待される使用情報を定式化することができる。すなわち、環境100は、特定のユーザの使用関連の挙動を、アプリケーションに依存しない形(アプリケーションの異なるクラスに関してユーザの挙動を分離せずに)又はアプリケーション固有の形(候補アプリケーションが属するアプリケーションの特定のクラスに関してユーザの挙動を選択的に考慮することによる)のいずれかで査定することができる(しかし、この場合では、環境100は、ユーザがまだ候補アプリケーションと対話する機会を有していないので、ユーザがこのアプリケーションと対話する手法を考慮しない)。ある場合において、環境100は、期待される使用情報を、(ユーザプロファイルによって反映される)特定のユーザのデータ消費習慣を共有し、かつ候補アプリケーションを使用したことがある他のユーザのデータ使用に基づいて生成することができる。さらに、環境100は、特定のユーザと同一タイプのデータプランによって管理される他のユーザのみを考慮することによって、期待される使用情報を生成することができる。
【0105】
シナリオ1108では、環境100は、要約の形で期待される使用情報を伝えるバッジを提示することができる。バッジは、任意の種類のグラフィカルオブジェクトに対応することができる。例えば
図11の場合、環境100は、候補アプリケーションが「アプリケーション・ライト」と評価され、相対的に言うと、候補アプリケーションが使用中に大量のデータを消費しないと期待されることを意味することを示す、要約バッジを提示する。環境100は、やはり他のユーザが候補アプリケーションと対話した形を考慮に入れることによって、候補アプリケーションをこの手法で分類することができる。例えば環境100は、他のユーザの平均消費を表す平均値を形成し、この平均値がどの範囲に含まれるのかを判定することができ、環境100は、識別された範囲に対応する要約バッジを割り当てることができる。環境100は、ユーザプロファイルデータを考慮に入れても入れなくとも、この手法で候補アプリケーションを分類することができる。
【0106】
あるいはまた、環境100は、候補アプリケーションが、候補アプリケーションと同一の基本機能を実行する他のアプリケーションにどれほど匹敵するのかを表すことができる。環境100は、候補アプリケーションの使用情報を生成し、その後、他の関連するアプリケーションについての使用情報を生成することによって、このメトリックを計算することができる(他の関連するアプリケーションについての使用情報は、特定の対象ユーザと他のユーザ、又は特定のユーザのみ、又は他のユーザのみの挙動を考慮に入れることができる)。環境100は、候補アプリケーションとその同等アプリケーションとの間の使用量差を反映する情報を提示することができる。例えば環境100は、それぞれ候補アプリケーションの使用量及びその同等物の使用量を反映する2つの数を表すことができる。あるいはまた、環境100は、関連するアプリケーションに対する候補アプリケーションの相対的な効率を反映する要約バッジを提供することができる。例えば環境100は、他のビデオ編集アプリケーションのデータ使用に対して相対的にビデオ編集候補アプリケーションのデータ使用を評価することができる。要約バッジは、候補アプリケーションが関連するアプリケーションのクラス内でデータ効率的であるかどうかの表示を提供する。
【0107】
シナリオ1110では、環境100は、平均値又は類似物(シナリオ1104のケースの)に代えて(又はそれに加えて)、期待される使用情報をデータ使用の読取値の分布の形式で提示する。例えば環境100は、分布を、候補アプリケーションを使用している他のユーザの中における挙動の範囲を識別するヒストグラムとして表すことができる。やはり、この分布を、ユーザプロファイルデータを考慮に入れて又は入れずに生成することができる。
【0108】
シナリオ1112では、環境100は、新しい候補アプリケーションあるいはあまり使用されない候補アプリケーションについて、期待される使用情報を提示する。環境100は、この状況において期待される使用情報を、シミュレートされた使用データに基づいて、又はシミュレートされた使用データと実際の使用データとの組合せに基づいて定式化することができる。
図4の使用シミュレータ404が、シミュレートされた使用データを提供する。より具体的には、ある場合において、環境100は、実際の使用データとシミュレートされた使用データとの重み付けされた組合せに基づいて、期待される使用情報を計算することができる。シミュレートされた使用データに適用される重みは、追加の実際の使用データが取得されると減少する。
【0109】
図12に進むと、この図は、環境100が、エネルギ関連の個人使用情報に関連してデータ関連の個人使用情報を提示するシナリオを示す。データ関連の個人使用情報は、必ずしも、エネルギ関連の個人使用情報をトラックするわけではない。というのは、エネルギ関連の個人使用情報が、データ転送を実行する際に消費されるエネルギだけではなく、アプリケーションによって消費されるエネルギの全てを測定するからである。しかし、データ転送を実行するアプリケーション機能を特に対象とするエネルギ関連の個人使用情報を生成することも可能である。
図12によって与えられる情報は、ユーザが、アプリケーションを実行することの金銭的コストに関する洞察だけでなく、実行時にアプリケーションがユーザデバイス102のバッテリを使い果たす範囲に関する洞察を得ることを可能にする。図示されていないが、
図11に示された任意のタイプの期待される使用情報を、データ使用ではなく(又はこれに加えて)エネルギ使用のコンテキストで表すことができる。
【0110】
図13に、環境100が以前の例と比較してユーザ(又は他のエンティティ)により詳細なアプリケーションレベルの使用個人情報を提示するシナリオを示す。より具体的には、環境100は、各アプリケーションに関連する機能及び各機能が消費したデータの量を識別する使用情報を生成することができる。この機能は、無線通信インフラストラクチャ204を介してデータを送信又は受信するときに、データを消費する。一部の機能がフォアグラウンド・タスクに対応し、他のプロセスがバックグラウンド・タスクに対応することがある。フォアグラウンド・タスクは、アプリケーションの主目的のために直接的に働く機能を指す。バックグラウンド・タスクは、アプリケーションのオーバーライドする目的に関してあまり関係しない機能を実行する機能を指す。例えばユーザは、例えばメッセージアイテム及びビデオアイテムを友人と共有することによって、ソーシャルネットワーキングアプリケーションと対話して友人と対話することができる。このアクティビティは、アプリケーションと対話する際にユーザの主目的を実行するので、フォアグラウンド・タスクを表す。しかし、同一のアプリケーションが、ユーザがソーシャルネットワーキング機能を使用している間に、ユーザに広告を提示するのにある量のネットワークアクティビティを充てることもある。このアクティビティがバックグラウンド・タスクを表す。なぜなら、このアクティビティは、ユーザの命令に直接に応答して実行されるのではなく、ユーザがアプリケーションと対話することすらなしに発生し得るからである。
【0111】
ユーザは、様々な方法で
図13に示された機能ごとの使用情報によって提供される洞察を適用することができる。例えばユーザは、バックグラウンド・タスク又は他の関係のないタスクを実行する際にかなりの量のデータを消費する、インストール済みのアプリケーションを終了する(又はその使用を減らす)と決めることができる。あるいは、ユーザは、バックグラウンド・タスクに関して大量のデータ使用を示す候補アプリケーションのダウンロードをやめることができる。環境100は、エネルギ消費に関して表される機能ごとの使用情報を提供することもできる。
【0112】
環境100は、オプションで、要約バッジ又はある他のグラフィカルオブジェクト若しくはグラフィカルスコアを用いて、アプリケーションのデータ効率を要約することもできる。データ効率は、他の考慮事項の中でも特に、フォアグラウンド・タスクで消費されるデータの部分を、バックグラウンド・タスクで消費されるデータの部分に対して相対的に表すことができる。あるいはまた、データ効率は、特定のアプリケーションのバックグラウンド消費の量を、同一の基礎タスクを実行する関連するアプリケーションのバックグラウンド消費に対して相対的に表すことができる。
【0113】
図14では、環境100は、個人使用情報をデータタイプに関して定式化する。すなわち、この特定の例では、環境100は、テキスト、イメージ、オーディオストリーミング、ビデオストリーミング等を含む異なるタイプのデータを識別する。環境100は、ユーザデバイス102が支払請求サイクル内でこれまでに各タイプのデータをどのくらい消費したのかを伝える。図示されていないが、環境100は、このデータを、アプリケーションごとに又はアプリケーションクラスごとに提示することもできる。さらに、環境100は、他のユーザのグループのデータタイプごとのデータ使用を反映する、比較使用情報を提示することができる。
【0114】
図15は、環境100が、
図13の場合と比較して更に詳細な、機能ごとの使用情報を提示できるシナリオを示す。例えば
図15の場合において、環境100は、アプリケーション内でデータを消費する異なるトランザクションに関連するネットワークエンティティを識別することもできる。その情報を、本明細書ではエンティティ識別情報と称する。ある場合において、ネットワークエンティティを、データを受信する宛先及び/又はデータを提供するソースを調べることによって識別することができ、別の場合では、ネットワークエンティティを、ユーザデバイス102のそれぞれのポートを調べることなどによって識別することができる。一部の場合において、エンティティ識別情報は、トランザクションから金銭的に利益を得ている、ネットワークトランザクションのエージェントを明らかにすることができる。
【0115】
開発者又は他のエンティティは、対応するアプリケーションがデータを消費する方法を変更する目的で、
図15に示された機能ごとの使用情報を要求することができる。例えば開発者は、例えばアプリケーションのある機能が、冗長な又は他の形で非効率的なネットワークトランザクション又は類似物を用いるので、過度な量のデータを消費していることに気付く可能性がある。したがって、開発者は、アプリケーションをより効率的にするために、アプリケーションのある機能を再設計することを選択することができる。一般に開発者は、アプリケーションを任意の手法で、例えばアプリケーションがデータ圧縮を実行する方法又はアプリケーションがデータキャッシュを実行する方法等を変更することによって変更することができる。あるいはまた、開発者は、ある機能を単純に除去するか減らすことができる。
【0116】
あるいはまた、開発者は、アプリケーションを変更して、あるデータを消費するトランザクションに含まれるネットワークエンティティを変更することができる。そのような変更は、必ずしも、消費されているデータの総量を変更しないことがあり、一部の場合において、このタイプの変更は、特定の環境に関連するビジネス上の考慮事項(例えば財政上の考慮事項)によって動機づけられたものであることがある。
【0117】
<B.例示的なプロセス>
図16〜19は、
図1の環境の動作の1つの形を説明する手順を示す。環境100の動作の基礎になる原理を、既にセクションAで説明したので、ある動作についてはこのセクションで要約の形で対処する。
【0118】
図16から開始すると、この図は、
図1の環境100の動作の1つの例示的な形の概要を提示する手順1600を示す。ブロック1602において、処理システム106は、実際の使用データ(すなわち、データ関連の実際の使用データ)を、それぞれのユーザによって操作されるユーザデバイスから受け取ることができる。ユーザデバイスのうちの1つは、特定のユーザによって操作される特定のユーザデバイスである。ブロック1604において、処理システム106は、オプションで補足データを受け取ることができる。補足データは、使用情報の計算で使用され得るが、それ自体はデータの消費を表さないデータである。例えば補足データは、プランデータ、ユーザプロファイルデータ等を含むことができる。ブロック1606において、処理システム106は、オプションで、アプリケーションのシミュレートされた使用を反映するシミュレートされた使用データ、及び/又はエネルギ関連の実際の使用データを受け取ることができる。上記のデータの全てが一般に、本明細書で使用される用語法による使用データを構成する。
【0119】
ブロック1608において、処理システム106は、ブロック1602〜1606で収集された使用データの任意の部分(1つ又は複数)に基づいて使用情報を生成する。使用情報は、セクションAで説明したように、個人使用情報、期待される使用情報、計画された使用情報、比較使用情報、プロセスごとの詳細な使用情報等のうちの任意のものを構成することがある。
【0120】
ブロック1610において、環境100は、トリガイベントを受信したかどうかを判定する。例示的なタイプのトリガイベントは、特定のユーザによる個人使用情報の明示された要求、特定のユーザによるアプリケーションのアクティブ化、又は特定のユーザによる市場システム124のアクティブ化を含む。ブロック1612において、トリガイベントに応答して、処理システム106は、例えば(受け取られたトリガイベントの性質に依存して)ある状況では個人使用情報を提示することによって、及び他の状況では期待される使用情報を提示することによって、ブロック1608において生成された適切な使用情報を提示する。
図16は、使用情報が、トリガイベントの受信の前に計算されるように示すが、処理システム106は、トリガイベントの受信の後に使用情報を生成することもできる。
【0121】
図17は、ユーザデバイス102から処理システム106へデータ関連の実際の使用データを転送する手順1700を示す。ブロック1702において、ユーザデバイス102は、1つ又は複数のイベントソース304から実際の使用データを収集し、そのデータを一時ストア114に格納する。ブロック1704において、ユーザデバイス102は、一時ストア114内に供給された実際の使用データをアップロードすべき時であるかどうかを判定する。ブロック1704の答えが肯定的(Y)である場合、ブロック1706において、ユーザデバイス102は実際の使用データを圧縮する。ブロック1708において、ユーザデバイス102は、圧縮された実際の使用データを処理システム106に転送する。
【0122】
図18は、デバイス変更モジュール612(
図6)が、使用情報及び/又は生の使用データ(データ関連及び/又はエネルギ関連)に基づいてユーザデバイス102の挙動を変更することができる手順1800を示す。ブロック1802において、デバイス変更モジュール612は、特定のアプリケーションに関して使用情報(又は使用データ)をモニタリングする。ブロック1804において、デバイス変更モジュール612は、使用が規定された閾値を超え、又は他の形でトリガイベントを構成するかどうかを判定する。ブロック1804の答えが肯定的(Y)である場合には、ブロック1806において、デバイス変更モジュール612は、セクションAで説明した方法のいずれかによりアプリケーションの挙動を変更する。
【0123】
最後に、
図19は、例えばユーザが市場システム124を訪問するときに、処理システム106が期待される使用情報(データ関連及び/又はエネルギ関連)を生成できる手順1900を示す。処理システム106は、ユーザの少なくとも1つの使用関連の特性を考慮に入れることによって、このタスクを実行する。
【0124】
ブロック1902において、処理システム106は、それぞれのユーザによって操作されるユーザデバイスのグループから実際の使用データを受け取る。実際の使用データは、ユーザデバイスによって実行される候補アプリケーションによるデータ(又は他のリソース)の実際の消費を記述する。ブロック1904において、処理システム106は、(ユーザデバイスのグループを操作する)他のユーザに関連する他のユーザプロファイルデータと一緒に、期待される使用情報を提示すべき特定のユーザに関連付けられた特定のユーザプロファイルデータを受け取る。ブロック1906において、処理システム106は、実際の使用データ、特定のユーザプロファイルデータ及び他のユーザプロファイルデータに基づいて、期待される使用情報を計算する。例えばユーザプロファイルデータが、特定のユーザがデータ高消費ユーザであることを示すと仮定する。処理システム106は、ユーザが全てのアプリケーションと、又は候補アプリケーションに類似するアプリケーションのみと対話する手法を調べることによって、この結論を形成することができる。ある場合において、処理システム106は、(候補アプリケーションを実際に使用したことがあるユーザのグループ内の)他の高消費ユーザから取得した実際の使用データを処理することによって、期待される使用情報を形成することができる。より一般的に、処理システム106は、特定のユーザについての期待される使用情報を、該特定のユーザと共通する少なくとも1つの使用関連の特性を共有する他のユーザのサブセットからの実際の使用データを適用することによって生成する。例えば2人のユーザは、双方がデータ高消費ユーザ(全般的に、又はアプリケーションのあるクラスに関して)として分類されるので、類似するものとすることができる。さらに、この2人のユーザが、同一のデータプランを共有する場合がある。ブロック1908において、処理システム106は、期待される使用情報を特定のユーザに提供することができる。
【0125】
<C.代表的なコンピューティング機能性>
図20は、上で説明した機能の任意の態様を実施するのに使用できる例示的なコンピューティング機能性2000を示す。例えば、コンピューティング機能性2000を使用して、例えば任意のユーザデバイスを含む
図1の環境100の任意の態様と処理システム106の任意の態様とを実施することができる。ある場合において、コンピューティング機能性2000は、1つ又は複数の処理デバイスを含む任意のタイプのコンピューティングデバイスに対応することができる。全ての場合において、電子データコンピューティング機能性2000は、1つ又は複数の物理的な有形の処理機構を表す。
【0126】
コンピューティング機能性2000は、RAM 2002及びROM 2004などの揮発性メモリ及び不揮発性メモリ、並びに1つ又は複数の処理デバイス2006(例えば1つ若しくは複数のCPU及び/又は1つ若しくは複数のGPUなど)を含むことができる。コンピューティング機能性2000は、オプションで、ハードディスクモジュール、光ディスクモジュール等のような、様々なメディアデバイス2008も含む。コンピューティング機能性2000は、処理デバイス(1つ又は複数)2006がメモリ(例えばRAM 2002、ROM 2004又は別の所)によって維持される命令を実行するときに、上で識別された様々な動作を実行することができる。
【0127】
より一般的に、命令及び他の情報を、スタティックメモリストレージデバイス、磁気ストレージデバイス、光ストレージデバイス等を含むがこれに限定されない、任意のコンピュータ読取可能媒体2010に格納することができる。コンピュータ読取可能媒体という用語は、複数の記憶デバイスをも包含する。全てのケースで、コンピュータ読取可能媒体2010は、ある形の物理的な有形のエンティティを表す。
【0128】
コンピューティング機能性2000は、(入力モジュール2014を介して)様々な入力を受け取り、(出力モジュールを介して)様々な出力を提供する入出力モジュール2012をも含む。ある特定の出力機構は、プレゼンテーションモジュール2016及び関連するグラフィカルユーザインタフェース(GUI)2018を含むことができる。コンピューティング機能性2000は、1つ又は複数の通信コンジット2022を介して他のデバイスとデータを交換する1つ又は複数のネットワークインタフェース2020も含むことができる。1つ又は複数の通信バス2024が、上で説明したコンポーネントを一緒に通信可能に結合する。
【0129】
通信コンジット(1つ又は複数)2022を、任意の形で、例えばローカルエリアネットワーク、広域ネットワーク(例えばインターネット)等、又はその任意の組合せで実施することができる。通信コンジット2022は、任意のプロトコル又はプロトコルの組合せによって管理される、ハードワイヤド・リンク、無線リンク、ルータ、ゲートウェイ機能性、ネームサーバ等の任意の組合せを含むことができる。
【0130】
あるいはまた、セクションA及びBで説明した機能のいずれかを、少なくとも部分的に、1つ又は複数のハードウェア論理コンポーネントによって実行することができる。例えば限定ではないが、使用することができる例示的なタイプのハードウェア論理コンポーネントは、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンアチップ・システム(SOC)、結合プログラム可能論理デバイス(CPLD)等を含む。
【0131】
締めくくりに、本明細書で説明される機能性は、様々な機構を使用して、その機能性によって維持されるユーザデータのプライバシを保証することができる。例えば機能性は、ユーザが、機能性の提供に対して明確にオプト・インする(その後、明確にオプト・アウトする)ことを可能にすることができる。機能性は、ユーザデータのプライバシを保証する適切なセキュリティ機構(データサニタイズ機構、暗号化機構、パスワード保護機構等)を提供することもできる。
【0132】
さらに、本明細書では、例示的な課題又は問題の文脈で様々な概念を説明していることがある。このような形の説明は、他者が、本明細書で指定される形で課題又は問題を了解し、及び/又は述べることの容認を構成するものではない。
【0133】
本主題を、構造的特徴及び/又は方法論的動作に固有の言葉で説明したが、添付の特許請求の範囲で定義される主題は、必ずしも上記で説明した具体的な特徴又は動作に限定されないことを理解されたい。むしろ、上記で説明した具体的な特徴及び動作は、特許請求の範囲を実施する例示的形式として開示されている。