[0003]本開示は、モバイルデバイスプラットフォーム上でのコンテンツ発見を可能にするためにコンテキストアウェア推奨技法を使用するためのシステムおよび方法を対象とする。特に、コンテキストアウェア推奨技法は、モバイルデバイスにダウンロードされたいくつかのアプリケーションの各々のアプリケーション関連性スコア(application relevance scores)を生成するために、カレントデバイスコンテキスト(current device context)とソーシャルコンテキスト(social context)の両方を評価する。モバイルデバイスのグラフィカルユーザインターフェース(GUI)上でのアプリケーション表現(たとえば、アイコン)は、それらのそれぞれのアプリケーション関連性スコアに従って再配置され、サイズ変更され、および/または別様に影響を及ぼされる。いくつかの構成では、1つまたは複数のアプリケーションがピニングされ(pinned)、それによって、それらのそれぞれのアプリケーション関連性スコアの変化がモバイルデバイスのGUI上でのそれらのそれぞれのアプリケーション表現の表示にどのように影響を及ぼすかを改変する(たとえば、低減するまたはなくす)。
[0004]本開示による方法の一例は、ユーザのモバイルデバイスの動的特性(dynamic characteristic)に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断することと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクト(social contact)に関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断することと、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することと、複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、モバイルデバイスのグラフィカルユーザインターフェース(GUI)上でのアプリケーション表現の表示を動的に更新することと、各アプリケーション表現が、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの1つに対応する、を含む。
[0005]そのような方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することは、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、少なくともカレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との重み付き組合せを計算することを含む。カレントデバイスコンテキスト値を判断することは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータ(substantially real-time data)を受信することを含む。少なくとも1つのデバイスコンテキストパラメータは、モバイルデバイスの現在の地理的ロケーション(geographical location)、現在のネットワーク使用率、現在のアプリケーション使用率または現在の時間のうちの少なくとも1つに関係する。少なくとも1つのデバイスコンテキストパラメータは、モバイルデバイスの過去の地理的ロケーションに対するモバイルデバイスの現在の地理的ロケーション、または過去のアプリケーション使用率に対する現在のアプリケーション使用率のうちの少なくとも1つに関係する。カレントソーシャルコンテキスト値を判断することは、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信することを含む。少なくとも1つのソーシャルコンテキストパラメータは、ユーザに関連するカレンダーアプリケーション中のエントリ、またはコンタクト履歴のうちの少なくとも1つに関係する。少なくとも1つのソーシャルコンテキストパラメータは、ソーシャルコンタクトに関連するカレンダーアプリケーション中のエントリ、ソーシャルネットワーキングアプリケーションを介して受信した更新、ソーシャルコンタクトの地理的ロケーションに従ってコンテキスト化されたアプリケーション使用率情報、ソーシャルコンタクトのアプリケーション使用率に従ってコンテキスト化されたアプリケーション使用率情報またはソーシャルコンタクトの地理的ロケーションに対するモバイルデバイスの現在の地理的ロケーションのうちの少なくとも1つに関係する。
[0006]そのような方法の実装形態は、追加または代替として、以下の特徴のうちの1つまたは複数を含み得る。モバイルデバイスのGUI上での複数のアプリケーション表現の表示を動的に更新することは、アプリケーション表現のうちの少なくともいくつかを並べ替えることを含む。モバイルデバイスのGUI上での複数のアプリケーション表現の表示を動的に更新することは、アプリケーション表現のうちの少なくともいくつかをサイズ変更することを含む。GUIは、1次スクリーンと少なくとも1つの2次スクリーンとを含み、GUI上での複数のアプリケーション表現の表示を動的に更新することは、モバイルデバイスにダウンロードされた、最も高いアプリケーション関連性スコアを有する複数のアプリケーションのサブセットを判断することと、GUIの1次スクリーン上にアプリケーションのサブセットに対応するアプリケーション表現を表示することによって、アプリケーション関連性スコアに少なくとも従ってアプリケーション表現を配置することとを含む。本方法は、複数のアプリケーションのうちの少なくとも1つをピニングされたアプリケーションとして識別することをさらに含み、ピニングされたアプリケーションに対応するアプリケーション表現の配置に影響を及ぼすことなしに複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、GUI上でのアプリケーション表現の表示が動的に更新される。少なくとも1つのアプリケーション表現は、対応するアプリケーションを表すアイコンである。
[0007]本開示による方法の別の例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断することと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断することと、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することと、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行することと、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に停止することとを含む。
[0008]そのような方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値を判断することは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することを含む。少なくとも1つのソーシャルコンテキストパラメータは、ユーザに関連するカレンダーアプリケーション中のエントリ、ソーシャルコンタクトに関連するカレンダーアプリケーション中のエントリ、コンタクト履歴、ソーシャルネットワーキングアプリケーションを介して受信した更新、ソーシャルコンタクトの地理的ロケーションに従ってコンテキスト化されたアプリケーション使用率情報、ソーシャルコンタクトのアプリケーション使用率に従ってコンテキスト化されたアプリケーション使用率情報またはソーシャルコンタクトの地理的ロケーションに対するモバイルデバイスの現在の地理的ロケーションのうちの少なくとも1つに関係する。アプリケーション関連性スコアは、複数のアプリケーションのすべてについて計算され、指定されたアプリケーションのアプリケーション関連性スコアが複数のアプリケーションのうちの他のアプリケーションのアプリケーション関連性スコアを上回るように計算されたとき、指定されたアプリケーションがモバイルデバイス上で自動的に実行される。複数のアプリケーションのサブセットが自動的に実行可能なアプリケーションとして指定され、サブセットは指定されたアプリケーションを含み、サブセットの一部でないアプリケーションは、それらのそれぞれのアプリケーション関連性スコアに従って自動的に実行することができない。
[0009]本開示によるシステムの一例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するように構成されたデバイスコンテキスト判断エンジンと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するように構成されたソーシャルコンテキスト判断エンジンと、それぞれモバイルデバイスにダウンロードされた複数のアプリケーションのうちの1つに対応する、複数のアプリケーション表現を記憶するように構成されたデータストアと、デバイスコンテキスト判断エンジンとソーシャルコンテキスト判断エンジンと通信可能に結合され、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するように構成されたスコアリングエンジンと、データストアと、スコアリングエンジン(scoring engine)と、モバイルデバイスと一体化されたディスプレイと通信可能に結合され、複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、モバイルデバイスのGUI上にアプリケーション表現のうちの少なくともいくつかを示すように表示を動的に更新するように構成されたディスプレイエンジンとを含む。
[0010]そのようなシステムの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。デバイスコンテキスト判断エンジンは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することによってカレントデバイスコンテキスト値を判断するように構成される。ソーシャルコンテキスト判断エンジンは、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信することによってカレントソーシャルコンテキスト値を判断するように構成される。GUIは、1次スクリーンと少なくとも1つの2次スクリーンとを含み、ディスプレイエンジンは、モバイルデバイスにダウンロードされた、最も高いアプリケーション関連性スコアを有する複数のアプリケーションのサブセットを判断することと、GUIの1次スクリーン上にアプリケーションのサブセットに対応するアプリケーション表現を表示することによって、アプリケーション関連性スコアに少なくとも従ってアプリケーション表現を配置することとを行うことによって、GUI上での複数のアプリケーション表現の表示を動的に更新するように構成される。ディスプレイエンジンは、ピニングされたアプリケーションとして識別されたアプリケーションに対応する少なくとも1つのアプリケーション表現の配置に影響を及ぼすことなしに複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、GUI上でのアプリケーション表現の表示を動的に更新するように構成される。
[0011]本開示によるシステムの別の例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するように構成されたデバイスコンテキスト判断エンジンと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するように構成されたソーシャルコンテキスト判断エンジンと、モバイルデバイスにダウンロードされた複数のアプリケーションを記憶するように構成されたデータストアと、デバイスコンテキスト判断エンジンとソーシャルコンテキスト判断エンジンと通信可能に結合され、モバイルデバイスにダウンロードされた複数のアプリケーションの指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するように構成されたスコアリングエンジンと、データストアとスコアリングエンジンと通信可能に結合され、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行することと、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に停止することとを行うように構成された実行エンジンとを含む。
[0012]そのようなシステムの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。デバイスコンテキスト判断エンジンは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することによってカレントデバイスコンテキスト値を判断するように構成される。スコアリングエンジンは、複数のアプリケーションのすべてについてアプリケーション関連性スコアを計算するように構成され、実行エンジンは、指定されたアプリケーションのアプリケーション関連性スコアが複数のアプリケーションのうちの他のアプリケーションのアプリケーション関連性スコアを上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行するように構成される。複数のアプリケーションのうちの少なくともいくつかは、自動的に実行可能なアプリケーションとして指定されるように構成され、指定されたアプリケーションは、自動的に実行可能なアプリケーションとして指定され、自動的に実行可能なアプリケーションとして指定されないアプリケーションは、それらのそれぞれのアプリケーション関連性スコアに従って自動的に実行することができない。
[0013]本開示によるプロセッサの一例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するように構成されたデバイスコンテキスト判断コントローラと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するように構成されたソーシャルコンテキスト判断コントローラと、デバイスコンテキスト判断エンジンとソーシャルコンテキスト判断エンジンと通信可能に結合され、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するように構成されたスコアリングコントローラと、スコアリングエンジンと、モバイルデバイスと一体化されたディスプレイと通信可能に結合され、複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、モバイルデバイスのGUI上にアプリケーション表現のうちの少なくともいくつかを示すように表示を動的に更新するように構成されたディスプレイコントローラと、各アプリケーション表現が、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの1つに対応する、を含む。
[0014]そのようなプロセッサの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。デバイスコンテキスト判断コントローラは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することによってカレントデバイスコンテキスト値を判断するように構成される。ソーシャルコンテキスト判断コントローラは、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信することによってカレントソーシャルコンテキスト値を判断するように構成される。GUIは、1次スクリーンと少なくとも1つの2次スクリーンとを含み、ディスプレイコントローラは、モバイルデバイスにダウンロードされた、最も高いアプリケーション関連性スコアを有する複数のアプリケーションのサブセットを判断することと、GUIの1次スクリーン上にアプリケーションのサブセットに対応するアプリケーション表現を表示することによって、アプリケーション関連性スコアに少なくとも従ってアプリケーション表現を配置することとを行うことによって、GUI上での複数のアプリケーション表現の表示を動的に更新するように構成される。ディスプレイコントローラは、ピニングされたアプリケーションとして識別されたアプリケーションに対応する少なくとも1つのアプリケーション表現の配置に影響を及ぼすことなしに複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、GUI上でのアプリケーション表現の表示を動的に更新するように構成される。
[0015]本開示によるプロセッサの別の例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するように構成されたデバイスコンテキスト判断コントローラと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するように構成されたソーシャルコンテキスト判断コントローラと、デバイスコンテキスト判断エンジンとソーシャルコンテキスト判断エンジンと通信可能に結合され、モバイルデバイスにダウンロードされた複数のアプリケーションの指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するように構成されたスコアリングコントローラと、スコアリングエンジンと通信可能に結合され、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行することと、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に停止することとを行うように構成された実行コントローラとを含む。
[0016]そのようなプロセッサの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。デバイスコンテキスト判断コントローラは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することによってカレントデバイスコンテキスト値を判断するように構成される。
[0017]本開示によるコンピュータプログラム製品の一例は、非一時的プロセッサ可読媒体上に常駐し、実行されたとき、プロセッサに、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断することと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断することと、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することと、複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、モバイルデバイスのGUI上でのアプリケーション表現の表示を動的に更新することと、各アプリケーション表現が、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの1つに対応する、を含むステップを実行させるプロセッサ可読命令を含む。
[0018]そのようなコンピュータプログラム製品の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することは、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、少なくともカレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との重み付き組合せを計算することを含む。カレントデバイスコンテキスト値を判断することは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することを含む。カレントソーシャルコンテキスト値を判断することは、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信することを含む。GUIは、1次スクリーンと少なくとも1つの2次スクリーンとを含み、GUI上での複数のアプリケーション表現の表示を動的に更新することは、モバイルデバイスにダウンロードされた、最も高いアプリケーション関連性スコアを有する複数のアプリケーションのサブセットを判断することと、GUIの1次スクリーン上にアプリケーションのサブセットに対応するアプリケーション表現を表示することによって、アプリケーション関連性スコアに少なくとも従ってアプリケーション表現を配置することとを含む。プロセッサ可読命令は、実行されたとき、プロセッサに、複数のアプリケーションのうちの少なくとも1つをピニングされたアプリケーションとして識別することをさらに含むステップを実行させ、ピニングされたアプリケーションに対応するアプリケーション表現の配置に影響を及ぼすことなしに複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、GUI上でのアプリケーション表現の表示が動的に更新される。
[0019]本開示によるコンピュータプログラム製品の別の例は、非一時的プロセッサ可読媒体上に常駐し、実行されたとき、プロセッサに、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断することと、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断することと、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算することと、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行することと、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に停止することとを含むステップを実行させるプロセッサ可読命令を含む。
[0020]そのようなコンピュータプログラム製品の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値を判断することは、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信することを含む。
[0021]本開示によるシステムの一例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するための手段と、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するための手段と、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するための手段と、複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、モバイルデバイスのGUI上でのアプリケーション表現の表示を動的に更新することと、各アプリケーション表現が、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの1つに対応する、を含む。
[0022]そのようなシステムの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するための手段は、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、少なくともカレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との重み付き組合せを計算するための手段を含む。カレントデバイスコンテキスト値を判断するための手段は、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信するための手段を含む。カレントソーシャルコンテキスト値を判断するための手段は、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信するための手段を含む。GUIは、1次スクリーンと少なくとも1つの2次スクリーンとを含み、GUI上での複数のアプリケーション表現の表示を動的に更新するための手段は、モバイルデバイスにダウンロードされた、最も高いアプリケーション関連性スコアを有する複数のアプリケーションのサブセットを判断するための手段と、GUIの1次スクリーン上にアプリケーションのサブセットに対応するアプリケーション表現を表示することによって、アプリケーション関連性スコアに少なくとも従ってアプリケーション表現を配置するための手段とを含む。本システムは、複数のアプリケーションのうちの少なくとも1つをピニングされたアプリケーションとして識別するための手段をさらに含み、ピニングされたアプリケーションに対応するアプリケーション表現の配置に影響を及ぼすことなしに複数のアプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置されるように、GUI上でのアプリケーション表現の表示が動的に更新される。
[0023]本開示によるシステムの別の例は、ユーザのモバイルデバイスの動的特性に従って生成された複数のデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するための手段と、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成された複数のソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するための手段と、モバイルデバイスにダウンロードされた複数のアプリケーションのうちの指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算するための手段と、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に実行するための手段と、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、モバイルデバイス上で指定されたアプリケーションを自動的に停止するための手段とを含む。
[0024]そのようなシステムの実装形態は、以下の特徴のうちの1つまたは複数を含み得る。カレントデバイスコンテキスト値を判断するための手段は、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信するための手段を含む。
[0025]上記では、以下の発明を実施するための形態がより良く理解され得るように、開示による例の特徴および技術的利点についてやや広く概説した。以下で、追加の特徴および利点について説明する。開示する概念および具体例は、本開示の同じ目的を実行するための他の構造を変更または設計するための基礎として容易に利用され得る。そのような等価な構成は、添付の特許請求の範囲の趣旨および範囲から逸脱しない。関連する利点とともに、本明細書で開示する概念の編成と動作の方法の両方に関して、それらの概念を特徴づけると考えられる特徴は、添付の図に関連して以下の説明を検討するとより良く理解されよう。図の各々は、例示および説明のみの目的で提供され、特許請求の範囲を定めるものではない。
[0037]本開示は、モバイルデバイスプラットフォーム上でのコンテンツ発見を可能にするためにコンテキストアウェア推奨技法を使用するためのシステムおよび方法を対象とする。特に、コンテキストアウェア推奨技法は、モバイルデバイスにダウンロードされたいくつかのアプリケーションの各々のアプリケーション関連性スコアを生成するために、カレントデバイスコンテキストとソーシャルコンテキストの両方を評価する。モバイルデバイスのグラフィカルユーザインターフェース(GUI)上でのアプリケーション表現(たとえば、アイコン)は、それらのそれぞれのアプリケーション関連性スコアに従って再配置され、サイズ変更され、および/または別様に影響を及ぼされる。いくつかの構成では、1つまたは複数のアプリケーションがピニングされ、それによって、それらのそれぞれのアプリケーション関連性スコアの変化がモバイルデバイスのGUI上でのそれらのそれぞれのアプリケーション表現の表示にどのように影響を及ぼすかを改変する(たとえば、低減するまたはなくす)。
[0038]ユーザがユーザのモバイルデバイスに多数のアプリケーションをダウンロードすると、ユーザがいずれか1つのアプリケーションに効率的にアクセスすることが困難になることがある。たとえば、ユーザは、所望のアプリケーションを見つけるために、多数のアイコン、フォルダ、スクリーンなどをスクロールしなければならないことがあり、これは、ユーザにとって苛立たしく、時間がかかることがある。ユーザがモバイルデバイスにダウンロードされたコンテンツとより効率的に対話するのを助けるための多くの技法が利用可能である。たとえば、多くのモバイルデバイスプラットフォームは、デバイス上の複数のアプリケーションの中からのより効率的なコンテンツ発見のために、「ホームスクリーン」、「ダッシュボード」、ショートカットキー、ショートカットジェスチャー、および/または他のオプションを与える。
[0039]しかしながら、多くの場合、ユーザにコンテンツを効果的に推奨するために、利用可能なコンテンツのプレゼンテーションに動的に影響を及ぼすことが望ましい。たとえば、アイコンがある時間量の間使用されない場合、アイコンをホームスクリーンから自動的に除去すること、使用頻度に従ってアイコンを並べ替えること、指定されたユーザインターフェースロケーションに最も最近使用されたアプリケーションをリストすることなどを行うことが望ましいことがある。これらの推奨は、(たとえば、アプリケーション使用率を追跡する)暗黙的タイプの情報、および/または(たとえば、ユーザに選好またはレーティングを促す)明示的タイプの情報に基づいて行われ得る。
[0040]本明細書でより十分に説明するように、技法は、モバイルデバイスプラットフォームの動的コンテキストパラメータを評価するために様々なタイプの情報を使用する。コンテキストパラメータは、デバイスコンテキストとソーシャルコンテキストの両方に関係し、モバイルデバイスを介してユーザにとって利用可能なコンテンツの関連性をスコアリングするために使用される。ユーザに対するコンテンツプレゼンテーションは、関連性スコアの変化に従って動的に影響を及ぼされる。たとえば、関連性スコアの変化に従って、アプリケーションアイコンが並べ替えられるか、アプリケーション視覚化がサイズ変更または再配置されるか、あるいはアプリケーションが自動的に実行される。
[0041]本明細書で説明する技法は、CDMA、TDMA、FDMA、OFDMA、SC−FDMAおよび他のシステムなどの様々なワイヤレス通信システムに使用され得る。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。CDMAシステムは、CDMA2000、Universal Terrestrial Radio Access(UTRA)などの無線技術を実装し得る。CDMA2000は、IS−2000、IS−95、およびIS−856規格をカバーする。IS−2000リリース0およびAは、一般に、CDMA2000 1X、1Xなどと呼ばれる。IS−856(TIA−856)は、一般に、CDMA2000 1xEV−DO、High Rate Packet Data(HRPD)などと呼ばれる。UTRAは、Wideband CDMA(WCDMA(登録商標))およびCDMAの他の変形態を含む。TDMAシステムは、Global System for Mobile Communications(GSM(登録商標))などの無線技術を実装し得る。OFDMAシステムは、Ultra Mobile Broadband(UMB)、Evolved UTRA(E−UTRA)、IEEE802.11(Wi−Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、IEEE802.20、Flash−OFDM(登録商標)などの無線技術を実装し得る。UTRAおよびE−UTRAは、Universal Mobile Telecommunication System(UMTS)の一部である。3GPP Long Term Evolution(LTE)およびLTE−Advanced(LTE−A)は、E−UTRAを使用するUMTSの新しいリリースである。UTRA、E−UTRA、UMTS、LTE、LTE−A、およびGSMは、「3rd Generation Partnership Project」(3GPP)という名称の団体からの文書に記載されている。CDMA2000およびUMBは、「3rd Generation Partnership Project 2」(3GPP2)という名称の団体からの文書に記載されている。本明細書で説明する技法は、上記のシステムおよび無線技術、ならびに他のシステムおよび無線技術に使用され得る。
[0042]したがって、以下の説明は、例を与えるものであり、特許請求の範囲において記載される範囲、適用性、または構成を限定するものではない。本開示の趣旨および範囲から逸脱することなく、説明する要素の機能および構成において変更が行われ得る。様々な例は、適宜に様々なプロシージャまたは構成要素を省略、置換、または追加し得る。たとえば、説明される方法は、説明される順序とは異なる順序で実行され得、様々な動作が追加、省略、または組み合わせられ得る。また、いくつかの例に関して説明される特徴は、他の例において組み合わせられ得る。
[0043]最初に図1を参照すると、通信環境100の簡略図が示されている。通信環境100は、通信ネットワーク110と通信しているいくつかのクライアントデバイス115を含む。通信ネットワーク110は、単一のクラウドとして簡略化されているが、任意の数の公衆ネットワーク、プライベートネットワーク、ワイヤードネットワーク、ワイヤレスネットワーク、および/または他のネットワークを含み得る。クライアントデバイス115は、パーソナルコンピュータ(たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど)、セルラー電話、PDA、デジタルビデオレコーダ(DVR)、インターネットアプライアンス、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。
[0044]本明細書では、「ユーザ」とユーザの「ソーシャルコンタクト」とがあると仮定する。ユーザは、そのユーザの観点から本明細書の様々な技法について説明する注目する特定のユーザである。たとえば、アプリケーション推奨はそのユーザを対象としている。ユーザのソーシャルコンタクトは、以下でより十分に説明するように、友人、同僚、および/またはユーザのソーシャルコンテキストに影響を及ぼし得る他のユーザを含む。図1に示すように、クライアントデバイス115aはユーザのデバイスであると仮定し、一方、クライアントデバイス115b〜nはユーザのソーシャルコンタクトのデバイスであると仮定する。クライアントデバイス115a(ユーザのデバイス)は、モバイルコンテキストにおいて少なくとも時々使用されているモバイルデバイスであるとさらに仮定する。クライアントデバイス115b〜nは、モバイルデバイスと非モバイルデバイスとを含む任意のタイプのデバイスであり得る。
[0045]各クライアントデバイスは、デバイスコンテキスト125とソーシャルコンテキスト135とに関連付けられる。概して、デバイスコンテキスト125は、デバイス、デバイスプラットフォーム、またはデバイスコンテンツの1つまたは複数の動的特性の現在の状態に関係する。いくつかのタイプのデバイスコンテキスト125は、デバイスが参加しているサブネットの現在のインターネットプロトコルアドレス、全地球測位衛星(GPS:global positioning satellite)ロケーション情報、時刻、温度、速度、高度、湿度、圧力、環境雑音、環境光、現在の接続速度および/またはデータの完全性などのような、1つまたは複数のセンサーあるいはトランシーバから導出され得る情報を含み得る。他のタイプのデバイスコンテキスト125は、どのアプリケーションが、どのように、どの程度まで使用中であるかなど、アプリケーション使用率に関係し得る。さらに他のタイプのデバイスコンテキスト125は、デバイス識別子、ディスプレイのサイズまたは解像度、インターフェース能力(たとえば、シングルタッチスクリーンインターフェースまたはマルチタッチスクリーンインターフェースがあるか)など、静的デバイスパラメータを含み得る。
[0046]概して、ユーザの観点から、ソーシャルコンテキスト135は、ユーザのソーシャルコンテンツのうちの1つまたは複数、1つまたは複数のソーシャルコンタクトクライアントデバイス115b〜nのデバイスコンテキスト125、あるいは1つまたは複数のソーシャルコンタクトクライアントデバイス115b〜nのソーシャルコンテキスト135に関係する。たとえば、ユーザのソーシャルコンテンツは、コンタクトリストおよび情報、ユーザカレンダーエントリ、ユーザコンタクト履歴(たとえば、ユーザが誰にコンタクトしたか、どのコンタクト方法が使用されたか、あるコンタクトがどのくらいの頻度で行われたか、最も最近のコンタクトなど)、ユーザがソーシャルネットワーキングアプリケーションに与えたコンテキストなど、ソーシャルコンテキスト135を与え得る。1つまたは複数のソーシャルコンタクトクライアントデバイス115b〜nのデバイスコンテキスト125は、ソーシャルコンタクトの地理的ロケーション、ソーシャルコンタクトロケーションの温度、ソーシャルコンタクトによるカレントアプリケーション使用率または履歴アプリケーション使用率など、ソーシャルコンテキスト135を与え得る。1つまたは複数のソーシャルコンタクトクライアントデバイス115b〜nのソーシャルコンテキスト135は、ソーシャルコンタクトによるソーシャルネットワーキングアプリケーションおよび他のアプリケーションへのポスト(たとえば、ブログポスティング、ステータス更新、レビューおよび推奨など)、ソーシャルコンタクトのカレンダーエントリなど、ユーザにソーシャルコンテキスト135を与え得る。
[0047]1つまたは複数のデバイスコンテキストパラメータ120の値を生成するために、1つまたは複数のタイプのデバイスコンテキスト125情報が使用され得る。同様に、1つまたは複数のソーシャルコンテキストパラメータ130を生成するために、1つまたは複数のタイプのソーシャルコンテキスト135情報が使用され得る。デバイスコンテキストパラメータ120とソーシャルコンテキストパラメータ130とは、基礎をなすコンテキスト情報の変化を動的にキャプチャするように構成される。
[0048]多くの典型的なシナリオでは、ユーザに対するアプリケーションのデザイアビリティはコンテキストとともに変化する。たとえば、ユーザは在宅時にいくつかのアプリケーションを使用するが、仕事中または旅行中に異なるアプリケーションを使用する傾向があり得る。さらに、いくつかのソーシャルコンタクトによるポスティングなどに応答して、それらのコンタクトに近接したとき、ユーザは、異なるアプリケーションを使用する傾向があり得る。したがって、実施形態は、ユーザのクライアントデバイス115のデバイスコンテキストパラメータ120とソーシャルコンテキストパラメータ130とに従って、どのアプリケーションがどの形態(たとえば、サイズ、フォーマット、実行など)でユーザに推奨(たとえば、提示)されるかに動的に影響を及ぼす。
[0049]図2は、コンテキストアウェアアプリケーション関連性判断機能を実装するための例示的なクライアントデバイス115を示す。クライアントデバイス115は、1つまたは複数のアンテナ205と通信しているトランシーバモジュール210と、ソフトウェア220をサポートするように構成されたメモリ215と、プロセッサモジュール225と、いくつかの機能エンジンとを含む。クライアントデバイス115の要素の一部または全部は、バスを介して、または他の有用な方法で通信している。
[0050]トランシーバモジュール210の構成は、1つまたは複数の通信ネットワーク110と双方向通信するための機能を実装する。たとえば、トランシーバモジュール210は、インターネット、セルラーおよび/またはワイヤレスワイドエリアネットワーク(WWAN)などを介して情報を送信および受信するために使用される。本明細書で説明する機能をサポートするトランシーバモジュール210は、クライアントデバイス115にアプリケーションをダウンロードすること、ならびに/あるいはソーシャルコンタクトデバイスコンテキスト125および/またはソーシャルコンテキスト135の情報を通信することを行うために使用され得る。
[0051]メモリ215は、ランダムアクセスメモリ(RAM)および/または読取り専用メモリ(ROM)を含み得る。メモリ215は、実行されるとプロセッサモジュール225に本明細書で説明する様々な機能(たとえば、呼処理、データベース管理、メッセージルーティング、アプリケーション推奨など)を実行させるように構成された命令を含んでいるコンピュータ可読、コンピュータ実行可能ソフトウェアコード220を記憶し得る。代替的に、ソフトウェア220は、プロセッサモジュール225によって直接的に実行可能でないことがあるが、たとえば、コンパイルされ実行されると、コンピュータに本明細書で説明する機能を実行させるように構成され得る。メモリ210は、いくつかのダウンロードされたアプリケーション217(と、たとえば、以下でより十分に説明するアプリケーション表現と)を記憶するために使用され得る。
[0052]プロセッサモジュール225は、インテリジェントハードウェアデバイス(たとえば、Intel(登録商標)CorporationまたはAMD(登録商標)製のものなどの中央処理ユニット(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)など)を含み得る。プロセッサモジュール225は、マイクロフォンを介してオーディオを受信し、そのオーディオを、受信したオーディオを表す(たとえば、長さ30msの)パケットに変換し、そのオーディオパケットを通信サブシステムのうちの1つまたは複数に与え、ユーザが話しているかどうかの指示を与えるように構成された音声エンコーダ(図示せず)を含み得る。代替的に、エンコーダはパケットのみを通信サブシステムに与え、パケット自体の提供または抑制/抑圧が、ユーザが話しているかどうかの指示を与え得る。いくつかの構成では、プロセッサは、機能エンジンのうちの1つまたは複数の機能をサポートするために使用される。
[0053]機能エンジンは、個々のモジュールまたは統合されたモジュールとして、または他の有用な方法で実装され得る。図示のように、機能エンジンは、デバイスコンテキスト判断エンジン230と、ソーシャルコンテキスト判断エンジン235と、スコアリングエンジン240と、実行エンジン245と、ディスプレイエンジン250と、センサーエンジン260とを含む。ディスプレイエンジン250は1つまたは複数のディスプレイ255と通信しており、センサーエンジン260は1つまたは複数のセンサー265と通信している。
[0054]図3は、コンテキストアウェアアプリケーション関連性判断機能を実装するためのクライアントデバイス115の別の構成のブロック図300である。図3に示すクライアントデバイス115の構成は、機能の大部分が、エンジンとしてではなく、プロセッサモジュール225aのコントローラとして実装されることを除いて、図2に示したクライアントデバイス115の構成と同様のまたは同じ機能を与える。図2のクライアントデバイス115と同様に、図3のクライアントデバイス115は、1つまたは複数のアンテナ205と通信しているトランシーバモジュール210と、ソフトウェア220をサポートするように構成されたメモリ215と、ディスプレイ255と、センサー265とを含む。プロセッサモジュール225aは、デバイスコンテキスト判断コントローラ330と、ソーシャルコンテキスト判断コントローラ335と、スコアリングコントローラ340と、実行コントローラ345と、ディスプレイコントローラ350と、センサーコントローラ360とを含む。クライアントデバイス115の要素の一部または全部は、バスを介して、または他の有用な方法で通信している。
[0055]図4は、例示的なアプリケーション関連性スコアリング機能のデータフロー図400を示している。図1に関して上記で説明したように、様々なタイプのコンテキスト情報が収集される。たとえば、ユーザのクライアントデバイス115(たとえば、図1のクライアントデバイス115a)についてのデバイスコンテキスト125情報を取得するために、センサーエンジン260が1つまたは複数のセンサー265を監視し、および/またはアプリケーション使用率が(たとえば、プロセッサモジュール225によって)監視される。ユーザのクライアントデバイス115のソーシャルコンテキスト135は、たとえば、ダウンロードされたアプリケーション217によって維持されたユーザのソーシャルコンテンツから取得され得る。さらに、1つまたは複数のソーシャルコンタクトクライアントデバイス115(たとえば、図1のクライアントデバイス115b〜n)のデバイスコンテキスト125および/あるいは1つまたは複数のソーシャルコンタクトクライアントデバイス115のソーシャルコンテキスト135は、たとえば、アンテナ205とトランシーバモジュール210とを介して通信ネットワーク110を介して取得され得る。
[0056]デバイスコンテキスト判断エンジン/コントローラ230/330は、1つまたは複数のデバイスコンテキストパラメータ120の値を取得(たとえば、計算、収集など)するために、ユーザのデバイスコンテキスト125情報を使用する。ソーシャルコンテキスト判断エンジン/コントローラ235/335は、1つまたは複数のソーシャルコンテキストパラメータ130の値を取得するために、他のコンテキスト情報を使用する。デバイスコンテキストパラメータ120とソーシャルコンテキストパラメータ130とは、スコアリングエンジン/コントローラ240/340によって、ダウンロードされたアプリケーション217のうちの少なくともいくつかのアプリケーション関連性スコア410を計算するために使用される。
[0057]図5Aおよび図5Bは、コンテキストアウェアアプリケーション推奨におけるアプリケーション関連性スコアリング機能の例示的な使用のデータフロー図500を示す。まず図5Aを参照すると、ディスプレイエンジン/コントローラ250/350は、クライアントデバイス115のディスプレイ255のうちの1つまたは複数に表示されているGUI表示520を制御する。たとえば、ダウンロードされた各アプリケーション217は、アプリケーション表現510に関連付けられる。各アプリケーション表現510は、表示GUI520上でのダウンロードされたアプリケーション217を表すアイコン、および/またはダウンロードされたアプリケーション217の他のタイプの視覚化であり得る。たとえば、クロックアプリケーションは、デジタルまたはアナログ時計として表示し得、カレンダーアプリケーションは、日めくりカレンダービューとして表示し得、コンタクトリストは、10個の最も最近のコンタクトの各々を表すアイコンのセットとして表示し得るなどである。
[0058]図4で判断されたアプリケーション関連性スコア410は、ディスプレイエンジン/コントローラ250/350によって、アプリケーション表現510の一部または全部がGUI表示520にどのように表示されるかに影響を及ぼすために使用される。一構成では、アプリケーション表現510として使用されるアイコンが再配置され、その再配置は、GUIホームスクリーンにアイコンを追加すること、またはそこからアイコンを除去することを含み得る。別の構成では、アプリケーション視覚化のセットが再配置され、その再配置は、それらの表示を再配置すること、サイズ変更すること、追加すること、除去すること、再フォーマッティングすること、色変更すること、および/または別様に影響を及ぼすことを含み得る。
[0059]図5Bを参照すると、実行エンジン/コントローラ245/345は、ダウンロードされたアプリケーション217のうちの1つまたは複数のアプリケーション実行530を制御する。図4で判断されたアプリケーション関連性スコア410は、実行エンジン/コントローラ245/345によって、1つまたは複数のダウンロードされたアプリケーション217の実行を自動的に実行および/または停止すべきかどうかを判断するために使用される。たとえば、ユーザが、ユーザのソーシャルコンタクトのうちの1つによって最近推奨されたレストランに接近したとき、アプリケーションが自動的に実行され得る。
[0060]アプリケーション関連性を判断するためにデバイスコンテキストとソーシャルコンテキストの組合せが使用され得る多くのシナリオが可能であることを諒解されよう。1つのそのようなシナリオが図6Aおよび図6Bに示されている。図6Aは、ユーザの在宅時におけるユーザのモバイルクライアントデバイス上での「ホームスクリーン」GUI表示(たとえば、図5AのGUI表示520)の例示的なスクリーンショット600aを示す。図示のように、在宅時に、ユーザのホームスクリーンは、「メッセージインボックス」、クロック、「ステータス」、「コンタクト」、および「カレンダー」アプリケーションを含むダウンロードされたアプリケーションのためのいくつかのアプリケーション表現を示す。
[0061]図示されたシナリオでは、ユーザが、現在の時間と次のスケジュールエントリとを知りたいために、および状態エントリを(たとえば、ブログ、ソーシャルネットワーキングサイトなどに)絶えず更新するために、(インボックスおよびコンタクトアプリケーションを通して)メッセージングおよび通信機能とインターフェースする可能性があることが、アプリケーション関連性判断によって判断されている。特に、「コンタクト」アプリケーション表現は、自宅ロケーションからコンタクトされる可能性が最も高い、ユーザのコンタクトリストからのエントリを示すように構成される。たとえば、これらは、ユーザがフォン、電子メール、SMSなどによって最も最近通信したソーシャルコンタクトであり得る。
[0062]いくつかの構成では、1つまたは複数のアプリケーション(またはアプリケーション表現)は「ピニング」され得、これにより、アプリケーション表現をいくつかのピニング選好にかけることができる。図6Aでは、「ステータス」アプリケーションは、「ピン(pin)」アイコン610によって示されるようにピニングされている。ピニングは、一般に、特定のアプリケーション表現のビヘイビア(behavior)に対する動的コンテキストアウェアアプリケーション推奨の影響を制限するために使用され得る。たとえば、図5Aに関して説明したように、アプリケーション表現の表示は、アプリケーション関連性スコアに従って影響を及ぼされ得る(たとえば、サイズ変更、再配置、並べ替え、除去など)。1つの例示的な構成では、アプリケーション表現をピニングすると、アプリケーション表現が完全に固定され、したがって、アプリケーション表現の表示は、アプリケーション関連性スコアの変化によって影響を及ぼされないことがある。
[0063]他の例示的な構成では、アプリケーション表現をピニングすると、アプリケーション表現は実質的に固定され、したがって、アプリケーション表現の表示は、アプリケーション関連性スコアの変化によって比較的影響を受けない。たとえば、アプリケーション関連性スコアの変化があると、アプリケーション表現は、位置および/またはサイズが変化されるが、GUI表示のホームスクリーン上に常に残され得る。さらに他の例示的な構成では、アプリケーション表現をピニングすると、アプリケーション表現は、(たとえば、スコアリングエンジン/コントローラ240/340によって実装される)異なる公式、異なる重み付け、異なるしきい値などによるアプリケーション関連性スコアの変化によって影響を及ぼされるようになる。
[0064]いくつかの例示的な構成では、同じまたは異なるピニング選好がアプリケーション(またはアプリケーション表現)ごとに設定され得る。たとえば、GUI表示のある選好ページにより、ピニングを特定のアプリケーション表現に適用することが可能になり得、カスタマイズされたピニング選好を設定することを可能にするために、すべてのピニングされたアプリケーションに、またはピニングされたアプリケーションごとに高度「ピニング選好」ページが与えられ得る。例示的なピニング構成の上記の説明から諒解されるように、ピニング選好により、ユーザが、アプリケーション関連性スコアの変化に従ってサイズ変更、再配置などの変化の許容される大きさを設定することが可能になり得る。
[0065]図6Bを参照すると、ユーザがカリフォルニア州サンフランシスコを旅行している間のユーザのモバイルクライアントデバイス上の「ホームスクリーン」GUI表示(たとえば、図5AのGUI表示520)の例示的なスクリーンショット600bが示されている。図示のように、旅行中に、ユーザのホームスクリーンは、「コンタクト」、「マップ」、「ステータス」、「検索」、および「メディアギャラリー」アプリケーションを含むダウンロードされたアプリケーションのためのいくつかのアプリケーション表現を示す。図示されたシナリオでは、ユーザがローカルコンタクトとインターフェースする可能性があること、ユーザが、(たとえば、「検索」および「マップ」アプリケーションを使用して)ローカルアトラクションを検索することと、(たとえば、ブログ、ソーシャルネットワーキングサイトなどに)状態エントリを更新し続けることと、「メディアギャラリー」中に収集されている休暇中に撮った写真を管理することとを希望することになることがアプリケーション関連性判断によって判断されている。
[0066]特に、「コンタクト」アプリケーション表現は、旅行ロケーションからコンタクトされる可能性が最も高い、ユーザのコンタクトリストからのエントリを示すように構成される。たとえば、これらは、ユーザが最近通信したソーシャルコンタクト、それらのそれぞれのデバイスコンテキストに従って近接していると判断されたソーシャルコンタクト、それらのそれぞれのソーシャルコンテキスト情報に従ってソーシャルネットワーキングサイトにサンフランシスコについての情報を最近ポスティングしたソーシャルコンタクトなどを含み得る。したがって、図6Bに示すコンタクトのセットは、図6Aに示したコンタクトのセットとは異なることがある。
[0067]いくつかのアプリケーション表現を再配置および/またはサイズ変更すること、さらには(たとえば、コンタクトアプリケーションに関して説明したように)アプリケーション表現中に含まれる表示コンテンツを変更することに加えて、いくつかのアプリケーションが実行および/または終了され得る。たとえば、図6Aから図6Bに移動する際、メッセージインボックス、クロック、およびカレンダーアプリケーション表現がGUI表示のホームスクリーンから除去され、一方、マップ、検索、およびメディアギャラリーアプリケーション表現がGUI表示のホームスクリーンに追加されたことが明らかである。場合によっては、対応するアプリケーションの実行は影響を受けず、アプリケーション関連性スコアの変化は、アプリケーション表現が表示されるかどうか、およびそれがどのように表示されるかのみに影響を及ぼす。他の場合には、アプリケーション関連性スコアの変化は、アプリケーションを自動的に実行(たとえば、開始、前景(foreground)に移動、アクティブに更新など)させるか、またはアプリケーションの実行を自動的に停止(たとえば、休止、シャットダウン、バックグラウンドプロセスに移動など)させる。たとえば、ユーザがサンフランシスコに移動すると、マップアプリケーションは、自動的に実行し、アプリケーション表現の一部として表示されるべき情報をダウンロードし得る。
[0068]図6Aおよび図6Bの例示的なシナリオについて、ユーザが在宅時と旅行中の両方でステータスアプリケーションを更新することを楽しむと仮定する。したがって、ユーザは、(ピン610として示されている)ステータスアプリケーションをピニングした。ユーザが(図6Aに示した)自宅ロケーションから(図6Bに示す)サンフランシスコに移動すると、ステータスアプリケーション表現を除く、表示GUI上のすべてのアプリケーション表現が変化した。たとえば、それらは、コンタクトアプリケーション表現のように再配置されたか、メッセージインボックス、クロック、およびカレンダーアプリケーション表現のように除去されたか、またはマップ、検索、およびメディアギャラリーアプリケーション表現のように追加された。しかしながら、ピニングされたステータスアプリケーション表現は実質的に影響を受けないままである。ステータスアプリケーション表現は、GUI表示への他の変化に適応するために移動したが、同じ一般的なロケーションおよび同じ一般的なサイズのままである。
[0069]「ダウンロードされたアプリケーション」に言及する本明細書の記述および特許請求の範囲は、クライアントデバイス115上に常駐するアプリケーションまたはアプリケーションのいくつかの機能を含む機能を含むことを広く意図することを諒解されよう。いくつかの例では、「ダウンロードされたアプリケーション」は、たとえば、ロケーション、いくつかのソーシャルコンタクトへの近接度、および/あるいは他のデバイスまたはソーシャルコンテキスト情報によって影響を及ぼされ得るクライアントデバイス115設定(たとえば、リングボリューム、表示されるコンタクトの数、スクリーン輝度など)を含む。他の例では、「ダウンロードされたアプリケーション」は、ウェブベースのアプリケーションまたは他のタイプのアプリケーションのためのポータル機能のような、クライアントサーバアプリケーションのクライアント側の機能を含む。
[0070]いくつかの例示的な構成によれば、「ダウンロードされたアプリケーション」は、テンプレートと、関係するテンプレート化機能とを含む。アプリケーションごとに直接アプリケーション関連性スコアを適用するためにコンテキストベースアプリケーション関連性判断を使用するのではなく、特定のテンプレートを選択するためにアプリケーション関連性スコアが使用され得る。たとえば、図6Aおよび図6Bを参照すると、「自宅」と「旅行」の各々はテンプレートに対応し得る。テンプレート内のアプリケーション表現は、テンプレートによって完全にまたは部分的に規定され得る。
[0071]たとえば、ユーザがサンフランシスコに旅行すると、デバイスコンテキスト情報(たとえば、GPSロケーション)および/またはソーシャルコンテキスト情報(たとえば、旅行を示すカレンダーエントリ)により、「旅行」テンプレートが選択されるようになり得る。サンフランシスコに入ると、ソーシャルコンテキスト情報は、近くのレストランがソーシャルコンタクトによって最近推奨されたことを示し得る。したがって、ソーシャルネットワーキングアプリケーション、マップ、レストランレビューサイト、レストランウェブサイトなどが、テンプレートのパラメータ内のホームスクリーン上に出現し得る。
[0072]上記で説明したように、デバイスコンテキスト情報および/またはソーシャルコンテキスト情報は、アプリケーションを示唆するために(たとえば、さらには自動的に実行するために)使用され得る。いくつかの実施形態によれば、デバイスコンテキスト情報および/またはソーシャルコンテキスト情報はまた、時間にわたってテンプレートを示唆するために使用され得る。たとえば、クライアントデバイス115は、旅行のほぼ3日前に、ユーザが、ユーザが予約したホテルの近傍にあるレストランのレストラン推奨ウェブサイトを調べ、ユーザの旅行目的地の地域のビジネスコンタクトに電話をかけ、ユーザの旅行目的地の町の5日間の天気予報を調べる傾向があることを時間にわたって認識する。クライアントデバイス115は、(たとえば、ホームスクリーンにそれらのそれぞれのアプリケーション表現を移動することによって)それらのアプリケーションの一部または全部を推奨し得、および/またはクライアントデバイス115は、それらのアプリケーション表現の一部または全部を含む有用な表示構成を有するテンプレートを推奨し得る。
[0073]上記で説明したように、構成は、デバイスコンテキスト情報とソーシャルコンテキスト情報の両方を使用して、アプリケーション関連性スコアを生成し、次いで、そのアプリケーション関連性スコアが、アプリケーションの表示および/または実行に影響を及ぼすために使用され得る。多くの異なるタイプのデバイスコンテキスト情報とソーシャルコンテキスト情報とがあり、アプリケーション関連性スコアに影響を及ぼすために、これらのタイプの情報がいくつかの異なる方法で使用され得る。これらの方法のうちのいくつかを本明細書で提示するが、多くの他の方法が可能であり、特定のシナリオは、例として提供されるにすぎず、本開示の範囲または特許請求の範囲を限定するものとして解釈すべきではないことを諒解されよう。
[0074]1つのタイプのデバイスコンテキストは、クライアントデバイス115の現在の地理的ロケーションである。たとえば、ユーザは、あらかじめ定義されたロケーション(たとえば、自宅、メインオフィス、リモートオフィス、ソーシャルコンタクトの自宅またはオフィス、休暇目的地など)または(たとえば、GPSロケータまたは他の技法によって検出された)他の目的地にいるとき、いくつかのアプリケーション、テンプレートなどを使用する可能性が高いことがある。別のタイプのデバイスコンテキストは、クライアントデバイス115の現在のネットワーク使用率である。たとえば、ユーザは、ユーザが、アクティブ呼に参加しているかどうか、ストリーミングデータをダウンロードしているかどうか、ネットワークパフォーマンス問題(たとえば、高いビット誤り率)を有しているかどうか、公衆サブネットまたはプライベートサブネットに接続しているかどうかなどに応じて、何らかの形でいくつかのアプリケーション、設定などと対話し得る。さらに別のタイプのデバイスコンテキストは、クライアントデバイス115の現在のアプリケーション使用率である。たとえば、ユーザが、電子メールを書くこと、写真を撮るかまたは編集すること、音楽をリスニングすること、ナビゲーション機能を使用することなどを行う間、いくつかのアプリケーションがより望ましいことがある。さらに別のタイプのデバイスコンテキストは、クライアントデバイス115の現在の時間である。たとえば、異なるアプリケーションは、異なる時間(たとえば、勤務時間中に使用される生産性アプリケーション対夕方に使用されるメディアアプリケーション)、異なる曜日(たとえば、週間労働時間中に使用されるカレンダーおよびワークエンタープライズ電子メールアプリケーション対週末に使用されるソーシャルネットワーキングおよびメディアアプリケーション)、異なる時期などに使用される傾向があり得る。
[0075]いくつかの他のタイプのデバイスコンテキスト情報は、履歴および/または相対コンテキストに関係し得る。1つのそのようなタイプのデバイスコンテキストは、モバイルデバイスの過去の地理的ロケーションに対するクライアントデバイス115の現在の地理的ロケーションである。別のそのようなタイプのデバイスコンテキストは、過去のアプリケーション使用率に対するクライアントデバイス115の現在のアプリケーション使用率である。
[0076]例示的なタイプのソーシャルコンテキスト情報を参照すると、1つのタイプのソーシャルコンテキストは、ユーザに関連するクライアントデバイス115のカレンダーアプリケーション中のエントリである。たとえば、カレンダーエントリは、ユーザがいつ、どこに旅行しているのか、ユーザがいつ、どのソーシャルコンタクトと会議をもつのか、ソーシャルコンタクトのライフサイクルイベント(たとえば、誕生日、結婚式、記念日など)がいつ行われるのかなどを示し得る。別のタイプのソーシャルコンテキストは、クライアントデバイス115のコンタクト履歴である。たとえば、(たとえば、ユーザのカレンダー、ソーシャルネットワーキングサイト、またはコンタクトリストによる)友人の誕生日に、ユーザが、常に、特定の友人に電話をかけ、友人のソーシャルネットワーキングページ上に誕生日メッセージをポスティングする傾向がある場合、コンタクトアプリケーション表現は、リストの上部の近くに友人のコンタクトアイコンを移動するように自動的に調整され得、ソーシャルネットワーキングアプリケーションは、それのアプリケーション表現が表示GUIのホームスクリーン中に表示されるように実行し得る。いくつかの他の例示的なタイプのソーシャルコンテキストは、ソーシャルコンタクトに関連するカレンダーアプリケーション中のエントリ、ソーシャルネットワーキングアプリケーションを介して受信した更新、ソーシャルコンタクトの地理的ロケーションに従ってコンテキスト化されたアプリケーション使用率情報、ソーシャルコンタクトのアプリケーション使用率に従ってコンテキスト化されたアプリケーション使用率情報、ソーシャルコンタクトの地理的ロケーションに対するモバイルデバイスの現在の地理的ロケーションなどを含む。
[0077]いくつかの構成がイントラアプリケーション機能に影響を及ぼすためにコンテキストアウェア機能を使用することは注目に値する。たとえば、図6Aおよび図6Bを参照しながら説明したコンタクトアプリケーションは、デバイスおよび/またはソーシャルコンテキストに従ってコンタクトの順序付けおよび/または表示を別様に行う。多くの他の例示的なシナリオが可能である。
[0078]1つのそのような例示的なシナリオによれば、ユーザ(「エリック」)が彼の妻を彼らの記念日に連れていく新しいレストランを探していると仮定する。エリックはレストランレビューサイトを見えることができるが、いつもあまりに数が多く、エリックは、どのサイトが信頼できるのか、自分の意見に合うのかがわからない。エリックにより多くのカスタマイズされた結果を与える推奨および補足情報を引き出すために、イントラアプリケーション関連性(たとえば、エリックが頻繁に訪れるレストランのタイプ、同じくそれらのレストランに行く友人など)を判断するために、デバイスコンテキスト情報とソーシャルコンテキスト情報とが使用され得る。たとえば、関係するロケーションの推奨は、エリックのソーシャルコンタクトもそのレストランのレビューおよび/または写真をソーシャルネットワーキングサイト上にポスティングしていたときに優先され得る。エリックの最も親しい友人は、さらには、エリックが、GPSフィックスに検出された彼らが行ったことがあるレストランを閲覧することを可能にし得る。コンタクト履歴は、どれがエリックのより親しいソーシャルコンタクトであるか示すことができ、それらのコンタクトからの推奨はより重く重み付けされ得る。同様に、エリックの友人が行ってないことがあるいくつかのレストランがあるので、エリックと同様のプロファイルを有する人々が推奨を補うことができる。
[0079]別の例示的なシナリオによれば、別のユーザ(「マンディー」)は、彼女の同僚とのハッピーアワーを計画している。マンディーがどのコンタクトを招待しているのかと、イベントのタイプ(たとえば、ハッピーアワー、ディナー、映画など)とがわかると、そのイベントのためのロケーション示唆を与えるために本明細書で説明する技法が使用され得る。これらの示唆は、選択されたソーシャルコンタクトにとって(たとえば、ロケーションベースプロファイルまたは手動カレンダー入力で)より好都合なロケーション、各同僚がいったことがあるおよび/または好きな場所、ならびに同僚のグループが過去に一緒に行ったことがある場所を考慮に入れることができる。
[0080]様々なシステムに関して上記で説明した機能について、図7〜図9の方法を通してさらに説明する。図7を参照すると、デバイスコンテキスト情報とソーシャルコンテキスト情報の両方に従ってアプリケーション表現の表示に動的に影響を及ぼすための例示的な方法700の流れ図が示されている。方法700は、ステージ704で開始して、ユーザのモバイルデバイス(クライアントデバイス115)の動的特性に従って生成されたいくつかのデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断する。上記で説明したように、デバイスコンテキスト値は、センサーおよび/または他の実質的リアルタイムデータソースを使用することによることを含むいくつかの方法で判断され得る。
[0081]ステージ708において、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成されたいくつかのソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断する。上記で説明したように、ソーシャルコンテキスト値は、ユーザのクライアントデバイス115にローカルのソーシャルコンテキスト情報、ソーシャルコンタクトのクライアントデバイス115からのソーシャルコンテキスト情報、またはソーシャルコンタクトのクライアントデバイス115からのデバイスコンテキスト情報を含む、いくつかのソースのうちの1つまたは複数から判断され得る。デバイスコンテキスト値および/またはソーシャルコンテキスト値は、それぞれ、単一のソースからの値または複数のソースからの値の組合せを表し得る。
[0082]ステージ712において、モバイルデバイスにダウンロードされた各アプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算する。上記で説明したように、アプリケーション関連性スコアは、すべてのアプリケーションについてまたはアプリケーションの一部分のみについて計算され得る。さらに、上記で説明したように、「ダウンロードされたアプリケーション」は、クライアントサーバアプリケーションのクライアント部分、複数のアプリケーション表現に影響を及ぼすテンプレートアプリケーションなどを含み得る。
[0083]一般に、特定のアプリケーションのアプリケーション関連性スコアは、線形、非線形または様々なデバイスコンテキスト値およびソーシャルコンテキスト値の数値表現の重み付き組合せである。説明の目的で、ユーザが現在の時間にまたはその近くにアプリケーションと対話した頻度(c1)、ユーザが現在の曜日またはその近くにアプリケーションと対話した頻度(c2)、ユーザが現在のロケーションまたはその近くでアプリケーションと対話した頻度(c3)、一部または全部のソーシャルコンタクトが近くに存在するとき、ユーザがアプリケーションと対話した(たとえば、他の人々の近くにあるときに写真アルバムまたはカメラアプリケーションを使用する)頻度(c4)、現在のユーザアクティビティとともにアプリケーションを使用する(たとえば、ランニング時に心拍数モニターまたは歩数計アプリケーションを使用するなどの)確率と相関するスコア(c5)、カレンダー上の特定のタイプのイベントとともにアプリケーションを使用する(たとえば、仕事上の会議中にSMSアプリケーションを使用する、またはパーティでステータス更新アプリケーションを使用する)確率と相関するスコア(c6)、ユーザが新しいロケーションにいる状態でアプリケーションを使用する(たとえば、町または他の場所の新しい場所でマップアプリケーションを使用する)確率と相関するスコア(c7)といったデバイスコンテキスト値とソーシャルコンテキスト値とがクライアントデバイス115上のいくつかのアプリケーションによって記録されると仮定する。次いで、アプリケーション関連性スコアがそれらの値の関数(たとえば、S=f(c1,c2,c3,c4,....cn))として計算され得る。
[0084]ステージ716において、モバイルデバイスのGUI上でのいくつかのアプリケーション表現の表示を動的に更新する。動的更新により、アプリケーション表現がアプリケーション関連性スコアに少なくとも従って配置される。たとえば、様々なアプリケーション表現が、サイズ変更、再配置、色変更、追加、削除などされ得る。
[0085]図8は、デバイスコンテキスト情報とソーシャルコンテキスト情報の両方に従ってアプリケーション表現の表示に動的に影響を及ぼすための図7の方法700のいくつかの例示的な実施形態を表す方法800の流れ図を示す。図8の方法800のステージは、図7の方法700の対応するステージと同様の方法で番号付けされる。したがって、方法800は、ステージ704aで開始して、デバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断するために、モバイルデバイスと一体化されたセンサーから実質的リアルタイムデータを受信する。
[0086]ステージ708aにおいて、ソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断するために、ソーシャルネットワーキングアプリケーションから通信ネットワークを介してモバイルデバイスにおいて実質的リアルタイムデータを受信する。ステージ712aにおいて、アプリケーション関連性スコアを生じるために、モバイルデバイスにダウンロードされた複数のアプリケーションの各々について、少なくともカレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との重み付き組合せを計算する。図7の場合のように、例示的な一構成によれば、ステージ716aにおいて、アプリケーション表現のうちの少なくともいくつかの並べ替えおよび/またはサイズ変更を行うことによってGUI上でのアプリケーション表現の表示を動的に更新する。
[0087]代替的に、ステージ804において、1つまたは複数のピニングされたアプリケーションを識別する。上記で説明したように、アプリケーションはユーザによってピニングされ得、ピニングされたアプリケーションは、いくつかのピニングパラメータ(たとえば、あらかじめ定義されたパラメータ、デフォルトパラメータ、ユーザ定義パラメータおよび/または他のパラメータ)に関連付けられ得る。ステージ716bにおいて、アプリケーションピニングを考慮してGUI上でのアプリケーション表現の表示を動的に更新する。たとえば、ピニングされたアプリケーション表現は、ピニング選好に従って並べ替えおよび/またはサイズ変更が行われるが、非ピニングされたアプリケーション表現は、非ピニング選好に従って並べ替えおよび/またはサイズ変更が行われる。
[0088]図9は、デバイスコンテキスト情報とソーシャルコンテキスト情報の両方に従ってアプリケーションの実行に自動的に影響を及ぼすための例示的900な方法の流れ図を示す。方法900は、ステージ904で開始して、ユーザのモバイルデバイスの動的特性に従って生成されたいくつかのデバイスコンテキストパラメータのうちの少なくとも1つのカレントデバイスコンテキスト値を判断する。ステージ908において、モバイルデバイスによってアクセス可能なソーシャルアプリケーションの一部として維持されたユーザのソーシャルコンタクトに関する動的情報に従って生成されたいくつかのソーシャルコンテキストパラメータのうちの少なくとも1つのカレントソーシャルコンテキスト値を判断する。
[0089]ステージ912において、モバイルデバイスにダウンロードされた指定されたアプリケーションについて、カレントデバイスコンテキスト値とカレントソーシャルコンテキスト値との関数としてアプリケーション関連性スコアを計算する。たとえば、ステージ904、908、および912は、それぞれ、図7のステージ704、708、および712を参照しながら説明したように実質的に実装され得る。ステージ916において、アプリケーション関連性スコアが所定のしきい値を上回るように計算されたとき、指定されたアプリケーションをモバイルデバイス上で自動的に実行する。たとえば、アプリケーションは、指定されたアプリケーションのアプリケーション関連性スコアが、ある数値を上回る、ある時間量にわたってある大きさの変化を有する、いくつかの他のアプリケーション関連性スコアよりも高いある量になるなどのように計算されたとき自動的に実行する。代替的に、ステージ920において、アプリケーション関連性スコアが所定のしきい値を下回るように計算されたとき、指定されたアプリケーションの実行をモバイルデバイス上で自動的に停止または終了する。
[0090]上記で説明した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々な(1つまたは複数の)ハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。
[0091]説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ信号(FPGA)、または他のプログラマブル論理デバイス(PLD)、個別ゲート、またはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[0092]本開示に関連して説明した方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、任意の形態の有形記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例には、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどがある。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り得、その記憶媒体に情報を書き込み得るように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサに一体化され得る。ソフトウェアモジュールは、単一の命令、または多数の命令であり得、いくつかの異なるコードセグメント上で、異なるプログラム間で、および複数の記憶媒体にわたって分散され得る。
[0093]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のアクションを備える。本方法および/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、アクションの特定の順序が指定されない限り、特定のアクションの順序および/または使用は特許請求の範囲の範囲から逸脱することなく変更され得る。
[0094]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。ソフトウェアで実装する場合、機能は1つまたは複数の命令として有形コンピュータ可読媒体に記憶され得る。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な有形媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、または他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の有形媒体を備えることができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。
[0095]したがって、コンピュータプログラム製品は、本明細書で提示した動作を実行し得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明した動作を実行するために1つまたは複数のプロセッサによって実行可能である命令を有形に記憶(および/または符号化)したコンピュータ可読有形媒体であり得る。コンピュータプログラム製品はパッケージング材料を含み得る。
[0096]ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。たとえば、ソフトウェアは、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)などの伝送媒体、あるいは赤外線、無線、またはマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信され得る。
[0097]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードおよび/または他の方法で取得され得る。たとえば、そのようなデバイスは、本明細書で説明した方法を実行するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法を記憶手段(たとえば、RAM、ROM、CDまたはフロッピーディスクなどの物理的記憶媒体など)によって提供することができ、それにより、ユーザ端末および/または基地局は、その記憶手段をデバイスに結合または供給すると、それらの様々な方法を取得することができるようになる。さらに、本明細書で説明する方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
[0098]他の例および実装形態は、本開示および添付の特許請求の範囲および趣旨内に入る。たとえば、ソフトウェアの性質により、上記で説明した機能は、プロセッサ、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのうちのいずれかの組合せによって実行されるソフトウェアを使用して実装され得る。機能を実装する特徴はまた、機能の部分が、異なる物理ロケーションにおいて実装されるように分散されることを含めて、様々な位置に物理的に配置され得る。また、特許請求の範囲を含めて、本明細書で使用される場合、「のうちの少なくとも1つ」で終わる項目の列挙中で使用される「または」は、たとえば、「A、B、またはCのうちの少なくとも1つ」の列挙は、AまたはBまたはC、またはABまたはACまたはBCまたはABC(すなわち、AおよびBおよびC)を意味するような選言的列挙を示す。さらに、「例示的」という用語は、説明する例が他の例よりも好適であるかまたは良いことを意味しない。
[0099]本明細書で説明した技法の様々な変更、置換、および改変は、添付の特許請求の範囲によって定義された教示の技術から逸脱することなく行われ得る。その上、本開示および特許請求の範囲は、上記で説明したプロセス、機械、製造、組成物、手段、方法、およびアクションの特定の態様に限定されない。本明細書で説明した対応する態様と実質的に同じ機能を実行するか、または実質的に同じ結果を達成する、現存するかまたは後で開発される、プロセス、機械、製造、組成物、手段、方法、またはアクションが利用され得る。したがって、添付の特許請求の範囲は、それらの範囲内にそのようなプロセス、機械、製造、組成物、手段、方法、またはアクションを含む。