本開示は、第1のデバイスの複数のデータソースによって複数の周波数において生成されたデータ入力を同期させることに関する。一態様では、デバイスは、複数のデータソースのうちの第1のデータソースから第1のセットのデータポイントを受信することであって、第1のセットのデータポイントが、複数の周波数のうちの第1の周波数において生成されたデータポイントを含む、受信することと、複数のデータソースのうちの第2のデータソースから第2のセットのデータポイントを受信することであって、第2のセットのデータポイントが、複数の周波数のうちの第2の周波数において生成されたデータポイントを含む、受信することと、第1のセットのデータポイントの少なくともサブセットおよび第2のセットのデータポイントの少なくともサブセットが生成された時間期間に対応する時間ウィンドウを選択することと、時間ウィンドウの間に受信された第1のセットのデータポイントのサブセットの第1の縮約形および第2のセットのデータポイントのサブセットの第2の縮約形を表すベクトルを生成することとを行う。
デバイスは、第1のデバイスから第2のデバイスに第1のユーザモデルを送信することであって、第1のユーザモデルが、少なくともベクトルを含む、送信することと、第2のデバイスから第2のユーザモデルを受信することであって、第2のユーザモデルが、少なくとも第2のベクトルを含み、第2のベクトルが、第2の時間ウィンドウの間に受信された第3のセットのデータポイントのサブセットの第3の縮約形および第4のセットのデータポイントのサブセットの第4の縮約形を表す、受信することと、少なくともベクトルを少なくとも第2のベクトルと比較することと、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であるかどうかを判断することと、第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であるかどうかを判断することと、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であることならびに第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であることに基づいて、第1のデバイスと第2のデバイスとの間に相関関係があると判断することとをさらに行い得る。
本開示のこれらおよび他の態様について、本開示の特定の実施形態を対象とした以下の説明および関連する図面において説明する。代替実施形態は、本開示の範囲から逸脱することなく考案され得る。加えて、本開示の関連する詳細を不明瞭にしないように、本開示のよく知られている要素は詳細には説明されず、または省略される。
「例示的」および/または「例」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「本開示の実施形態」という用語は、本開示のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
さらに、多くの実施形態が、たとえばコンピューティングデバイスの要素によって実行されるべき、アクションのシーケンスに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行され得ることを認識されよう。加えて、本明細書で説明するこれらのアクションのシーケンスは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形態のコンピュータ可読記憶媒体内で完全に具現化されるものと見なされ得る。したがって、本開示の様々な態様はいくつかの異なる形式で具現化され得、そのすべてが、特許請求される主題の範囲内に入ると企図されている。加えて、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明する動作を実行する「ように構成された論理」として説明されることがある。
本明細書においてユーザ機器(UE)と呼ばれるクライアントデバイスは、モバイルまたは固定とすることができ、無線アクセスネットワーク(RAN)と通信することができる。本明細書で使用する「UE」という用語は、互換的に「アクセス端末」または「AT」、「ワイヤレスデバイス」、「加入者デバイス」、「加入者端末」、「加入者局」、「ユーザ端末」または「UT」、「モバイル端末」、「移動局」、およびそれらの変形形態と呼ばれることがある。概して、UEは、RANを介してコアネットワークと通信することができ、コアネットワークを通じてUEはインターネットなどの外部ネットワークに接続され得る。もちろん、UEには、有線アクセスネットワーク、(たとえば、IEEE 802.11などに基づく)WiFiネットワークを介してなど、コアネットワークおよび/またはインターネットに接続する他の機構も考えられる。UEは、限定はしないが、PCカード、コンパクトフラッシュ(登録商標)デバイス、外付けまたは内蔵のモデム、ワイヤレスまたは有線の電話などを含むいくつかのタイプのデバイスのいずれかによって具現化され得る。UEが信号をRANに送ることができる通信リンクは、アップリンクチャネル(たとえば、逆方向トラフィックチャネル、逆方向制御チャネル、アクセスチャネルなど)と呼ばれる。RANが信号をUEに送ることができる通信リンクは、ダウンリンクチャネルまたは順方向リンクチャネル(たとえば、ページングチャネル、制御チャネル、ブロードキャストチャネル、順方向トラフィックチャネルなど)と呼ばれる。本明細書で使用するトラフィックチャネル(TCH)という用語は、アップリンク/逆方向トラフィックチャネル、またはダウンリンク/順方向トラフィックチャネルのいずれかを指し得る。
図1は、本開示の一実施形態によるワイヤレス通信システム100のハイレベルシステムアーキテクチャを示す。ワイヤレス通信システム100はUE1...Nを含む。UE1...Nは、セルラー電話、携帯情報端末(PDA)、ページャ、ラップトップコンピュータ、デスクトップコンピュータなどを含むことができる。たとえば、図1において、UE1...2は発呼側セルラー電話として示され、UE3...5はタッチスクリーンセルラー電話またはスマートフォンとして示され、UE NはデスクトップコンピュータまたはPCとして示されている。
図1を参照すると、UE1...Nは、図1にエアインターフェース104、106、108および/または直接有線接続として示されている物理通信インターフェースまたはレイヤを介してアクセスネットワーク(たとえば、RAN120、アクセスポイント125など)と通信するように構成される。エアインターフェース104および106は所与のセルラー通信プロトコル(たとえば、CDMA、EVDO、eHRPD、GSM(登録商標)、EDGE、W-CDMA、LTEなど)に準拠することができ、一方、エアインターフェース108はワイヤレスIPプロトコル(たとえば、IEEE 802.11)に準拠することができる。RAN120は、エアインターフェース104および106などのエアインターフェースを介してUEにサービスする複数のアクセスポイントを含む。RAN120内のアクセスポイントは、アクセスノードまたはAN、アクセスポイントまたはAP、基地局またはBS、ノードB、eノードBなどと呼ばれることがある。これらのアクセスポイントは、地上アクセスポイント(もしくは地上局)または衛星アクセスポイントであり得る。RAN120は、RAN120によってサービスされるUEとRAN120または異なるRANによってサービスされる他のUEとの間の回線交換(CS)呼を完全にブリッジングすることを含む様々な機能を実行することができ、インターネット175などの外部ネットワークとのパケット交換(PS)データの交換を仲介することもできるコアネットワーク140に接続するように構成される。インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上図1には示されていない)を含む。図1において、UE Nはインターネット175に直接接続する(すなわち、WiFiまたは802.11ベースネットワークのイーサネット(登録商標)接続を介するなど、コアネットワーク140から分離される)ように示されている。それによって、インターネット175は、コアネットワーク140を介してUE NとUE1...Nとの間のパケット交換データ通信をブリッジングするように機能することができる。図1には、RAN120から分離されたアクセスポイント125も示されている。アクセスポイント125は、コアネットワーク140とは無関係に(たとえば、FiOS、ケーブルモデムなどの光通信システムを介して)インターネット175に接続され得る。エアインターフェース108は、一例ではIEEE 802.11などのローカルワイヤレス接続を介してUE4またはUE5にサービスし得る。UE Nは、一例では(たとえば、有線接続性とワイヤレス接続性の両方を有するWiFiルータ用の)アクセスポイント125自体に対応し得るモデムまたはルータとの直接接続などのインターネット175との有線接続を有するデスクトップコンピュータとして示されている。
図1を参照すると、サーバ170は、インターネット175、コアネットワーク140、またはその両方に接続されるように示されている。サーバ170は、構造的に別個の複数のサーバとして実装され得るか、または代替的には単一のサーバに対応し得る。以下でより詳細に説明するように、サーバ170は、コアネットワーク140および/またはインターネット175を介してサーバ170に接続することができるUEに対して1つまたは複数の通信サービス(たとえば、ボイスオーバーインターネットプロトコル(VolP)セッション、プッシュツートーク(PTT)セッション、グループ通信セッション、ソーシャルネットワーキングサービスなど)をサポートするように、および/またはUEにコンテンツ(たとえば、ウェブページダウンロード)を提供するように構成される。
図2は、本開示の実施形態によるUE(すなわち、クライアントデバイス)の例を示す。図2を参照すると、UE200Aは発呼側電話として示され、UE200Bはタッチスクリーンデバイス(たとえば、スマートフォン、タブレットコンピュータなど)として示されている。図2に示すように、UE200Aの外部ケーシングは、当技術分野で知られているように、数ある構成要素の中でも、アンテナ205A、ディスプレイ210A、少なくとも1つのボタン215A(たとえば、PTTボタン、電源ボタン、音量調節ボタンなど)、およびキーパッド220Aによって構成される。また、UE200Bの外部ケーシングは、当技術分野で知られているように、数ある構成要素の中でも、タッチスクリーンディスプレイ205B、周辺ボタン210B、215B、220B、および225B(たとえば、電力調節ボタン、音量または振動調節ボタン、飛行機モードトグルボタンなど)、少なくとも1つのフロントパネルボタン230B(たとえば、Homeボタンなど)によって構成される。UE200Bの一部として明示的に示されてはいないが、UE200Bは、限定はしないが、WiFiアンテナ、セルラーアンテナ、衛星位置システム(SPS)アンテナ(たとえば、全地球測位システム(GPS)アンテナ)などを含む、1つもしくは複数の外部アンテナおよび/またはUE200Bの外部ケーシングに内蔵された1つもしくは複数の集積アンテナを含むことができる。
UE200AおよびUE200BなどのUEの内部構成要素は異なるハードウェア構成によって具現化され得るが、内部ハードウェア構成要素のための基本的なハイレベルUE構成は図2にプラットフォーム202として示されている。プラットフォーム202は、最終的にコアネットワーク140、インターネット175、ならびに/または他のリモートサーバおよびネットワーク(たとえば、サーバ170、ウェブURLなど)から得ることのできるRAN120から送信されたソフトウェアアプリケーション、データ、および/またはコマンドを受信し実行することができる。プラットフォーム202は、ローカルに記憶されたアプリケーションをRAN対話なしに独立して実行することもできる。プラットフォーム202は、特定用途向け集積回路(ASIC)208、または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ206を含むことができる。ASIC208または他のプロセッサは、ワイヤレスデバイスのメモリ212内の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(API)210レイヤを実行する。メモリ212は、読取り専用メモリもしくはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成することができる。プラットフォーム202はまた、メモリ212内でアクティブに使用されないアプリケーション、ならびに他のデータを記憶することができるローカルデータベース214を含むことができる。ローカルデータベース214は、通常、フラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトディスクまたはハードディスクなどの当技術分野で知られている任意の二次記憶デバイスであり得る。プラットフォーム202はまた、モデル生成器モジュール216およびモデル共有モジュール218を含み得、これらのモジュールは、メモリ212に記憶され、ASIC208によって実行可能であり得るか、または、ASIC208に結合されるかもしくはASIC208に組み込まれるハードウェア構成要素であり得る。
したがって、本開示の一実施形態は、本明細書で説明する機能を実行する能力を含むUE(たとえば、UE200A、UE200Bなど)を含むことができる。当業者によって諒解されるように、様々な論理要素は、本明細書で開示する機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアの任意の組合せで具現化され得る。たとえば、ASIC208、メモリ212、API210、ローカルデータベース214、モデル生成器モジュール216および/またはモデル共有モジュール218をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがって、これらの機能を実行するための論理は様々な要素にわたって分散され得る。代替的に、機能は、モデル生成器モジュール216および/またはモデル共有モジュール218などの1つの個別構成要素に組み込まれ得る。したがって、図2のUE200AおよびUE200Bの特徴は例示的なものにすぎないと見なされるべきであり、本開示は図示した特徴または構成に限定されない。
たとえば、UE200A/200Bが、本明細書でさらに説明するように、UE200A/200Bの複数のデータソースによって複数の周波数において生成されたデータ入力を同期させるように構成される場合、(モデル生成器モジュール216がメモリ212に記憶された実行可能モジュールである場合は、ASIC208と連携する)モデル生成器モジュール216は、複数のデータソースのうちの第1のデータソースから、複数の周波数のうちの第1の周波数において生成された第1のセットのデータポイントを受信し、複数のデータソースのうちの第2のデータソースから、複数の周波数のうちの第2の周波数において生成された第2のセットのデータポイントを受信し、第1のセットのデータポイントの少なくともサブセットおよび第2のセットのデータポイントの少なくともサブセットが生成された時間期間に対応する時間ウィンドウを選択し、時間ウィンドウの間に受信された第1のセットのデータポイントのサブセットの第1の縮約形および第2のセットのデータポイントのサブセットの第2の縮約形を表すベクトルを生成するように構成され得る。このようにして、UE200A/200Bは、モデル生成器モジュール216を介して、UE200A/200Bの複数のデータソースによって複数の周波数において生成されたデータ入力を同期させ得る。
一実施形態では、第1のセットのデータポイントのサブセットの第1の縮約形は、本明細書でさらに説明するように、第1のセットのデータポイントのサブセットのカウント、第1のセットのデータポイントのサブセットの平均、または第1のセットのデータポイントのサブセットのクラスタに対応する重心であり得る。同様に、第2のセットのデータポイントのサブセットの第2の縮約形は、第2のセットのデータポイントのサブセットのカウント、第2のセットのデータポイントのサブセットの平均、または第2のセットのデータポイントのサブセットのクラスタに対応する重心であり得る。
複数のデータソースは、たとえば、UE200Aまたは200B上に存在するセンサ(図示せず)であり得る。ASIC208と連携するモデル生成器モジュール216は、メモリ212、ローカルデータベース214、API210から第1のセットのデータポイントおよび第2のセットのデータポイントを受信し得るか、または直接第1のデータソースおよび第2のデータソースからこれらのデータポイントを受信し得る。
別の態様では、トランシーバ206も、第1のデータソースから第1のセットのデータポイントを受信し、第2のデータソースから第2のセットのデータポイントを受信するように構成され得る。次いで、ASIC208と連携するモデル生成器モジュール216は、トランシーバ206から第1のセットのデータポイントおよび第2のセットのデータポイントを受信し得る。
また別の態様では、本明細書でさらに説明するように、(モデル共有モジュール218がメモリ212に記憶された実行可能モジュールである場合は、ASIC208と連携する)モデル共有モジュール218は、UE200A/200Bから第2のデバイスに第1のユーザモデルを送信することであって、第1のユーザモデルが、モデル生成器モジュール216によって生成された少なくともベクトルを含む、送信することと、第2のデバイスから第2のユーザモデルを受信することであって、第2のユーザモデルが、少なくとも第2のベクトルを含み、第2のベクトルが、第2の時間ウィンドウの間に受信された第3のセットのデータポイントのサブセットの第3の縮約形および第4のセットのデータポイントのサブセットの第4の縮約形を表す、受信することとを行うように構成され得る。(モデル共有モジュール218がメモリ212に記憶された実行可能モジュールである場合は、ASIC208と連携する)モデル共有モジュール218は、少なくともベクトルを少なくとも第2のベクトルと比較し、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であるかどうかを判断し、第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であるかどうかを判断し、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であることならびに第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であることに基づいて、第1のデバイスと第2のデバイスとの間に相関関係があると判断するようにさらに構成され得る。
UE200Aおよび/またはUE200BとRAN120との間のワイヤレス通信は、CDMA、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重(OFDM)、GSM(登録商標)、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルなどの、様々な技術に基づくことができる。上記で説明し、当技術分野で知られているように、音声送信および/またはデータは、様々なネットワークおよび構成を使用してRANからUEに送信され得る。したがって、本明細書で提供する例示は、本開示の実施形態を限定するものではなく、単に本開示の実施形態の態様の説明を助けるためのものにすぎない。
図3は、機能を実行するように構成された論理を含む通信デバイス300を示す。通信デバイス300は、限定はしないが、UE200AまたはUE200B、RAN120の任意の構成要素、コアネットワーク140の任意の構成要素、コアネットワーク140および/またはインターネット175に結合された任意の構成要素(たとえば、サーバ170)などを含む、上述の通信デバイスのうちのいずれかに対応することができる。したがって、通信デバイス300は、図1のワイヤレス通信システム100を介して1つまたは複数の他のエンティティと通信する(またはエンティティとの通信を容易にする)ように構成された任意の電子デバイスに対応することができる。
図3を参照すると、通信デバイス300は、情報を受信および/または送信するように構成された論理305を含む。一例では、通信デバイス300がワイヤレス通信デバイス(たとえば、RAN120内のUE200Aもしくは200B、AP125、BS、ノードBまたはeノードBなど)に対応する場合、情報を受信および/または送信するように構成された論理305は、ワイヤレストランシーバおよび関連ハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)などのワイヤレス通信インターフェース(たとえば、Bluetooth(登録商標)、WiFi、2G、CDMA、W-CDMA、3G、4G、LTEなど)を含むことができる。別の例では、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、それを通じてインターネット175にアクセスすることができるシリアル接続、USBまたはFirewire接続、イーサネット(登録商標)接続など)に対応することができる。したがって、通信デバイス300が何らかのタイプのネットワークベースのサーバ(たとえば、サーバ170など)に対応する場合、情報を受信および/または送信するように構成された論理305は、一例では、イーサネット(登録商標)プロトコルを介してネットワークベースのサーバを他の通信エンティティに接続するイーサネット(登録商標)カードに対応することができる。さらなる例では、情報を受信および/または送信するように構成された論理305は、通信デバイス300がそのローカル環境をモニタする手段となり得る感知または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルRF信号をモニタするためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理305はまた、実行されると、情報を受信および/または送信するように構成された論理305の関連ハードウェアがその受信機能および/または送信機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、情報を受信および/または送信するように構成された論理305は、ソフトウェアだけに対応するのではなく、情報を受信および/または送信するように構成された論理305は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図3を参照すると、通信デバイス300は、情報を処理するように構成された論理310をさらに含む。一例では、情報を処理するように構成された論理310は、少なくともプロセッサを含むことができる。情報を処理するように構成された論理310によって実行され得るタイプの処理の例示的な実装形態は、限定はしないが、判断を行うこと、接続を確立すること、異なる情報オプション間で選択を行うこと、データに関係する評価を実行すること、測定動作を実行するために通信デバイス300に結合されたセンサと対話すること、情報をあるフォーマットから別のフォーマットに(たとえば、.wmvから.aviになど、異なるプロトコル間で)変換することなどを含む。情報を処理するように構成された論理310に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せに対応することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。情報を処理するように構成された論理310はまた、実行されると、情報を処理するように構成された論理310の関連ハードウェアがその処理機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、情報を処理するように構成された論理310は、ソフトウェアだけに対応するのではなく、情報を処理するように構成された論理310は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図3を参照すると、通信デバイス300は、情報を記憶するように構成された論理315をさらに含む。一例では、情報を記憶するように構成された論理315は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含むことができる。たとえば、情報を記憶するように構成された論理315に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に対応することができる。情報を記憶するように構成された論理315はまた、実行されると、情報を記憶するように構成された論理315の関連ハードウェアがその記憶機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、情報を記憶するように構成された論理315は、ソフトウェアだけに対応するのではなく、情報を記憶するように構成された論理315は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
一実施形態では、情報を処理するように構成された論理310は、図2のモデル生成器モジュール216などのハードウェアまたはファームウェアモデル生成器モジュールと、図2のモデル共有モジュール218などのハードウェアまたはファームウェアモデル共有モジュールとに結合され得る。代替的に、情報を記憶するように構成された論理315は、情報を処理するように構成された論理310によって実行可能な、図2のモデル生成器モジュール216などのモデル生成器モジュールと、図2のモデル共有モジュール218などのモデル共有モジュールとを記憶し得る。通信デバイス300が、第1のデバイスの複数のデータソースによって複数の周波数において生成されたデータ入力を同期させるように構成される場合、モデル生成器モジュールは、本明細書で説明するように、情報を受信および/または送信するように構成された論理305ならびに/あるいは情報を処理するように構成された論理310に、複数のデータソースのうちの第1のデータソースから第1のセットのデータポイントを受信することであって、第1のセットのデータポイントが、複数の周波数のうちの第1の周波数において生成されたデータポイントを含む、受信することと、複数のデータソースのうちの第2のデータソースから第2のセットのデータポイントを受信することであって、第2のセットのデータポイントが、複数の周波数のうちの第2の周波数において生成されたデータポイントを含む、受信することと、第1のセットのデータポイントの少なくともサブセットおよび第2のセットのデータポイントの少なくともサブセットが生成された時間期間に対応する時間ウィンドウを選択することと、時間ウィンドウの間に受信された第1のセットのデータポイントのサブセットの第1の縮約形および第2のセットのデータポイントのサブセットの第2の縮約形を表すベクトルを生成することとを行わせ得る。
モデル共有モジュールは、本明細書で説明するように、情報を受信および/または送信するように構成された論理305ならびに/あるいは情報を処理するように構成された論理310に、第1のデバイスから第2のデバイスに第1のユーザモデルを送信することであって、第1のユーザモデルが、少なくともベクトルを含む、送信することと、第2のデバイスから第2のユーザモデルを受信することであって、第2のユーザモデルが、少なくとも第2のベクトルを含み、第2のベクトルが、第2の時間ウィンドウの間に受信された第3のセットのデータポイントのサブセットの第3の縮約形および第4のセットのデータポイントのサブセットの第4の縮約形を表す、受信することと、少なくともベクトルを少なくとも第2のベクトルと比較することと、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であるかどうかを判断することと、第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であるかどうかを判断することと、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であることならびに第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であることに基づいて、第1のデバイスと第2のデバイスとの間に相関関係があると判断することとを行わせ得る。
図3を参照すると、通信デバイス300は、情報を提示するように構成された論理320をさらにオプションで含む。一例では、情報を提示するように構成された論理320は、少なくとも出力デバイスおよび関連ハードウェアを含むことができる。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI(登録商標)などのビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカ、マイクロフォンジャック、USB、HDMI(登録商標)などのオーディオ情報を搬送することができるポートなど)、振動デバイス、および/または、情報がそれによって出力のためにフォーマットされ得る、または通信デバイス300のユーザもしくは操作者によって実際に出力され得る任意の他のデバイスを含むことができる。たとえば、通信デバイス300が図2に示すようなUE200AまたはUE200Bに対応する場合、情報を提示するように構成された論理320は、UE200Aのディスプレイ210AまたはUE200Bのタッチスクリーンディスプレイ205Bを含むことができる。さらなる一例では、情報を提示するように構成された論理320は、ローカルユーザを有しないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、サーバ170などのリモートサーバなど)などのいくつかの通信デバイスでは省くことができる。情報を提示するように構成された論理320はまた、実行されると、情報を提示するように構成された論理320の関連ハードウェアがその提示機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、情報を提示するように構成された論理320は、ソフトウェアだけに対応するのではなく、情報を提示するように構成された論理320は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図3を参照すると、通信デバイス300は、ローカルユーザ入力を受信するように構成された論理325をさらにオプションで含む。一例では、ローカルユーザ入力を受信するように構成された論理325は、少なくともユーザ入力デバイスおよび関連ハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン、またはマイクロフォンジャックなどのオーディオ情報を搬送することができるポートなど)、および/または情報がそれによって通信デバイス300のユーザもしくは操作者から受信され得る任意の他のデバイスを含むことができる。たとえば、通信デバイス300が図2に示すようなUE200AまたはUE200Bに対応する場合、ローカルユーザ入力を受信するように構成された論理325は、キーパッド220A、ボタン215Aまたは210B〜225Bのうちのいずれか、タッチスクリーンディスプレイ205Bなどを含むことができる。さらなる一例では、ローカルユーザ入力を受信するように構成された論理325は、ローカルユーザを有しないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、サーバ170などのリモートサーバなど)などのいくつかの通信デバイスでは省くことができる。ローカルユーザ入力を受信するように構成された論理325はまた、実行されると、ローカルユーザ入力を受信するように構成された論理325の関連ハードウェアがその入力受信機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、ローカルユーザ入力を受信するように構成された論理325は、ソフトウェアだけに対応するのではなく、ローカルユーザ入力を受信するように構成された論理325は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図3を参照すると、305〜325の構成された論理は、図3では別個のまたは相異なるブロックとして示されているが、それぞれの構成された論理がその機能を実行するためのハードウェアおよび/またはソフトウェアは、部分的に重複できることが諒解されよう。たとえば、305〜325の構成された論理の機能を容易にするために使用される任意のソフトウェアを、情報を記憶するように構成された論理315に関連付けられた非一時的メモリに記憶することができ、それにより、305〜325の構成された論理は各々、その機能(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理315によって記憶されたソフトウェアの動作に部分的に基づいて実行する。同様に、構成された論理のうちの1つに直接関連付けられたハードウェアは、時々、他の構成された論理によって借用または使用され得る。たとえば、情報を処理するように構成された論理310のプロセッサは、データを、情報を受信および/または送信するように構成された論理305によって送信される前に、適切な形式にフォーマットすることができ、それにより、情報を受信および/または送信するように構成された論理305は、その機能(すなわち、この場合、データの送信)を、情報を処理するように構成された論理310に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実行する。
概して、別段に明示的に記載されていない限り、本開示全体にわたって使用される「ように構成された論理」という句は、ハードウェアによって少なくとも部分的に実装される実施形態を引き合いに出すものとし、ハードウェアから独立したソフトウェアだけの実装形態に位置づけるものではない。また、様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書で説明する機能を(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実行するための能力を指すことが諒解されよう。したがって、様々なブロックに示す構成された論理または「ように構成された論理」は、「論理」という語を共有しているにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されない。様々なブロックにおける論理間の他の対話または協働が、以下でより詳細に説明する実施形態の検討から、当業者には明らかになるであろう。
様々な実施形態は、図4に示すサーバ400などの、様々な市販のサーバデバイスのいずれかにおいて実装され得る。一例では、サーバ400は、上記で説明したサーバ170の1つの例示的な構成に対応し得る。図4では、サーバ400は、揮発性メモリ402と、ディスクドライブ403などの大容量の不揮発性メモリとに結合されたプロセッサ401を含む。サーバ400はまた、プロセッサ401に結合された、フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ406を含み得る。サーバ400はまた、他のブロードキャストシステムコンピュータおよびサーバに、またはインターネットに結合されたローカルエリアネットワークなどの、ネットワーク407とのデータ接続を確立するためにプロセッサ401に結合されたネットワークアクセスポート404を含み得る。図3の文脈において、図4のサーバ400は、通信デバイス300の1つの例示的な実装形態を示すが、情報を送信および/または受信するように構成された論理305は、ネットワーク407と通信するためにサーバ400によって使用されるネットワークアクセスポート404に対応し、情報を処理するように構成された論理310は、プロセッサ401に対応し、情報を記憶するように構成された論理315は、揮発性メモリ402、ディスク(disk)ドライブ403および/またはディスク(disc)ドライブ406の任意の組合せに対応することが諒解されよう。情報を提示するように構成されたオプションの論理320およびローカルユーザ入力を受信するように構成されたオプションの論理325は、図4には明示的に示されず、その中に含まれる場合もあれば、含まれない場合もある。したがって、図4は、通信デバイス300が、図2の場合のような205Aまたは205BのようなUEの実装形態に加えて、サーバとして実装され得ることを説明するのを助ける。
図4に示されていないが、サーバ400はまた、図2のモデル生成器モジュール216と同様のモデル生成器モジュールを含み得る。サーバ400が、UE200A/200Bなどの1つまたは複数のデバイスの複数のデータソースによって複数の周波数において生成されたデータ入力を同期させるように構成される場合、(モデル生成器モジュールが実行可能モジュールである場合は、プロセッサ401と連携する)そのようなモデル生成器モジュールは、複数のデータソースのうちの第1のデータソースから、複数の周波数のうちの第1の周波数において生成された第1のセットのデータポイントを受信し、複数のデータソースのうちの第2のデータソースから、複数の周波数のうちの第2の周波数において生成された第2のセットのデータポイントを受信し、第1のセットのデータポイントの少なくともサブセットおよび第2のセットのデータポイントの少なくともサブセットが生成された時間期間に対応する時間ウィンドウを選択し、時間ウィンドウの間に受信された第1のセットのデータポイントのサブセットの第1の縮約形および第2のセットのデータポイントのサブセットの第2の縮約形を表すベクトルを生成するように構成され得る。複数のデータソースは、たとえば、UE200Aおよび/または200Bなどの1つまたは複数のユーザデバイス上に存在するセンサであり得、第1のセットのデータポイントおよび第2のセットのデータポイントは、ネットワークアクセスポート404を介して1つまたは複数のユーザデバイスから受信され、メモリ403に記憶され得る。したがって、(プロセッサ401と連携する)モデル生成器モジュールは、メモリ403からまたは直接ネットワークアクセスポート404から第1のセットのデータポイントおよび第2のセットのデータポイントを受信し得る。
図4に示されていないが、サーバ400はまた、図2のモデル共有モジュール218などのモデル共有モジュールを含み得る。(モデル共有モジュールが実行可能モジュールである場合は、プロセッサ401と連携する)そのようなモデル共有モジュールは、第1のユーザデバイスから第1のユーザモデルを受信することであって、第1のユーザモデルが、(サーバ400または第1のユーザデバイスの)モデル生成器モジュールによって生成された少なくともベクトルを含む、受信することと、第2のユーザデバイスから第2のユーザモデルを受信することであって、第2のユーザモデルが、少なくとも第2のベクトルを含み、第2のベクトルが、第2の時間ウィンドウの間に受信された第3のセットのデータポイントのサブセットの第3の縮約形および第4のセットのデータポイントのサブセットの第4の縮約形を表す、受信することとを行うように構成され得る。(モデル共有モジュールが実行可能モジュールである場合は、プロセッサ401と連携する)モデル共有モジュールは、少なくともベクトルを少なくとも第2のベクトルと比較し、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であるかどうかを判断し、第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であるかどうかを判断し、時間ウィンドウが第2の時間ウィンドウのしきい値時間期間内であることならびに第1のセットのデータポイントのサブセットの第1の縮約形および/または第2のセットのデータポイントのサブセットの第2の縮約形が第3のセットのデータポイントのサブセットの第3の縮約形および/または第4のセットのデータポイントのサブセットの第4の縮約形のしきい値内であることに基づいて、第1のデバイスと第2のデバイスとの間に相関関係があると判断するようにさらに構成され得る。
一般に、電話、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータ、特定の車両などのユーザ機器(UE)は、ローカルで(たとえば、Bluetooth(登録商標)、ローカルWi-Fiなど)またはリモートで(たとえば、セルラーネットワークを介して、インターネットを通じてなど)のいずれかで互いに接続するように構成され得る。さらに、いくつかのUEはまた、互いに直接通信するためにデバイスが1対1の接続を行うかまたはいくつかのデバイスを含むグループに同時に接続するのを可能にする特定のワイヤレスネットワーキング技術(たとえば、Wi-Fi、Bluetooth(登録商標)、Wi-Fi Directなど)を使用する近接ベースのピアツーピア(P2P)通信をサポートし得る。その目的で、図5は、発見可能なP2Pサービスをサポートし得る例示的なワイヤレス通信ネットワークまたはWAN500を示す。たとえば、一実施形態では、ワイヤレス通信ネットワーク500は、様々な基地局510と他のネットワークエンティティとを含むLTEネットワークまたは別の適切なWANを備え得る。簡単にするために、図5には、3つの基地局510a、510bおよび510c、1つのネットワークコントローラ530、ならびに1つの動的ホスト構成プロトコル(DHCP)サーバ540のみが示されている。基地局510は、デバイス520と通信するエンティティであり得、ノードB、発展型ノードB(eNB)、アクセスポイントなどと呼ばれることもある。各基地局510は、通信カバレージを特定の地理的エリアに提供し得、カバレージエリア内に位置するデバイス520のための通信をサポートし得る。ネットワーク容量を向上させるために、基地局510の全体的なカバレージエリアが複数の(たとえば、3つの)より小さいエリアに区分されてもよく、より小さい各エリアがそれぞれの基地局510によってサービスされてもよい。3GPPでは、「セル」という用語は、この用語が使用される文脈に応じて、このカバレージエリアにサービスする基地局510および/または基地局サブシステム510のカバレージエリアを指すことができる。3GPP2では、「セクタ」または「セルセクタ」という用語は、このカバレージエリアにサービスする基地局510および/または基地局サブシステム510のカバレージエリアを指すことができる。明確にするために、本明細書の説明では3GPPの「セル」の概念が使用されることがある。
基地局510は、マクロセル、ピコセル、フェムトセル、および/または他のセルタイプの通信カバレージを提供し得る。マクロセルは、比較的大きい地理的エリア(たとえば、半径数キロメートル)をカバーすることができ、サービスに加入しているデバイス520による無制限アクセスを可能にし得る。ピコセルは、比較的小さい地理的エリアをカバーすることができ、サービスに加入しているデバイス520による無制限アクセスを可能にし得る。フェムトセルは、比較的小さい地理的エリア(たとえば、自宅)をカバーすることができ、フェムトセルとの関連付けを有するデバイス520(たとえば、限定加入者グループ(CSG)中のデバイス520)による限定アクセスを可能にし得る。図5に示す例では、ワイヤレスネットワーク500は、マクロセルのためのマクロ基地局510a、510bおよび510cを含む。ワイヤレスネットワーク500は、ピコセルのためのピコ基地局510および/またはフェムトセルのためのホーム基地局510(図5には示されていない)も含み得る。
ネットワークコントローラ530は、基地局510のセットに結合することができ、これらの基地局510の調整および制御を行うことができる。ネットワークコントローラ530は、バックホールを介して基地局と通信することができる単一のネットワークエンティティまたはネットワークエンティティの集合であってもよい。基地局はまた、たとえば、直接またはワイヤレスバックホールもしくは有線バックホールを介して間接的に、互いに通信し得る。DHCPサーバ540は、以下で説明するように、P2P通信をサポートし得る。DHCPサーバ540は、ワイヤレスネットワーク500の一部であってもよく、ワイヤレスネットワーク500の外部にあってもよく、インターネット接続共有(ICS)を介して実行されてもよく、またはそれらの任意の適切な組合せであってもよい。DHCPサーバ540は、(図5に示すように)別個のエンティティであってもよく、または、基地局510、ネットワークコントローラ530、もしくは他の何らかのエンティティの一部であってもよい。いずれの場合も、DHCPサーバ540は、ピアツーピア通信することを望むデバイス520によって到達可能であり得る。
デバイス520はワイヤレスネットワーク500全体にわたって分散され得、各デバイス520は固定またはモバイルであり得る。デバイス520は、ノード、ユーザ機器(UE)、局、移動局、端末、アクセス端末、加入者ユニットなどと呼ばれることもある。デバイス520は、セルラー電話、携帯情報端末(PDA)、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ(WLL)局、スマートフォン、ネットブック、スマートブック、タブレットなどであり得る。デバイス520は、ワイヤレスネットワーク500内の基地局510と通信してもよく、さらに他のデバイス520とピアツーピア通信してもよい。たとえば、図5に示すように、デバイス520aおよび520bがピアツーピア通信してもよく、デバイス520cおよび520dがピアツーピア通信してもよく、デバイス520eおよび520fがピアツーピア通信してもよく、デバイス520g、520h、および520iがピアツーピア通信してもよく、一方、残りのデバイス520が基地局510と通信してもよい。図5にさらに示すように、デバイス520a、520d、520f、および520hはまた、たとえば、P2P通信を行っていないときに、または場合によってはP2P通信と同時に、基地局510と通信してもよい。
本明細書の説明では、WAN通信は、たとえば別のデバイス520などのリモートエンティティとの呼のための、ワイヤレスネットワーク500におけるデバイス520と基地局510との間の通信を指し得る。WANデバイスは、WAN通信に関心を持っているか、またはWAN通信に関与しているデバイス520である。P2P通信は、いかなる基地局510も介さない、2つ以上のデバイス520間の直接通信を指す。P2Pデバイスは、P2P通信に関心を持っているか、またはP2P通信に関与しているデバイス520、たとえば、P2Pデバイスの近傍内の別のデバイス520に関するトラフィックデータを有するデバイス520である。2つのデバイスは、たとえば、各デバイス520が他方のデバイス520を検出することができる場合、互いの近傍内にあると見なされ得る。一般に、デバイス520は、P2P通信の場合は直接、またはWAN通信の場合は少なくとも1つの基地局510を介してのいずれかで、別のデバイス520と通信し得る。
一実施形態では、P2Pデバイス520間の直接通信はP2Pグループに編成されてもよい。より詳細には、P2Pグループは、概して、P2P通信に関心を持っているか、またはP2P通信に関与している2つ以上のデバイス520のグループを指し、P2Pリンクは、P2Pグループ用の通信リンクを指す。さらに、一実施形態では、P2Pグループは、P2Pグループオーナー(またはP2Pサーバ)と指定される1つのデバイス520と、P2PグループオーナーによってサービスされるP2Pクライアントと指定される1つまたは複数のデバイス520とを含んでもよい。P2Pグループオーナーは、WANとのシグナリングの交換、P2PグループオーナーとP2Pクライアントとの間のデータ送信の調整などの、いくつかの管理機能を実行することができる。たとえば、図5に示すように、第1のP2Pグループは、基地局510aのカバレージ下のデバイス520aおよび520bを含み、第2のP2Pグループは、基地局510bのカバレージ下のデバイス520cおよび520dを含み、第3のP2Pグループは、異なる基地局510bおよび510cのカバレージ下のデバイス520eおよび520fを含み、第4のP2Pグループは、基地局510cのカバレージ下のデバイス520g、520h、および520iを含む。デバイス520a、520d、520f、および520hは、そのそれぞれのP2PグループのP2Pグループオーナーであってもよく、デバイス520b、520c、520e、520g、および520iは、そのそれぞれのP2PグループにおけるP2Pクライアントであってもよい。図5の他のデバイス520は、WAN通信に関与していてもよい。
一実施形態では、P2P通信は、P2Pグループ内でのみ行われ得、さらにP2Pグループオーナーとそれに関連付けられたP2Pクライアントとの間でのみ行われ得る。たとえば、同じP2Pグループ内の2つのP2Pクライアント(たとえば、デバイス520gおよび520i)が情報を交換することを望む場合、P2Pクライアントの一方が情報をP2Pグループオーナー(たとえば、デバイス520h)に送ってもよく、次いでP2Pグループオーナーが送信を他方のP2Pクライアントに中継してもよい。一実施形態では、特定のデバイス520は、複数のP2Pグループに属してもよく、各P2Pグループ内でP2PグループオーナーまたはP2Pクライアントのいずれかとして振る舞ってもよい。さらに、一実施形態では、特定のP2Pクライアントは、1つのP2Pグループのみに属するかまたは複数のP2Pグループに属し、任意の特定の瞬間に複数のP2PグループのいずれかにおけるP2Pデバイス520と通信してもよい。一般に、通信は、ダウンリンクおよびアップリンク上での送信を介して容易にされ得る。WAN通信の場合、ダウンリンク(または順方向リンク)は基地局510からデバイス520への通信リンクを指し、アップリンク(または逆方向リンク)はデバイス520から基地局510への通信リンクを指す。P2P通信の場合、P2PダウンリンクはP2PグループオーナーからP2Pクライアントへの通信リンクを指し、P2PアップリンクはP2PクライアントからP2Pグループオーナーへの通信リンクを指す。いくつかの実施形態では、2つ以上のデバイスは、WAN技術を使用してP2P通信するのではなく、Wi-Fi、Bluetooth(登録商標)、またはWi-Fi Directなどの技術を使用してより小さいP2Pグループを形成してワイヤレスローカルエリアネットワーク(WLAN)上でP2P通信してもよい。たとえば、Wi-Fi、Bluetooth(登録商標)、Wi-Fi Direct、または他のWLAN技術を使用するP2P通信は、2つ以上のモバイルフォン、ゲームコンソール、ラップトップコンピュータ、または他の適切な通信エンティティ間のP2P通信を可能にすることができる。
本開示の一態様によれば、図6は、発見可能なP2Pサービスが近接ベースの分散バスを確立するために使用され得、その近接ベースの分散バスを介して様々なデバイス610、630、640が通信し得る、例示的な環境600を示す。たとえば、一実施形態では、ネットワーク化コンピューティング環境におけるアプリケーション間通信を可能にするために使用されるソフトウェアバスを備え得る、分散バス625を介したプロセス間通信プロトコル(IPC)フレームワークを使用して、単一のプラットフォーム上でのアプリケーション同士などの間の通信を容易にすることができ、この場合、アプリケーションが分散バス625に登録して他のアプリケーションにサービスを提供し、他のアプリケーションが登録されているアプリケーションに関する情報について分散バス625にクエリする。そのようなプロトコルは、信号メッセージ(たとえば、通知)がポイントツーポイントまたはブロードキャストであり得、メソッド呼出しメッセージ(たとえば、RPC)が同期または非同期であり得、分散バス625(たとえば、「デーモン」プロセス)が様々なデバイス610、630、640間のメッセージルーティングを扱い得る、非同期通知およびリモートプロシージャ呼出し(RPC)を提供し得る。
一実施形態では、分散バス625は、様々なトランスポートプロトコル(たとえば、Bluetooth(登録商標)、TCP/IP、Wi-Fi、CDMA、GPRS、UMTSなど)によってサポートされてもよい。たとえば、一態様によれば、第1のデバイス610は、分散バスノード612と1つまたは複数のローカルエンドポイント614とを含んでもよく、分散バスノード612は、第1のデバイス610に関連付けられたローカルエンドポイント614と第2のデバイス630および第3のデバイス640に関連付けられたローカルエンドポイント634および644との間の、分散バス625を通じた(たとえば、第2のデバイス630および第3のデバイス640上の分散バスノード632および642を介した)通信を容易にすることができる。図6を参照しながら以下でさらに詳細に説明するように、分散バス625は、対称的なマルチデバイスネットワークトポロジをサポートしてもよく、デバイスドロップアウトの存在下でロバストな動作を可能にしてもよい。したがって、概して任意の下位トランスポートプロトコル(たとえば、Bluetooth(登録商標)、TCP/IP、Wi-Fiなど)とは無関係であってもよい仮想分散バス625は、非セキュア(たとえば、オープン)からセキュア(たとえば、認証または暗号化)まで様々なセキュリティオプションを可能にすることができ、セキュリティオプションは、第1のデバイス610、第2のデバイス630、および第3のデバイス640間の自発的な接続を容易にしつつ、様々なデバイス610、630、640が互いの範囲に入るかまたは互いに近接したときに介入せずに使用され得る。
本開示の一態様によれば、図7は、発見可能なP2Pサービスが近接ベースの分散バスを確立するために使用され得、その近接ベースの分散バスを介して第1のデバイス(「デバイスA」)710および第2のデバイス(「デバイスB」)730が通信し得る、例示的なメッセージシーケンス700を示す。概して、デバイスA 710は、デバイスB 730との通信を要求してもよく、デバイスA 710は、そのような通信を容易にするのを助けることができるバスノード712に加えて、通信の要求を出し得るローカルエンドポイント714(たとえば、ローカルアプリケーション、サービスなど)を含み得る。さらに、デバイスB 730は、デバイスA 710上のローカルエンドポイント714とデバイスB 730上のローカルエンドポイント734との間の通信を容易にするのを助けることができるバスノード732に加えて、ローカルエンドポイント714が通信を試み得るローカルエンドポイント734を含み得る。
一実施形態では、メッセージシーケンスステップ754において、バスノード712および732は適切な発見機構を実行し得る。たとえば、Bluetooth(登録商標)、TCP/IP、UNIX(登録商標)などによってサポートされる接続を発見するための機構が使用され得る。メッセージシーケンスステップ756において、デバイスA 710上のローカルエンドポイント714は、バスノード712を通じて利用可能なエンティティ、サービス、エンドポイントなどに接続することを要求し得る。一実施形態では、この要求は、ローカルエンドポイント714とバスノード712との間の要求応答プロセスを含み得る。メッセージシーケンスステップ758において、分散メッセージバスは、バスノード712をバスノード732に接続し、それによってデバイスA 710とデバイスB 730との間のP2P接続を確立するように形成され得る。一実施形態では、バスノード712とバスノード732との間の分散バスを形成するための通信は、適切な近接ベースのP2Pプロトコル(たとえば、接続された製品間の相互運用性を可能にするように設計されたAllJoyn(商標)ソフトウェアフレームワークおよび近位ネットワークを動的に作成し近位P2P通信を容易にするための様々な製造業者によるソフトウェアアプリケーション)を使用して容易にされ得る。代替的に、一実施形態では、サーバ(図示せず)はバスノード712とバスノード732との間の接続を容易にし得る。さらに、一実施形態では、バスノード712とバスノード732との間の接続を形成する前に適切な認証機構が使用され得る(たとえば、クライアントが認証コマンドを送って認証会話を開始することができるSASL認証)。さらに、メッセージシーケンスステップ758の間に、バスノード712および732は、他の利用可能なエンドポイント(たとえば、図6のデバイスC 640上のローカルエンドポイント644)に関する情報を交換し得る。そのような実施形態では、バスノードが維持する各ローカルエンドポイントは他のバスノードに通知されてもよく、この通知は、一意のエンドポイント名、トランスポートタイプ、接続パラメータ、または他の適切な情報を含み得る。
一実施形態では、メッセージシーケンスステップ760において、バスノード712およびバスノード732は、様々なバスノードを通じて利用可能な得られた実エンドポイントを表し得る仮想エンドポイントを作成するために、それぞれローカルエンドポイント734および714に関連付けられた得られた情報を使用し得る。一実施形態では、バスノード712上のメッセージルーティングは、実エンドポイントおよび仮想エンドポイントを使用してメッセージを配信し得る。さらに、リモートデバイス(たとえば、デバイスA 710)上に存在するあらゆるエンドポイントに1つのローカル仮想エンドポイントがあってもよい。さらに、そのような仮想エンドポイントは、分散バス(たとえば、バスノード712とバスノード732との間の接続)を介して送られたメッセージを多重化および/または多重化解除してもよい。一態様では、仮想エンドポイントは、実エンドポイントと同様にローカルバスノード712または732からメッセージを受信してもよく、分散バスを介してメッセージを転送してもよい。したがって、仮想エンドポイントは、エンドポイント多重化分散バス接続からローカルバスノード712および732にメッセージを転送してもよい。さらに、一実施形態では、リモートデバイス上の仮想エンドポイントに対応する仮想エンドポイントは、特定のトランスポートタイプの所望のトポロジに対処するように任意の時点で再接続されてもよい。そのような態様では、UNIX(登録商標)ベースの仮想エンドポイントはローカルと見なされることがあり、したがって、再接続の候補とは見なされないことがある。さらに、TCPベースの仮想エンドポイントは、1つのホップルーティングに関して最適化されてもよい(たとえば、各バスノード712および732は互いに直接接続されてもよい)。さらに、Bluetooth(登録商標)ベースの仮想エンドポイントは、Bluetooth(登録商標)ベースのマスタがローカルマスタノードと同じバスノードであってもよい単一ピコネット(たとえば、1つのマスタおよびn個のスレーブ)に関して最適化されてもよい。
メッセージシーケンスステップ762において、バスノード712およびバスノード732は、バスインスタンス同士をマージし、分散バスを介した通信を可能にするために、バス状態情報を交換し得る。たとえば、一実施形態では、バス状態情報は、周知のエンドポイント名と一意のエンドポイント名との間のマッピング、整合規則、ルーティンググループ、または他の適切な情報を含み得る。一実施形態では、状態情報は、分散バスベースのローカル名を使用して通信するローカルエンドポイント714および734とのインターフェースを使用して、バスノード712とバスノード732のインスタンス間で通信され得る。別の態様では、バスノード712およびバスノード732は各々、フィードバックを分散バスに提供することを担うローカルバスコントローラを維持することができ、バスコントローラは、グローバルメソッド、引数、信号、および他の情報を分散バスに関連付けられた規格に変換することができる。メッセージシーケンスステップ764において、バスノード712およびバスノード732は、上記で説明したようなバスノード接続の間に導入された任意の変更についてそれぞれのローカルエンドポイント714および734に通知するために、信号を通信(たとえば、ブロードキャスト)することができる。一実施形態では、新しいおよび/または削除されたグローバル名および/または変換後の名前が名前オーナー変更後信号によって示されてもよい。さらに、(たとえば、名前衝突に起因して)ローカルに失われることがあるグローバル名が名前喪失信号によって示されてもよい。さらに、名前衝突に起因して転送されるグローバル名が名前オーナー変更後信号によって示されてもよく、バスノード712およびバスノード732が切断された場合および/または切断されたときに消える一意の名前が名前オーナー変更後信号によって示されてもよい。
上記で使用したように、周知の名前を使用してローカルエンドポイント714および734を一意に記述してもよい。一実施形態では、デバイスA 710とデバイスB 730との間で通信が行われるとき、異なる周知の名前タイプが使用されてもよい。たとえば、デバイスローカル名は、バスノード712が直接アタッチするデバイスA 710に関連付けられたバスノード712上にのみ存在してもよい。別の例では、グローバル名はすべての既知のバスノード712および732上に存在してもよく、すべてのバスセグメント上に存在してもよい名前のオーナーは1人だけである。言い換えれば、バスノード712とバスノード732が連結され、何らかの衝突が起こると、オーナーのうちの1人がグローバル名を失うことがある。さらに別の例では、クライアントが仮想バスに関連付けられた他のバスノードに接続されるときに、変換後の名前が使用されてもよい。そのような態様では、変換後の名前はアペンデッドエンド(appended end)を含んでもよい(たとえば、グローバル一意識別子「1234」を有する分散バスに接続された周知の名前「org.foo」を有するローカルエンドポイント714は「G1234.org.foo」と見なされてもよい)。
メッセージシーケンスステップ766において、バスノード712およびバスノード732は、他のバスノードにエンドポイントバストポロジの変更を通知するための信号を通信(たとえば、ブロードキャスト)し得る。その後、ローカルエンドポイント714からのトラフィックは、仮想エンドポイントを通過してデバイスB 730上の意図されたローカルエンドポイント734に達してもよい。さらに、動作中に、ローカルエンドポイント714とローカルエンドポイント734との間の通信はルーティンググループを使用してもよい。一態様では、ルーティンググループは、エンドポイントが信号、メソッド呼出し、またはエンドポイントのサブセットからの他の適切な情報を受信するのを可能にしてもよい。したがって、ルーティング名は、バスノード712または732に接続されたアプリケーションによって決定されてもよい。たとえば、P2Pアプリケーションは、アプリケーションに組み込まれた一意で周知のルーティンググループ名を使用してもよい。さらに、バスノード712および732は、ローカルエンドポイント714および734のルーティンググループへの登録および/または登録解除をサポートしてもよい。一実施形態では、ルーティンググループは、現在のバスインスタンスよりも後のインスタンスまで持続しなくてもよい。別の態様では、アプリケーションは、分散バスに接続するたびにアプリケーションの好ましいルーティンググループの登録をしてもよい。さらに、グループはオープン(たとえば、任意のエンドポイントが参加できる)であってもまたはクローズド(たとえば、グループの作成者のみがグループを修正できる)であってもよい。さらに、バスノード712または732は、他のリモートバスノードにルーティンググループエンドポイントの追加、削除、または他の変更を通知するための信号を送ってもよい。そのような実施形態では、バスノード712または732は、メンバーがグループに追加されるおよび/またはメンバーがグループから削除されるときはいつでも、ルーティンググループ変更信号を他のグループメンバーに送ってもよい。さらに、バスノード712または732は、最初にルーティンググループから削除されることなく分散バスから切断するエンドポイントにルーティンググループ変更信号を送ってもよい。
複数のソース、たとえば、所与のデバイスの異なるセンサからのデータ入力を処理するとき、複数の入力としてではなく、単一のユニットとしてデータを処理できることが有益である。しかしながら、これは、データ入力が作成された時間に基づいてデータ入力が処理され、異なるデータソースが異なるレートでデータを生成しているとき、課題を提示する。たとえば、データソースA、B、およびCならびに時間1、2、および3の場合、データソースAは、生成されたデータを時間1、2、および3においてログし得、データソースBは、生成されたデータを時間2においてログし得、データソースCは、生成されたデータを時間1および3においてログし得る。
したがって、本開示は、(モデル生成器モジュール216などのモデル生成器モジュールにおいて具現化される)機構を提案し、それによって、様々なデータソースからのデータは、すべてのデータソースをカプセル化するモデルを生成するために一緒にフォールドされる(folded)。これを達成するために、機構は最初に、時間ウィンドウを選択する。時間ウィンドウは、時刻などの環境条件に基づいて、または第1のデータタイプの最小カウントもしくは第2のデータタイプの最大カウントなどのデータ量に基づいて可変であってもよい。
次に、提案される機構は、データを事前解析する。これは、データの次元数を減らすために大量のデータをクラスタ化することによって達成され得る。たとえば、所与のデータタイプが選択された時間ウィンドウにおいて100個の入力を有する場合、機構は、次元数を減らすために所与のデータタイプの生成されたデータをクラスタ化することができる。データのカウントがより重要であるデータソースの場合、機構はカウントを使用することができる。
次に、提案される機構は、時間ウィンドウのすべてのデータを平均化することができる。最後に、機構は、定義された時間バケットの特徴ベクトルを出力することができる。
本開示のこれらおよび他の態様について、以下の図を参照しながら、さらに詳細に説明する。
図8Aは、ある時間期間にわたって様々なデータソースによって生成されたまたは様々なデータソースから受信されたサンプルデータの例示的な表800Aである。詳細には、10個の時間単位の時間期間にわたって通知データ、ロケーションデータ、および近接シグネチャデータが生成/受信される。時間単位は、たとえば、ミリ秒、秒、分などであり得、データが生成/受信された時間の長さまたはデータが生成/受信された瞬間(たとえば、タイムスタンプ)を示し得る。図8Aの例では、時間ウィンドウは、10個の時間単位の時間期間である。図8Aに示すように、通知は時間1および10において生成/受信され、ロケーションデータは時間1、3、4、9、および10において生成/受信され、近接シグネチャは時間1〜3および5〜9において生成/受信される。
図8Bは、本開示の一態様による、事前処理または事前解析された図8Aの表800Aにおけるサンプルデータの例示的な表800Bである。表800Bは、10個の時間単位の時間ウィンドウの間にそれぞれのデータソースによって生成されたまたはそれぞれのデータソースから受信されたデータを記述するベクトルを示す。図8Bに示すように、ベクトルは、通知のカウント(すなわち、2)と、ロケーションデータの平均(すなわち、36、-115.128)と、その周囲で近接シグネチャがクラスタ化された重心(すなわち、0.4733、0.51、および0.545)とを含む。
図8Cは、本開示の一態様による、事前処理または事前解析されたサンプルデータの例示的な表800Cである。表800Cの各行は、10個の時間単位ごとの3つの連続した時間ウィンドウにわたって通知、ロケーショントラッキング、および近接シグネチャを提供するデータソースによって生成されたまたはデータソースから受信されたデータに対応するベクトルを示す。表800Cに示すように、第1の行は、図8Bの表800Bに示すベクトルに対応する。第2の行および第3の行は、後続の時間ウィンドウについての同じデータタイプを記述するベクトルに対応する。詳細には、時間11〜20から、第2のベクトルは、通知のカウント(すなわち、4)と、ロケーションデータの平均(すなわち、36、-115.32)と、その周囲で近接シグネチャがクラスタ化された重心(すなわち、0.48、0.52、および0.56)とを含む。時間21〜30から、第3のベクトルはまた、通知のカウント(すなわち、3)と、ロケーションデータの平均(すなわち、36、-115.14)と、その周囲で近接シグネチャがクラスタ化された重心(すなわち、0.47、0.515、および0.545)とを含む。
図8A〜図8Cは、3つのデータソースとすべての3つのデータソースから受信されたデータを記述する単一のベクトルとを示しているが、任意の数のデータソースがあり得ることと、単一のベクトルが、これらのデータソースのうちのすべてまたはすべてよりも少ないデータソースによって生成されたまたはそれらのデータソースから受信されたデータを記述し得ることとが諒解されよう。同様に、図8A〜図8Cは、10個の時間単位の時間ウィンドウを示しているが、時間ウィンドウは、単一の時間単位を含む任意の数の時間単位であり得ることが諒解されよう。
図9Aおよび図9Bは、デバイスにおいて複数のデータソースからのデータ入力を処理するための例示的なフローを示す。デバイスは、たとえば、図2のUE200Aもしくは200B、図3の通信デバイス300、図4のサーバ400、または図6のデバイスA 610、デバイスB 620、もしくはデバイスC 630など、本明細書で説明する特徴を実行することが可能な任意のデバイスであり得る。詳細には、本明細書で説明する機能を実行することが可能なデバイスは、それぞれ、図2のモデル生成器モジュール216およびモデル共有モジュール218などのモデル生成器モジュールおよびモデル共有モジュールを有するデバイスであり得る。
図9Aを参照すると、902において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル生成器モジュール216)は、第1のデータソースから第1のセットのデータポイントを受信する。データソースは、加速度計、温度センサ、光センサ、ローカルRF信号を監視するためのアンテナ、通知を生成するアプリケーション、GPS受信機など、デバイスの任意のセンサであり得る。データは、そのデバイス自体のセンサから来てもよく、または別のデバイスのセンサによって生成され、そのデバイスから受信されてもよい。第1のセットのデータポイントは、第1の周波数において生成されたデータポイントであり得る。たとえば、図8Aに示すように、通知は時間1および10において生成され、ロケーションデータは時間1、3、4、9、および10において生成され、近接シグネチャは時間1〜3および5〜9において生成される。
904において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル生成器モジュール216)は、第2のデータソースから第2のセットのデータポイントを受信する。第1のデータソースと同様に、第2のデータソースは、デバイスの任意のセンサであり得、データポイントは、そのデバイス自体のセンサまたは別のデバイスのセンサによって生成され得る。第2のセットのデータポイントは、第1の周波数とは異なり得る第2の周波数において生成されたデータポイントであり得る。
906において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル生成器モジュール216)は、第1のセットのデータポイントの少なくともサブセットおよび第2のセットのデータポイントの少なくともサブセットが生成および/または受信された時間期間に対応する時間ウィンドウを選択する。デバイスは、第1のセットのデータポイントおよび/または第2のセットのデータポイントが生成された時刻など、第1のセットのデータポイントおよび/または第2のセットのデータポイントに関する1つまたは複数の環境要因に基づいて、時間ウィンドウを選択し得る。
代替または追加として、デバイスは、第1のセットのデータポイントおよび/または第2のセットのデータポイントの量に基づいて、時間ウィンドウを選択し得る。第1のセットのデータポイントおよび/または第2のセットのデータポイントの量は、第1のセットのデータポイントおよび/または第2のセットのデータポイントの最大カウントまたは最小カウントであり得る。たとえば、図8Bに示すように、時間ウィンドウは通知データソースからの少なくとも2つのデータポイント(最小しきい値)を含むので、10個の時間単位の時間ウィンドウが選ばれた可能性がある。
908において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル生成器モジュール216)は、時間ウィンドウの間に受信された第1のセットのデータポイントのサブセットの第1の縮約形および第2のセットのデータポイントのサブセットの第2の縮約形を表すベクトルを生成する。一態様では、生成することは、図8Bの表800Bの近接シグネチャ欄によって示されるように、第1のセットのデータポイントのサブセットおよび/または第2のセットのデータポイントのサブセットをクラスタ化することと、第1のセットのデータポイントのクラスタ化されたサブセットおよび/または第2のセットのデータポイントのクラスタ化されたサブセットの1つまたは複数のクラスタ重心を決定することと、ベクトルによって表される第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形として1つまたは複数のクラスタ重心を設定することとを含み得る。
別の態様では、生成することは、図8Bの表800Bの通知欄によって示されるように、第1のセットのデータポイントのサブセットおよび/または第2のセットのデータポイントのサブセットのカウントを決定することと、ベクトルによって表される第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形としてカウントを設定することとを含み得る。また別の態様では、生成することは、図8Bの表800Bのロケーション欄によって示されるように、第1のセットのデータポイントのサブセットおよび/または第2のセットのデータポイントのサブセットの平均値を決定することと、ベクトルによって表される第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形として平均値を設定することとを含み得る。
したがって、図8Bに示すように、通知データの縮約形は通知のカウント(すなわち、2)であり、ロケーションデータの縮約形はロケーションデータの平均(すなわち、36、-115.128)であり、近接シグネチャデータの縮約形はその周囲で近接シグネチャがクラスタ化された重心(すなわち、0.4733、0.51、および0.545)である。
図9Aに示されていないが、デバイスは、第1のセットのデータポイントの少なくとも第2のサブセットおよび第2のセットのデータポイントの少なくとも第2のサブセットが生成された時間期間に対応する第2の時間ウィンドウを選択し得る。次いで、デバイスは、第2の時間ウィンドウの間に受信された第1のセットのデータポイントの第2のサブセットの縮約形および第2のセットのデータポイントの第2のサブセットの縮約形を表す第2のベクトルを生成し得る。たとえば、図8Cに示すように、第2のベクトルおよび第3のベクトルは、それぞれ、通知データソース、ロケーションデータソース、および近接シグネチャデータソースによって生成されたまたはそれらのデータソースから受信されたデータポイントの第2のサブセットおよび第3のサブセットの縮約形を表す。
図9Aに示すように1つまたは複数のベクトルが生成された後、デバイスは、デバイスとデバイスのユーザとの間の潜在的な関係を識別するために、これらのベクトルを他のデバイスと共有することができる。詳細には、デバイスは、デバイス間でモデルを共有し、時間成分に基づいてこれらのモデルを比較することができる。一致が見つかった場合、これは、デバイスが同時に同じ場所にあったなど、非常に強い相関関係を示す。一致が見つからなかった場合、デバイスは時間成分を削除し、再比較することができる。一致が見つかった場合、これは、より弱い相関関係を示し、デバイスが異なる時間に同じ場所にあったことを示し得る。
図9Bを参照すると、912において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、トランシーバ206と連携するモデル共有モジュール218)は、第1のユーザモデルを第2のデバイスに送信し得る。ユーザモデルは、図9Aの908において生成された少なくともベクトルであり得る。914において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、トランシーバ206と連携するモデル共有モジュール218)はまた、第2のデバイスから第2のユーザモデルを受信し得る。第2のユーザモデルは、少なくとも第2のベクトルであり得、第2のベクトルは、第2の時間ウィンドウの間に受信された第3のセットのデータポイントのサブセットの縮約形および第4のセットのデータポイントのサブセットの縮約形を表し得る。第3のセットのデータポイントおよび第4のセットのデータポイントは、それぞれ、第1のセットのデータポイントおよび第2のセットのデータポイントと同じタイプのデータポイントであり得る。
一態様では、第1のユーザモデルは、第1のセットのデータポイントの縮約形および第2のセットのデータポイントの縮約形を表す複数のベクトルであり得、第1のセットのデータポイントおよび第2のセットのデータポイントは、複数の時間ウィンドウの間に受信され、複数のベクトルのうちの各ベクトルは、1つの時間ウィンドウに対応する。同様に、第2のユーザモデルは、第3のセットのデータポイントの縮約形および第4のセットのデータポイントの縮約形を表す複数のベクトルであり得、第3のセットのデータポイントおよび第4のセットのデータポイントは、複数の時間ウィンドウの間に受信され、複数のベクトルのうちの各ベクトルは、1つの時間ウィンドウに対応する。
916において、次いで、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル共有モジュール218)は、少なくとも生成されたベクトルを少なくとも第2のベクトルと比較し得る。デバイスは、同じタイプのデータソースに対応するベクトルまたはベクトル値のみを比較し得る。たとえば、ローカルに生成されたベクトルが、加速度計データ、温度データ、およびロケーションデータの縮約形を表す値を含んでおり、受信されたベクトルが、加速度計データ、通知データ、およびロケーションデータの縮約形を表す値を含んでいる場合、通知データおよび温度データからは有意義な比較を行うことができない可能性があるので、デバイスは加速度計データおよびロケーションデータの縮約形を表すベクトル値のみを比較する。別の例として、デバイスが、一方が加速度計データおよびロケーションデータの縮約形を表し、他方が通知データおよびアクセスポイントデータの縮約形を表す、2つのベクトルを生成し、一方が加速度計データおよびロケーションデータの縮約形を表し、他方が通知データおよびアクセスポイントデータの縮約形を表す、2つのベクトルを受信する場合、デバイスは、加速度計データおよびロケーションデータの縮約形を表すベクトルと通知データおよびアクセスポイントデータの縮約形を表すベクトルを比較する。
918において、デバイス(詳細には、デバイスがUE200Aまたは200Bに対応する場合は、ASIC208と連携するモデル共有モジュール218)は、時間ウィンドウが第2の時間ウィンドウ(すなわち、914において受信された第2のベクトルが第3のセットのデータポイントのサブセットの縮約形および第4のセットのデータポイントのサブセットの縮約形を表す時間ウィンドウ)のしきい値時間期間内であるかどうかを判断する。すなわち、デバイスは、図9Aの908において生成されたベクトルのうちの少なくとも1つの時間ウィンドウが、少なくともしきい値量だけ、914において受信されたベクトルのうちの少なくとも1つの時間ウィンドウと重複するか否かを判断する。
918における判断の結果にかかわらず、デバイスは、第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形が、第3のセットのデータポイントのサブセットの縮約形および/または第4のセットのデータポイントのサブセットの縮約形のしきい値内であるかどうか(920Aおよび920Bとして示す)を判断する。しきい値内ではない場合、922において、デバイスは、それ自体と第2のデバイスとの間に相関関係がない、または少なくともそれ自体と第2のデバイスとの間に相関関係があるか否かを判断することができないと判断する。
代替的に、918において時間ウィンドウが互いのしきい値時間期間内ではないが、920Aにおいて第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形が第3のセットのデータポイントのサブセットの縮約形および/または第4のセットのデータポイントのサブセットの縮約形のしきい値内であるとデバイスが判断した場合、924において、デバイスは、それ自体と第2のデバイスとの間に弱い相関関係があると判断する。弱い相関関係は、デバイスが同時にではないが同じ場所にあったおよび/または同じことをしていたことを示し得る。
しかしながら、918において時間ウィンドウが互いのしきい値時間期間内であり、920Bにおいて第1のセットのデータポイントのサブセットの縮約形および/または第2のセットのデータポイントのサブセットの縮約形が第3のセットのデータポイントのサブセットの縮約形および/または第4のセットのデータポイントのサブセットの縮約形のしきい値内であるとデバイスが判断した場合、926において、デバイスは、それ自体と第2のデバイスとの間に強い相関関係があると判断する。強い相関関係は、デバイスが実質的に同時に同じ場所にあったおよび/または同じことをしていたことを示し得る。
図10は、一連の相互に関係する機能モジュールとして表された例示的な装置1000を示す。受信するためのモジュール1002は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル生成器モジュール216などのモデル生成器モジュールと連携する、トランシーバ206もしくはネットワークアクセスポート404などの通信デバイス、またはASIC208もしくはプロセッサ401などの処理システムに対応し得る。受信するためのモジュール1004は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル生成器モジュール216などのモデル生成器モジュールと連携する、トランシーバ206もしくはネットワークアクセスポート404などの通信デバイス、またはASIC208もしくはプロセッサ401などの処理システムに対応し得る。選択するためのモジュール1006は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル生成器モジュール216などのモデル生成器モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。生成するためのモジュール1008は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル生成器モジュール216などのモデル生成器モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。
図11は、一連の相互に関係する機能モジュールとして表された例示的な装置1100を示す。送信するためのモジュール1102は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、トランシーバ206またはネットワークアクセスポート404などの通信デバイスに対応し得る。受信するためのモジュール1104は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル共有モジュール218などのモデル共有モジュールと連携する、トランシーバ206もしくはネットワークアクセスポート404などの通信デバイス、またはASIC208もしくはプロセッサ401などの処理システムに対応し得る。比較するためのモジュール1106は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル共有モジュール218などのモデル共有モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。判断するためのモジュール1108は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル共有モジュール218などのモデル共有モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。判断するためのモジュール1110は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル共有モジュール218などのモデル共有モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。判断するためのモジュール1112は、少なくともいくつかの態様では、たとえば、本明細書で説明するように、モデル共有モジュール218などのモデル共有モジュールと連携する、ASIC208またはプロセッサ401などの処理システムに対応し得る。
図10〜図11のモジュールの機能は、本明細書の教示と矛盾しない様々な方法で実装され得る。いくつかの設計では、これらのモジュールの機能は、1つまたは複数の電気構成要素として実装され得る。いくつかの設計では、これらのブロックの機能は、1つまたは複数のプロセッサ構成要素を含む処理システムとして実装され得る。いくつかの設計では、これらのモジュールの機能は、たとえば、1つまたは複数の集積回路(たとえば、ASIC)の少なくとも一部分を使用して実装され得る。本明細書で説明するように、集積回路は、プロセッサ、ソフトウェア、他の関連する構成要素、またはそれらの何らかの組合せを含み得る。したがって、異なるモジュールの機能は、たとえば、集積回路の異なるサブセットとして、ソフトウェアモジュールのセットの異なるサブセットとして、またはそれらの組合せとして実装され得る。また、(たとえば、集積回路のおよび/またはソフトウェアモジュールのセットの)所与のサブセットが、2つ以上のモジュールに関する機能の少なくとも一部分を提供し得ることが諒解されよう。
加えて、図10〜図11によって表される構成要素および機能、ならびに本明細書で説明する他の構成要素および機能は、任意の適切な手段を使用して実装され得る。そのような手段はまた、少なくとも部分的に、本明細書で教示する対応する構造を使用して実装され得る。たとえば、図10〜図11の「ためのモジュール」構成要素とともに上記で説明した構成要素はまた、同様に指定された「ための手段」機能に対応し得る。したがって、いくつかの態様では、そのような手段のうちの1つまたは複数は、プロセッサ構成要素、集積回路、または本明細書で教示する他の適切な構造のうちの1つまたは複数を使用して実装され得る。
情報および信号は様々な異なる技術および技法のいずれかを使用して表され得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光粒子、またはそれらの任意の組合せによって表され得る。
さらに本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装され得る。
本明細書で開示する実施形態に関して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体化され得る。プロセッサおよび記憶媒体はASIC内に存在し得る。ASICはユーザ端末(たとえば、UE)内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として存在し得る。
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用され得、コンピュータによってアクセスされ得る他の任意の媒体を備えることができる。また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書で様々な変更および修正が行われ得ることに留意されたい。本明細書で説明する本開示の実施形態による方法クレームの機能、ステップおよび/またはアクションは、任意の特定の順序で実行される必要はない。さらに、本開示の要素は、単数形で説明または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。