本開示の態様は、以下の説明および関係する図面において開示される。代替実施形態は、本開示の範囲から逸脱することなく考案され得る。加えて、本開示の関連する詳細を不明瞭にしないように、本開示のよく知られている要素は詳細には説明されず、または省略される。
「例示的」および/または「例」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「本開示の実施形態」という用語は、本開示のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
さらに、多くの実施形態が、たとえばコンピューティングデバイスの要素によって実行されるべき、アクションのシーケンスに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(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、光学媒体、テープ、ソフトディスクまたはハードディスクなどの当技術分野で知られている任意の二次記憶デバイスであり得る。
したがって、本開示の一実施形態は、本明細書で説明する機能を実行する能力を含むUE(たとえば、UE200A、UE200Bなど)を含むことができる。当業者によって諒解されるように、様々な論理要素は、本明細書で開示する機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアの任意の組合せで具現化され得る。たとえば、ASIC208、メモリ212、API210およびローカルデータベース214をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがって、これらの機能を実行するための論理は様々な要素にわたって分散され得る。代替的に、機能は1つの個別構成要素に組み込まれ得る。したがって、図2のUE200AおよびUE200Bの特徴は例示的なものにすぎないと見なされるべきであり、本開示は図示した特徴または構成に限定されない。
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アンテナ、モデム、変調器および/または復調器、NFCリーダー、RFIDリーダー、NFCタグ、RFIDタグなど)などのワイヤレス通信インターフェース(たとえば、Bluetooth(登録商標)、WiFi、2G、CDMA、W-CDMA、3G、4G、LTE、近距離無線通信(NFC)、無線周波数識別(RFID)など)を含むことができる。一例として、情報を受信および/または送信するように構成された論理305は、NFCを使用して第1のデバイスから第2のデバイスに検索プロファイルおよび能力プロファイルを送信するように構成された論理であって、検索プロファイルが、第1のデバイスが確立しようとしているサービスを記述する基準を含み、能力プロファイルが、第1のデバイスの接続能力を含む、論理と、第2のデバイスからスコアを受信するように構成された論理であって、スコアが、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示す、論理とに対応し得る。別の例として、情報を受信および/または送信するように構成された論理305は、第1のデバイスによって、NFCを使用して第2のデバイスから検索プロファイルおよび能力プロファイルを受信するように構成された論理であって、検索プロファイルが、第1のデバイスが確立しようとしているサービスを記述する基準を含み、能力プロファイルが、第1のデバイスの接続能力を含む、論理と、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示すスコアを、NFCを使用して第2のデバイスに送信するように構成された論理とに対応し得る。別の例では、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、それを通じてインターネット175にアクセスすることができるシリアル接続、USBまたはFirewire接続、イーサネット(登録商標)接続など)に対応することができる。したがって、通信デバイス300が何らかのタイプのネットワークベースのサーバ(たとえば、サーバ170など)に対応する場合、情報を受信および/または送信するように構成された論理305は、一例では、イーサネット(登録商標)プロトコルを介してネットワークベースのサーバを他の通信エンティティに接続するイーサネット(登録商標)カードに対応することができる。さらなる例では、情報を受信および/または送信するように構成された論理305は、通信デバイス300がそのローカル環境をモニタする手段となり得る感知または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルRF信号をモニタするためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理305はまた、実行されると、情報を受信および/または送信するように構成された論理305の関連ハードウェアがその受信機能および/または送信機能を実行することを可能にするソフトウェアを含むことができる。しかしながら、情報を受信および/または送信するように構成された論理305は、ソフトウェアだけに対応するのではなく、情報を受信および/または送信するように構成された論理305は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図3を参照すると、通信デバイス300は、情報を処理するように構成された論理310をさらに含む。一例では、情報を処理するように構成された論理310は、少なくともプロセッサを含むことができる。情報を処理するように構成された論理310によって実行され得るタイプの処理の例示的な実装形態は、限定はしないが、判断を行うこと、接続を確立すること、異なる情報オプション間で選択を行うこと、データに関係する評価を実行すること、測定動作を実行するために通信デバイス300に結合されたセンサと対話すること、情報をあるフォーマットから別のフォーマットに(たとえば、.wmvから.aviになど、異なるプロトコル間で)変換することなどを含む。たとえば、情報を処理するように構成された論理310は、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示す受信されたスコアに基づいて、第1のデバイスが確立しようとしているサービスを確立するために第2のデバイスと接続するかどうかを判断するように構成された論理に対応し得る。別の例として、情報を処理するように構成された論理310は、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示すスコアを計算するように構成された論理に対応し得る。情報を処理するように構成された論理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は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
図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の実装形態に加えて、サーバとして実装され得ることを説明するのを助ける。
一般に、電話、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータ、特定の車両などのUEは、ローカルで(たとえば、Bluetooth(登録商標)、ローカルWi-Fiなど)またはリモートで(たとえば、セルラーネットワークを介して、インターネットを通じてなど)のいずれかで互いに接続するように構成され得る。さらに、いくつかのUEはまた、互いに直接通信するためにデバイスが1対1の接続を行うかまたはいくつかのデバイスを含むグループに同時に接続するのを可能にする特定のワイヤレスネットワーキング技術(たとえば、Wi-Fi、Bluetooth(登録商標)、Wi-Fi Directなど)を使用する近接ベースのピアツーピア(P2P)通信をサポートし得る。
P2Pネットワークは、ネットワーク内の個々のノード(「ピア」と呼ばれる)がリソースのサプライヤとコンシューマの両方として働く、非集中型分散ネットワークアーキテクチャのタイプである。対照的に、集中型クライアント-サーバモデルでは、クライアントノードは、中央サーバによって提供されるリソースへのアクセスを要求する。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は、最初にルーティンググループから削除されることなく分散バスから切断するエンドポイントにルーティンググループ変更信号を送ってもよい。
各ピアデバイス上で実行しているP2Pソフトウェアは通常、サービス広告および発見、セッションセットアップ、セッション管理(たとえば、参加/離脱)、ならびにデータ転送を提供する。現行のP2Pソフトウェアの問題は、ピアデバイス向けの適切なワイヤレスネットワーク接続をセットアップするための完璧な解決策がないということである。現行のP2Pソフトウェア解決策は、ユーザが起動前にピアデバイス間のネットワーク接続(たとえば、WiFi、WiFi Direct、LTE Direct、Bluetooth(登録商標)など)を手作業でセットアップするか、またはアプリケーションハードコードが起動前にピアデバイス間のネットワーク接続をセットアップするかのいずれかであると想定している。しかしながら、前者はユーザの手作業の介入を必要とし、後者はさらなる複雑さをもたらし、よりエラーを起こしやすい。
現行のP2Pソフトウェアの別の問題は、ピアデバイスが適切なサプライヤピアデバイスを見つけるのが困難である場合があるということである。広告/発見期間の間、サプライヤピアデバイスは通常、「よく知られているサービス名」をストリングとして広告し、コンシューマピアデバイスは、このよく知られている名前のプレフィックスを使用してサプライヤピアデバイスを発見する。しかしながら、ますます多くのピアデバイスがP2Pサービス能力を有すると、この単純な広告/発見機構は、コンシューマピアデバイスが適切なサプライヤピアデバイスを見つけることを困難にする。
たとえば、ピアデバイスAが.jpgファイルフォーマットの画像を見つけてダウンロードすることを望んでいると想定する。ピアデバイスBは、.jpgファイルフォーマットを用いた画像ダウンロードサービスを提供することができ、ピアデバイスCは、.pngファイルフォーマットを用いた画像ダウンロードサービスを提供することができる。ピアデバイスBとピアデバイスCの両方は、画像ダウンロードサービスをサポートすることができることを広告する。それに応答して、ピアデバイスAはピアデバイスCのP2Pセッションに参加し、画像をダウンロードするためのリモート呼を行う。しかしながら、ワイヤレスリンクセットアップの間に時間を費やし電力を消費した後でのみ、ピアデバイスAは、ピアデバイスCが間違ったファイルフォーマットの画像を有することを発見する。
ピアデバイスのための適切なワイヤレスネットワーク接続をセットアップするという課題に対処するために、様々な解決策は、特定のデータ転送のための特定のネットワーク接続を可能にする近距離無線通信(NFC)を使用する。たとえば、1つの解決策はNFCを使用して、両方のピアデバイス上でBluetooth(登録商標)を自動的に有効化し、これらのピアデバイスを直ちにペアリングし、データを転送し、次いで、データ転送が完了したらBluetooth(登録商標)接続を無効にする。別の解決策はNFCを使用して、Bluetooth(登録商標)の代わりにWi-Fi Directを有効化し、結果として転送時間がより速くなる。両方の解決策は、適切なワイヤレスネットワーク接続をセットアップするという課題に部分的に対処するが、いずれの解決策も、ピアデバイスが適切なサプライヤピアデバイスを見つけるのが困難である場合があるという問題には対処しない。
NFCは、RFID型非接触識別および相互接続技術から開発された様々な近接使用事例をカバーするように設計された、規格化された短距離ワイヤレス接続技術である。NFCは、短距離(たとえば、理論的には10cm以下、または一般的には1〜4cm)および低速(たとえば、106、216、または414kbps)で動作する。セットアップ時間は0.1秒未満であり、データ交換速度は最大424kbpsとすることができる。NFCイニシエータはマスタデバイスとして働き、NFC通信セッションを開始する。NFCターゲットはスレーブデバイスとして働き、通常、パッシブRFIDタグまたはデバイスである。
NFCのいくつかの使用事例がある。NFCは、カードエミュレーションを介して非接触取引を行うために使用され得る。たとえば、カードエミュレーションは、支払いを行うために使用され、発券、ロイヤルティ追跡、アクセス構築に使用され、政府職員IDカードで使用され得る。NFCはまた、情報にアクセスするために使用され得る。たとえば、NFC対応デバイスは、ポスターもしくは看板の上などの公共の場所に配置されたRFIDタグからデジタルコンテンツを発見することができ、または、場合によっては、データをRFIDタグに書き込むことができる。加えて、NFCは、電子デバイスを接続するために使用され得る。たとえば、NFCは、Bluetooth(登録商標)またはWiFi Directなどを介してデバイスペアリングを有効化し、連絡先リストを共有するために使用され得る。図8は、NFC対応デバイスのためのこれらの例示的な動作モードを示す。
NFCを使用することは、P2Pソフトウェア解決策のユーザエクスペリエンスを向上させることができる。2つのピアデバイス間で高電力消費ネットワーク接続(たとえば、WiFi、Bluetooth(登録商標)、WiFi Direct、LTE Directなど)を確立/設定する前に、NFC対応ピアデバイスは、P2Pサービス用の適切なサプライヤピアデバイスを見つけ、そのサプライヤピアデバイスと確立すべき適切な高電力消費ワイヤレスネットワーク接続を判断するための「ワンタッチ(one touch)」検索を実行することができる。
NFC対応コンシューマピアデバイスは、コンシューマピアデバイスの検索プロファイルおよび能力プロファイルで定義された様々な基準に基づいて適切なサプライヤピアデバイスを見つける「ワンタッチ」検索を実行することができる。検索プロファイルは、コンシューマピアデバイスが検索しているサービスおよび/またはメディアファイルを記述する基準を含むことができる。能力プロファイルは、画像フォーマット、ビデオフォーマット、オーディオフォーマット、ペイロードサイズ、帯域幅、電力効率などのコンシューマピアデバイスのデータ交換互換性と、WiFi、WiFi Direct、LTE Direct、Bluetooth(登録商標)などのサポートされるネットワーク接続とを含むことができる。サプライヤピアデバイス上の検索エンジンは、コンシューマピアデバイスの検索プロファイルおよび能力プロファイルと一致するP2Pサービスを求めてP2P検索エンジンサービスインデックスデータベースを検索し、任意の一致するP2Pサービスについてのスコアランクを提供する。スコアランクは、サプライヤピアデバイス上のP2Pサービスがコンシューマピアデバイスのプロファイルとどのくらい近く一致しているか、および/または、サプライヤピアデバイスおよびP2Pサービスがコンシューマピアデバイスならびに検索プロファイルおよび能力プロファイルとどのくらい互換性があるかを示す。「適切な」サプライヤピアデバイスは、スコアランクがしきい値を上回るP2Pサービスを有するピアデバイスである。サプライヤピアデバイスはまた、その利用可能なサービスのランキングを含むことができ、その結果、2つ以上のサービスが検索基準に適合し得る場合、コンシューマピアデバイスは、それが行おうとしていることに対する最良のサービスを選ぶことができる。
この「ワンタッチ」検索は、NFC対応コンシューマピアデバイスが、最初にサプライヤピアデバイスとの高電力消費ワイヤレスネットワーク接続を確立する必要なしに、適切なNFC対応サプライヤピアデバイスを発見することを可能にするので、「タッチ識別(touch to know)」または「ワンタッチ認識(one touch awareness)」と見なされ得る。コンシューマピアデバイスは、適切なサプライヤピアデバイスを見つけるために、任意の数のサプライヤピアデバイスを検索し得る。コンシューマピアデバイスはまた、どのサプライヤピアデバイスが最も高いスコアランクを有するかを判断するために、任意の数のサプライヤピアデバイスを検索し得る。
NFC対応コンシューマピアデバイスが適切なサプライヤピアデバイスを識別すると、NFC対応コンシューマピアデバイスは、サポートされるネットワーク接続、ペイロードサイズ、帯域幅、電力効率などのコンシューマピアデバイスの能力プロファイルでやはり定義され得る様々な基準に基づいて適切なワイヤレスネットワーク接続を選択するために、「ワンタッチ」設定(または「タッチ設定(touch to configure)」)を実行することができる。次いで、コンシューマピアデバイスおよびサプライヤピアデバイスは、ユーザ介入なしに最適なネットワーク設定をネゴシエートすることができる。たとえば、単一の画像ファイルをダウンロードする場合、デバイスはBluetooth(登録商標)接続を使用するようネゴシエートし得るが、複数のビデオファイルをダウンロードする場合、デバイスは代わりにWi-Fi接続をするようネゴシエートし得る。
NFC対応ピアデバイスは、手作業のユーザ介入なしにネットワーク接続およびP2Pセッションをセットアップすることができる。NFC P2Pモードは、問合せプロセスを省くことによって、発見プロセスを簡略化することができる。ユーザは、デバイスのNFCタグを介して適切なネットワーク設定およびサービス名情報を交換するために、2つのデバイスを一緒にタッチする(「ワンタッチ」)ことができる。これは、ユーザが(場合によっては長い)リストからネットワークリンクおよびサービスを手作業でセットアップする必要性を取り除く。その結果がよりシームレスなワイヤレスユーザエクスペリエンスとなる。
NFC対応コンシューマデバイスは、どのファイルが利用可能であるかではなく、どのサービスが利用可能であるかを発見するために、第1の「タッチ識別」を実行する。NFC対応ピアデバイスがファイルを探している場合、NFC対応ピアデバイスは最初に、「タッチ識別」を使用して、他のどのNFC対応ピアデバイスが利用可能なファイル共有サービスを有するかを見つけようとする。次いで、ピアデバイスを選択した後、NFC対応ピアデバイスはタッチして、ファイル共有サービスを設定および確立する。そのとき、NFC対応ピアデバイスは、相手のピアデバイスが第1のデバイスが検索しているファイルを有するか、またはファイルにアクセスできるかどうかを判断することができる。
ネットワーク接続はまた、ピアデバイスの対話の間のシステム性能および/またはP2Pグループへの新しいピアデバイスの追加に基づいて調整され得る。
図9は、本開示の少なくとも1つの態様による例示的なシステム900を示す。NFC対応ピアデバイスA 910Aは、様々なP2Pサービス922AとP2P検索エンジンサービスインデックス924Aとを含むP2Pフレームワーク920Aを含む。デバイスA 910Aは、NFCタグ932Aおよび934Aを含むNFC P2P読取り/書込みフレームワーク930Aも含む。NFCタグ932Aは、デバイスA 910Aがサポートすることができる様々なワイヤレスネットワーク接続オプションの接続設定詳細を含む。NFCタグ934Aは、デバイスA 910Aの検索プロファイルおよび能力プロファイルを含む。
NFC対応ピアデバイスB 910Bは、P2Pサービス922BとP2P検索エンジンサービスインデックス924Bとを含むP2Pフレームワーク920Bを含む。デバイスB 910Bは、NFCタグ932Bおよび934Bを含むNFC P2P読取り/書込みフレームワーク930Bも含む。NFCタグ932Bは、デバイスB 910Bがサポートすることができる様々なワイヤレスネットワーク接続オプションの接続設定詳細を含む。NFCタグ934Bは、デバイスB 910Bの検索プロファイルおよび能力プロファイルを含む。
デバイスA 910AおよびデバイスB 910Bは最初に、「タッチする」ことによってNFCを介して互いに通信する。「タッチする」ことは物理的な接触を必要とせず、むしろ、デバイスA 910AおよびデバイスB 910BがNFCを介して通信することができるほど十分に、これらのデバイスを互いに近づけるだけでよいことに留意されたい。各デバイスは、NFC「タッチ送信(touch to send)」モードであってもよく、(画面がオンでロック解除されている)低電力消費レベルで動作していてもよい。図9の例では、デバイスA 910Aはコンシューマピアデバイスであり、デバイスB 910Bはサプライヤピアデバイスである。
P2Pサービス922Aおよび922B(各デバイス上で利用可能なP2Pサービス)は、それらの能力をP2P検索エンジンサービスインデックス924Aおよび924Bにそれぞれ登録する。検索エンジンアルゴリズムは、各P2P検索エンジンサービスインデックス924Aおよび924Bを使用して実装される。両方のデバイスA 910AおよびデバイスB 910Bは、サービスプロファイルおよびワイヤレスネットワーク接続設定をタグとして記憶する。
デバイスA 910AおよびデバイスB 910Bが最初に「タッチ」すると、コンシューマピアデバイスとしてのデバイスA 910Aは、その検索プロファイルおよび能力プロファイルをデバイスB 910Bにプッシュする。デバイスB 910Bの検索アルゴリズムは、P2Pサービス922BのうちのいずれかがデバイスA 910Aの検索プロファイルと一致するかどうかを判断するために、P2Pサービス922Bを検索する。P2Pサービス922BのうちのいずれかがデバイスA 910Aの検索プロファイルと一致する場合、デバイスB 910BはスコアランクをP2Pサービスに割り当て、一致するサービス名および対応する検索スコアをデバイスA 910Aにプッシュする。デバイスB 910Bはまた、提案されるネットワーク設定および対応する検索スコアをプッシュすることができる。検索スコアは、デバイスA 910Aの能力プロファイルに含まれるネットワーク設定基準に対する、提案されるネットワーク設定の適合性を示す。
図9には示されていないが、システム900内に任意の数のNFC対応ピアデバイスがあり得る。デバイスA 910Aは、一致するP2Pサービスを見つけるために、または検索スコアが最も高いP2Pサービスを見つけるために、任意の数のこれらの他のピアデバイスをタッチし得る。
デバイスB 910B上のP2Pサービス922Bのうちの1つが最も高い検索スコアを有する、すなわち、デバイスA 910Aの検索プロファイルとの最も近い一致を有する場合、両方のデバイスA 910AおよびデバイスB 910Bは、適切なネットワーク設定タグを用いたネットワーク接続を有効にする/設定するために、再度「タッチ」し得る。「適切な」ネットワーク設定タグは、デバイスB 910BからデバイスA 910Aにプッシュされ、WiFi RSSI、パスワードなどのデバイスB 910Bのネットワークリンクセットアップ情報を含む。次いで、デバイスA 910AおよびデバイスB 910Bは、適切なサービス名タグを用いたP2Pセッションのセットアップ、P2Pセッションへの参加、またはP2Pセッションからの離脱を含め、P2Pソフトウェアを使用して通信することができる。「適切な」サービス名タグは、デバイスB 910BからデバイスA 910Aにプッシュされ、デバイスB 910BのP2Pサービス名を含む。
図10は、他のデバイス1004〜1008と対話するデバイスA 1002を示す例示的な呼フローを示す。デバイス1002〜1008は、図9のピアデバイスA 910AおよびピアデバイスB 910BなどのNFC対応ピアデバイスである。
図10の例では、デバイスA 1002は、ビデオなどの特定のメディアファイルを見つけることを望んでおり、たとえば、Bluetooth(登録商標)および/またはWiFiを介して他のピアデバイスと通信することができる。1005において、デバイスA 1002は、NFC対応ピアデバイスB 1004とのNFC「タッチ識別」を実行する。1010において、デバイスA 1002は、別のNFC対応ピアデバイスC 1006との別のNFC「タッチ識別」を実行する。1015において、デバイスA 1002は、また別のNFC対応ピアデバイスD 1008との第3のNFC「タッチ識別」を実行する。図10は3つの他のNFC対応ピアデバイスと対話するデバイスA 1002を示しているが、デバイスA 1002は、所望のメディアファイルを見つけるために任意の数の他のデバイスとのNFC「タッチ識別」を実行し得る。
各「タッチ識別」とともに、デバイスA 1002は、その検索プロファイルおよび能力プロファイルを相手のデバイスに送信する。デバイスA 1002から検索プロファイルおよび能力プロファイルを受信すると、1020において、デバイスB 1004は、それが受信された検索プロファイル内の基準を満たす任意のサービスを有するかどうかを判断するローカル検索を実行する。1030および1040において、デバイスC 1006およびデバイスD 1008は、同様のローカル検索をそれぞれ実行する。
図10の例では、デバイスB 1004は、受信された検索プロファイル内のキーワードと一致する、.mp4フォーマットでの1つのビデオを有し、Bluetooth(登録商標)および/またはWiFiを介して通信することが可能であり得る。しかしながら、1025において、デバイスB 1004は、対応する検索スコアに加えて、その能力をデバイスA 1002に伝えるにすぎない。デバイスC 1006は、受信された検索プロファイル内のキーワードと一致する、.3gpフォーマットでの2つのビデオを有し、Bluetooth(登録商標)および/またはWiFiを介して通信することが可能であり得る。しかしながら、やはり、1035において、デバイスC 1006は、対応する検索スコアに加えて、その能力をデバイスA 1002に伝えるにすぎない。デバイスD 1008は、受信された検索プロファイル内のキーワードと一致する、.mp4フォーマットおよび.3gpフォーマットでの3つのビデオを有し、Bluetooth(登録商標)を介して通信することが可能であり得る。しかしながら、1045において、デバイスD 1008は、対応する検索スコアに加えて、その能力をデバイスA 1002に伝えるにすぎない。
1050において、デバイスA 1002は、受信された検索スコアに基づいて、所望のメディアファイルを取り出すのに最良のデバイスを判断する。検索スコアは、メディアフォーマット、帯域幅、解像度などの要因を考慮し得る。図10の例では、最良の検索スコアを有するデバイスはデバイスC 1006である。
1055および1060において、デバイスA 1002は、デバイスC 1006とのNFC「タッチ設定」を実行する。この「タッチ設定」は、デバイスC 1006からデバイスA 1002にメディアファイルを転送するためにどのネットワーク設定を使用すべきかを通信する。図10の例では、デバイスは、メディアファイルがビデオであり、より多くの帯域幅を必要とするので、メディアファイルを転送するためにWiFiを選ぶことができる。
1065および1070において、ローカルWiFi接続を介して接続されると、デバイスA 1002およびデバイスC 1006は、AllJoyn(商標)ソフトウェアフレームワークなどの近接ベースのP2Pプロトコルを確立することができる。次いで、デバイスC 1006は、確立された近接ベースのP2Pプロトコルを使用して、要求されたメディアファイルをデバイスA 1002に送信することができる。
図11は、デバイス1104〜1108と対話するデバイスA 1102を示す例示的な呼フローを示す。デバイス1102〜1108は、図9のピアデバイスA 910AおよびピアデバイスB 910BなどのNFC対応ピアデバイスである。図11の例では、デバイス1104〜1108は、NFC対応ピアデバイステレビジョンである。
図11を参照すると、デバイスA 1102は、NFC対応テレビジョン(TV)と対話する、たとえば、スライドショーを再生することができるかどうかを判断することを望んでいる。1105において、デバイスA 1102は、NFC対応TV B 1104とのNFC「タッチ識別」を実行する。1110において、デバイスA 1102は、別のNFC対応TV C 1106との別のNFC「タッチ識別」を実行する。1115において、デバイスA 1102は、また別のNFC対応TV D 1108との第3のNFC「タッチ識別」を実行する。図11は3つの他のNFC対応TVと対話するデバイスA 1102を示しているが、デバイスA 1102は、任意の数の他のデバイスとのNFC「タッチ識別」を実行し得る。
各「タッチ識別」とともに、デバイスA 1102は、その検索プロファイルおよび能力プロファイルをTV 1104〜1108に送信する。デバイスA 1102から検索ファイルおよび能力プロファイルを受信すると、1120において、TV B 1104は、それがサポートすることができるメディアフォーマットを判断する。1130および1140において、TV C 1106およびTV D 1108は、同様の判断をそれぞれ実行する。各TV 1104〜1108は、異なるインターフェースおよびサービスをサポートし得る。
1125において、TV B 1104は、対応する検索スコアに加えて、そのサポートされるインターフェースおよびサービス(すなわち、その能力)をデバイスA 1102に送信する。1135および1145において、デバイスC 1106およびデバイスD 1108は同じことを行う。
1150において、デバイスA 1102は、検索スコアに基づいて最良のTVを判断する。検索スコアは、メディアフォーマット、帯域幅、解像度などの要因を考慮し得る。図11の例では、最良の検索スコアを有するTVはTV C 1106である。
1155および1160において、デバイスA 1102は、TV C 1106とのNFC「タッチ設定」を実行する。この「タッチ設定」は、たとえば、デバイスC 1106上でスライドショーを再生するためにどのネットワーク設定を使用すべきかを通信する。図11の例では、デバイスは、Bluetooth(登録商標)を介して通信することを選ぶことができる。
1165および1170において、Bluetooth(登録商標)接続を介して接続されると、デバイスA 1102およびデバイスC 1106は、AllJoyn(商標)ソフトウェアフレームワークなどの近接ベースのP2Pプロトコルを確立することができる。次いで、デバイスC 1106は、確立された近接ベースのP2Pプロトコルを使用して、デバイスA 1102上に記憶されたスライドショーを再生することができる。
図12は、セッションを形成するために対話する様々なデバイス1202〜1208を示す例示的な呼フローを示す。デバイス1202〜1208は、図9のピアデバイスA 910AおよびピアデバイスB 910BなどのNFC対応ピアデバイスである。
図12の例では、NFC対応ピアデバイスA 1202、NFC対応ピアデバイスB 1204、NFC対応ピアデバイスC 1206、およびNFC対応ピアデバイスD 1208は、たとえば、共通の近接ベースのP2Pプロトコルを使用して、相互動作し互いに通信することを望んでいる。1205において、デバイスA 1202は、デバイスB 1204とのNFC「タッチ識別」を実行する。1210において、デバイスA 1202は、デバイスC 1206との別のNFC「タッチ識別」を実行する。1015において、デバイスA 1202は、デバイスD 1208との第3のNFC「タッチ識別」を実行する。図12は3つの他のNFC対応ピアデバイスと対話するデバイスA 1202を示しているが、デバイスA 1202は、セッションを確立するために任意の数の他のデバイスとのNFC「タッチ識別」を実行し得る。
各「タッチ識別」とともに、デバイスA 1202は、その検索プロファイルおよび能力プロファイルを相手のデバイスに送信する。デバイスA 1202から検索プロファイルおよび能力プロファイルを受信すると、1220において、デバイスB 1204は、そのローカルサービスを受信された検索プロファイルにリストされたサービスと比較する。1230および1240において、デバイスC 1206およびデバイスD 1208は、同様のローカル検索をそれぞれ実行する。
図12の例では、デバイスA 1202は、制御、イベント、および通知をサポートし得る。デバイスB 1204は、コントロールパネル機能、イベント、および通知をサポートし得る。1225において、デバイスB 1204は、対応する検索スコアに加えて、この情報をデバイスA 1202に伝える。デバイスC 1206は、イベントおよび通知をサポートし得る。1235において、デバイスC 1206は、対応する検索スコアに加えて、この情報をデバイスA 1202に伝える。デバイスD 1208は、時間機能、イベント、および通知をサポートし得る。1245において、デバイスD 1208は、対応する検索スコアに加えて、この情報をデバイスA 1202に伝える。
1250において、デバイスA 1202は、どのようにして最良の形でデバイス間で接続を形成するかを判断する。デバイスA 1202はまた、どのようにすればより高いレベルのコンシューマ対話のためにサービスが互いにリンクされ得るかを判断し得る。
1255において、デバイスA 1202は、デバイスB 1204とのNFC「タッチ設定」を実行する。1260において、デバイスA 1202は、デバイスC 1206とのNFC「タッチ設定」を実行する。1265において、デバイスA 1202は、デバイスD 1208とのNFC「タッチ設定」を実行する。これらの「タッチ設定」は、デバイス間でセッションを確立するためにどのネットワーク設定を使用すべきかを通信する。
1270において、接続されると、デバイスは、AllJoyn(商標)ソフトウェアフレームワークなどの近接ベースのP2Pプロトコルを確立することができる。1275において、デバイスはすべて、同じセッションに接続される。
図13は、本開示の少なくとも1つの態様による例示的な検索エンジン1320を示す。図13に示す検索エンジン1320は、図9のデバイスB 910Bなどのサプライヤピアデバイス上で実行する。検索エンジン1320は、図9のデバイスA 910Aなどのコンシューマピアデバイスからサービスプロファイルを受信する。サービスプロファイルを受信すると、検索エンジン1320は、サプライヤピアデバイスに記憶されたワイヤレスネットワーク設定1322およびP2P検索エンジンサービスインデックスデータベース1324にアクセスする。検索エンジン1320は、受信されたコンシューマデバイスサービスプロファイル1310を、ワイヤレスネットワーク設定1322およびP2P検索エンジンサービスインデックスデータベース1324にリストされたP2Pサービスと比較する。検索エンジン1320は、サービスプロファイルで指定された基準との適合性に基づいて、スコアを任意の一致するP2Pサービスおよびネットワーク設定に割り当て、一致するネットワーク設定、P2Pサービス、および対応する検索スコアを出力1330として出力する。
図14は、本開示の一態様による検索エンジンの例示的なフローを示す。図14に示すフローは、NFC対応ピアデバイスによって実行され得る。1410において、デバイスは、メディアファイル、メモリ、電力、ストレージなどの、そのローカルリソースを監視する。1420において、デバイスは、この情報をローカルデータベースに保存する。1430において、デバイスは、ローカルデータベースに記憶された情報に対して特徴抽出を実行する。1440において、デバイスは、検索インデックスを作成する。1450において、デバイスは、別のNFC対応ピアデバイスから検索プロファイルおよび能力プロファイルを受信する。1460において、デバイスは、作成された検索インデックスを使用して、ローカルデータベースに対してコンテキストクエリを実行し、スコアランクを判断する。デバイスは、検索結果および判断されたスコアを用いて、受信された検索プロファイルおよび能力プロファイルに応答する。1420において、デバイスは、1410においてデバイスのリソースを監視することから受信された入力に基づいて、コンテキストクエリおよびスコアランクをローカルデータベースに記憶し得、フローは1430に続き得る。
図15は、第1のデバイスが確立しようとしているサービスを提供するために第2のデバイスを検索するための例示的なフローを示す。図15に示すフローは、第1のデバイスによって実行され得、第1のデバイスは、図9のピアデバイスA 910AおよびピアデバイスB 910B、図10のデバイス1002、図11のデバイス1102、ならびに/または図12のデバイス1202などのNFC対応ピアデバイスであり得る。
1510において、第1のデバイスは、図10の1005、1010、および/または1015、図11の1105、1110、および/または1115、ならびに/あるいは図12の1205、1210、および/または1215におけるように、NFCを使用して検索プロファイルおよび能力プロファイルを第2のデバイスに送信する。第2のデバイスは、図9のピアデバイスA 910AおよびピアデバイスB 910B、図10のデバイス1004〜1008、図11のデバイス1104〜1108、ならびに/または図12のデバイス1204〜1208などのNFC対応ピアデバイスであり得る。上記で説明したように、検索プロファイルは、第1のデバイスが確立しようとしているサービスを記述する基準を含み、能力プロファイルは、第1のデバイスの接続能力を含む。サービスは、近接ベースのピアツーピアサービス、近接ベースのピアツーピアファイル共有サービス、または近接ベースのピアツーピア通信セッションであり得る。
1520において、第1のデバイスは、図10の1025、1035、および/または1045、図11の1125、1135、および/または1145、ならびに/あるいは図12の1225、1235、および/または1245におけるように、第2のデバイスからスコアを受信する。上記で説明したように、スコアは、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示す。
1530において、第1のデバイスは、図10の1050、図11の1150、および/または図12の1250におけるように、受信されたスコアに基づいて、サービスを確立するために第2のデバイスと接続するかどうかを判断する。第1のデバイスが第2のデバイスと接続しないと判断した場合、フローは、第1のデバイスが別のNFC対応デバイスを「タッチ識別」ことができる1510に戻る。
さもなければ、1540において、第1のデバイスが第2のデバイスと接続すると判断した場合、第1のデバイスは、図10の1055、図11の1155、ならびに/あるいは図12の1255、1260、および/または1265におけるように、接続設定情報を第2のデバイスに送信する。接続設定情報を送信することは、NFCを使用して実行され得る。接続設定情報は、画像フォーマット、ビデオフォーマット、解像度、オーディオフォーマット、ビットレート、ペイロードサイズ、帯域幅、電力効率、またはサポートされるネットワーク接続のうちの1つまたは複数を含み得る。
1550において、第1のデバイスは、図10の1065、図11の1165、および/または図12の1270におけるように、接続設定情報に基づいて第2のデバイスと接続する。
図16は、第2のデバイスが確立しようとしているサービスについてのスコアを提供するための例示的なフローを示す。図16に示すフローは、第1のデバイスによって実行され得、第1のデバイスは、図9のピアデバイスA 910AおよびピアデバイスB 910B、図10のデバイス1004〜1008のうちのいずれか、図11のデバイス1104〜1108、ならびに/または図12のデバイス1204〜1208などのNFC対応ピアデバイスであり得る。
1610において、第1のデバイスは、図10の1005、1010、および/または1015、図11の1105、1110、および/または1115、ならびに/あるいは図12の1205、1210、および/または1215におけるように、NFCを使用して第2のデバイスから検索プロファイルおよび能力プロファイルを受信する。第2のデバイスは、図9のピアデバイスA 910AおよびピアデバイスB 910B、図10のデバイス1002、図11のデバイス1102、ならびに/または図12のデバイス1202などのNFC対応ピアデバイスであり得る。上記で説明したように、検索プロファイルは、第1のデバイスが確立しようとしているサービスを記述する基準を含み、能力プロファイルは、第1のデバイスの接続能力を含む。サービスは、近接ベースのピアツーピアサービス、近接ベースのピアツーピアファイル共有サービス、または近接ベースのピアツーピア通信セッションであり得る。
1620において、第1のデバイスは、図10の1020、1030、および/または1040、図11の1120、1130、および/または1140、ならびに/あるいは図12の1220、1230、および/または1240におけるように、検索プロファイルおよび能力プロファイルと第2のデバイスの1つまたは複数のサービスおよび能力との間の一致度を示すスコアを計算する。
1630において、第1のデバイスは、図10の1025、1035、および/または1045、図11の1125、1135、および/または1145、ならびに/あるいは図12の1225、1235、および/または1245におけるように、NFCを使用してスコアを第2のデバイスに送信する。
1640において、第1のデバイスは、図10の1055、図11の1155、ならびに/あるいは図12の1255、1260、および/または1265におけるように、第2のデバイスが第1のデバイスと接続すると判断したことに基づいて、第2のデバイスから接続設定情報を受信する。接続設定情報を受信することは、NFCを使用して実行され得る。接続設定情報は、画像フォーマット、ビデオフォーマット、解像度、オーディオフォーマット、ビットレート、ペイロードサイズ、帯域幅、電力効率、またはサポートされるネットワーク接続のうちの1つまたは複数を含み得る。
1650において、第1のデバイスは、図10の1070、図11の1170、および/または図12の1270におけるように、接続設定情報に基づいて第2のデバイスと接続する。
情報および信号は様々な異なる技術および技法のいずれかを使用して表され得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光粒子、またはそれらの任意の組合せによって表され得る。
さらに本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(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)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
上記の開示は本開示の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本開示の範囲から逸脱することなく、本明細書で様々な変更および修正が行われ得ることに留意されたい。本明細書で説明する本開示の実施形態による方法クレームの機能、ステップおよび/またはアクションは、任意の特定の順序で実行される必要はない。さらに、本開示の要素は、単数形で説明または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。