(58)【調査した分野】(Int.Cl.,DB名)
前記接続パラメータは、前記第2の通信デバイスに関連する無線ユニットの指示と、前記無線ユニットが有効化されるかどうかの指示と、前記第2の通信デバイスに関連する通信プロトコルの指示と、前記第2の通信デバイスに関連する識別子の指示とのうちの少なくとも1つを備える、請求項1に記載の方法。
前記第1の通信デバイスにおいて、前記第1の通信デバイスに関連する1つまたは複数のアプリケーションに関連する複数のコンテキストタスクを実行することを判断することと、ここにおいて、前記複数のコンテキストタスクが前記コンテキストタスクを備える、
前記複数のコンテキストタスクをそれにおいて実行すべきシーケンスを判断するために、前記複数のコンテキストタスクの1つまたは複数に関連する優先順位を判断することと
をさらに備える、請求項1に記載の方法。
前記コンテキストタスクと前記コンテキストタスクに関連する前記アプリケーションとに少なくとも部分的に基づいて、前記コンテキストタスクを前記実行することに関連するコンテキストタスク実行パラメータを判断することと、ここにおいて、前記コンテキストタスク実行パラメータが、前記コンテキストタスクに関連するサービスと通信プロトコルとのうちの少なくとも1つを備える、
前記サービスリストに少なくとも部分的に基づいて、前記第2の通信デバイスが前記コンテキストタスク実行パラメータをサポートするかどうかを判断することと
をさらに備える、請求項1に記載の方法。
前記接続パラメータは、前記第2の通信デバイスに関連する無線ユニットの指示と、前記無線ユニットが有効化されるかどうかの指示と、前記第2の通信デバイスに関連する通信プロトコルの指示と、前記第2の通信デバイスに関連する識別子の指示とのうちの少なくとも1つを備える、請求項14に記載の通信デバイス。
【発明を実施するための形態】
【0031】
以下の説明は、本発明の主題事項の技法を実施する例示的なシステム、方法、技法、命令シーケンス、およびコンピュータプログラム製品を含む。ただし、説明する実施形態は、これらの具体的な詳細なしに実施され得ることを理解されたい。たとえば、例では、Bluetooth機能をもつデバイス(「Bluetoothデバイス」)間の近接度に基づいてワイヤレス通信接続を確立することに言及するが、実施形態はそのように限定されない。他の実施形態では、ワイヤレス通信接続の近接度ベース確立のための技法が、他の通信デバイスおよび規格(たとえば、ワイヤレスローカルエリアネットワーク(WLAN)、WiMAX、ワイヤレスUSBデバイスなど)、またはデバイスの組合せ(たとえば、WLANとBluetooth)に拡張され得る。他の例では、説明を不明瞭にしないために、よく知られている命令インスタンス、プロトコル、構造、および技法を詳細に図示していない。
【0032】
Bluetooth通信プロトコルは、Bluetoothデバイス間のBluetooth通信リンクを確立するための、デバイス発見プロシージャ、デバイスペアリングプロシージャ、接続およびサービス発見プロシージャなど、様々なプロシージャを備える。詳細には、Bluetooth通信プロトコルは、一般に、2つのBluetoothデバイス間のBluetooth通信リンクを確立するために、デバイス発見プロシージャ、デバイスペアリングプロシージャ、ならびに接続およびサービス発見プロシージャを開始するようにユーザに要求する。ユーザの見地から、どのように発見、ペアリング、および接続のプロシージャを開始し、隠れたアイコン/メニューオプションの位置を特定し、それに応じてBluetooth通信リンクをセットアップすべきかを判断することは、困難で複雑であり得る。
【0033】
いくつかの実施形態では、Bluetoothデバイスは、Bluetoothデバイスの近接度に少なくとも部分的に基づいてBluetooth通信リンクを自動的に確立するための機構を実装するように構成され得る。一実施形態では、Bluetoothデバイスの一方(たとえば、開始Bluetoothデバイス)は、他方のBluetoothデバイス(たとえば、宛先Bluetoothデバイス)が、いつ開始Bluetoothデバイスのしきい値距離内にあるか(「近距離タッチ」または「近接度ベースタッチ」)を判断するために近距離検出機構を使用することができる。さらに、アプリケーション上でのユーザのタスクコンテキストおよび物理動作が検出され得、そのアプリケーションに関するユーザの意図(本明細書では「コンテキストタスク」と呼ぶ)が予測され得る。コンテキストタスクは、近距離タッチと併せて、開始Bluetoothデバイスと宛先Bluetoothデバイスとの間のBluetooth通信リンクを確立することと、コンテキストタスクを実行することとを行うために使用され得る。コンテキストタスクと近距離タッチとに少なくとも部分的に基づいてBluetoothデバイス間のBluetooth通信リンクを確立するためのそのような自動機構は、複雑なメニューオプションと比較して、ユーザが発見、ペアリング、および接続のプロシージャを開始するためのプロセスを簡略化することができ、Bluetooth通信リンクを確立するための動作を簡略化し、高速化することができ、構成ステップを著しく低減するかまたはなくし得、ユーザにとっての不便を低減することができる。たとえば、ユーザの見地から、カメラからラップトップ上に写真をアップロードするために、ユーザは、カメラをラップトップのしきい値距離内に配置し得る。ラップトップは、カメラからピクチャを自動的に(またはユーザコマンドで)ダウンロードし得る。
【0034】
図1は、ワイヤレス通信デバイス間の通信リンクを確立するためのコンテキストアウェアネス近接度ベース機構を示す例示的な概念図である。
図1は、通信デバイス102および110を示している。通信デバイス102は、デバイス検出ユニット104と、接続確立ユニット106と、コンテキストアウェアネスユニット108とを備える。
図1では、通信デバイス102は、(宛先デバイスと呼ばれる)別の通信デバイスとの通信/接続を開始する(たとえば、タッチ走査プロシージャを開始する)開始デバイスと呼ばれることがある。
図1に示す例では、通信デバイス110は、開始デバイス102が、それとの近距離タッチ(または近接度ベースタッチ)を検出し、その後それとの通信リンクを確立する、宛先デバイスであり得る。一実施形態では、開始デバイス102および宛先デバイス110は、Bluetoothデバイスであり得る。別の実施形態では、開始デバイス102および宛先デバイス110は、1つまたは複数の通信ユニット(たとえば、Bluetooth通信ユニット、WLAN通信ユニットなど)を備える電子デバイスであり得る。いくつかの実装形態では、開始デバイス102および宛先デバイス110は、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイルフォン、ネットブック、タブレットコンピュータ、ゲームコンソール、Bluetoothカーキット、テレビジョンセットトップボックス、ホームメディアセンター、アクセスポイント、Bluetooth周辺デバイス(たとえば、Bluetoothヘッドセット、Bluetoothマウス)、または他の好適な電子デバイスであり得る。
図1には示されていないが、通信ユニット110も、デバイス検出ユニットと、接続確立ユニットと、コンテキストアウェアネスユニットとを備え得ることに留意されたい。段階A〜Eにおいてさらに後述するように、開始デバイス102は、宛先デバイス110の近接度に基づいて近距離タッチを検出するための、および宛先デバイス110との通信リンクを確立するための、機能を実行することができる。
【0035】
段階Aにおいて、コンテキストアウェアネスユニット108は、アプリケーションに関連するコンテキストタスクを実行することを判断したことに応答して、タッチ走査プロシージャを開始する。いくつかの実装形態では、コンテキストアウェアネスユニット108は、開始デバイス102上で現在実行されているタスクまたはアプリケーションのコンテキスト(「コンテキストタスク」)をキャプチャすることができる。コンテキストアウェアネスユニット108は、コンテキストタスクを識別したことに応答して、タッチ走査プロシージャを開始するようにデバイス検出ユニット104に促すことができる。一実装形態では、開始デバイス102上のアプリケーションを起動すること(またはタスクを実行すること)が、コンテキストタスクの検出をトリガし、したがってタッチ走査プロシージャをトリガすることができる。たとえば、コンテキストアウェアネスユニット108は、ピクチャビューイングアプリケーションが開始デバイス102上で起動されたと判断し、ピクチャが開かれ、ユーザに表示されていると判断し得る。したがって、コンテキストアウェアネスユニット108は、別のデバイス(たとえば、宛先デバイス110)にピクチャを転送することが、開始デバイス102に関連するコンテキストタスクを構成すると判断し得る。コンテキストアウェアネスユニット108は、次いで、タッチ走査プロシージャを開始することと、開始デバイス102のしきい値距離内の宛先デバイス110を識別することとを行うようにデバイス検出ユニット104に促し得る。別の例として、開始デバイス102上のボイスオーバーインターネットプロトコル(VOIP)アプリケーションが、VOIP呼を検出し得、ハンズフリー動作のためにVOIP呼をBluetoothヘッドセットにスイッチングすることを判断し得る。コンテキストアウェアネスユニット108は、Bluetoothヘッドセットに接続する動作をコンテキストタスクとして識別し得、したがってタッチ走査プロシージャが開始されることを引き起こし得る。別の実装形態では、コンテキストアウェアネスユニット108は、開始デバイス102によって利用され得るデータ/サービスを備える宛先デバイス110を識別するためにタッチ走査プロシージャを周期的に開始することができる。一実装形態では、タッチ走査プロシージャの一部として、コンテキストアウェアネスユニット108は、タッチ走査開始要求を送信し、開始Bluetoothデバイス102の近傍(vicinity)のBluetoothデバイスを走査するようにデバイス検出ユニット104をトリガすることができる。タッチ走査開始要求は、宛先デバイス110を走査することを開始すべきかどうか/いつ開始すべきかのインジケータと、アプリケーションに関連する識別子と、コンテキストタスクに関連する識別子とを含む、1つまたは複数のコンテキストタスクパラメータ、およびコンテキストタスクを記述する他のそのようなパラメータを備えることができる。
【0036】
段階Bにおいて、デバイス検出ユニット104は、宛先デバイス110および開始デバイス102が互いの所定のしきい値距離114内にあることを検出したことに応答して、近距離タッチイベントを生成する。いくつかの実装形態では、タッチ走査開始要求を受信したことに応答して、デバイス検出ユニット104は、開始Bluetoothデバイス102に近接した他のBluetoothデバイスを検出するために1つまたは複数のBluetooth通信チャネルを走査することができる。VOIP呼を受信したラップトップコンピュータがタッチ走査プロシージャを開始する、上記の例に関して、ユーザは、Bluetoothヘッドセットをそのコンピュータのほうへ移動することができる。上記コンピュータのデバイス検出ユニット104は、Bluetoothヘッドセットが上記コンピュータの所定の距離114内にあるとき、またはBluetoothヘッドセットが上記コンピュータに物理的にタッチするとき、上記コンピュータとBluetoothヘッドセットとの間の「近距離タッチ」を検出することができる。
図3において以下でさらに説明するように、一例では、デバイス検出ユニット104は、上記コンピュータとBluetoothヘッドセットとの間の近距離タッチを検出するために近距離通信(NFC)技法を採用することができる。したがって、デバイス検出ユニット104は、宛先デバイス110を識別する、検出された近距離タッチの指示(「近距離タッチイベント」)を生成することができる。デバイス検出ユニット104は、その近距離タッチイベントを接続確立ユニット106に与えることができる。一実装形態では、
図3〜
図4において以下で説明するように、近距離タッチイベントは、宛先デバイス110とのBluetooth通信リンクを確立するために使用される1つまたは複数のタッチパラメータを備えることができる。いくつかの実装形態では、開始デバイス102のみが、しきい値距離内の他の通信デバイスを検出するための機能を備え得る。他の実装形態では、宛先デバイス110も、しきい値距離内の他の通信デバイスを検出するための機能を備え得る。さらに、いくつかの実装形態では、宛先デバイス110の対応するデバイス検出ユニットも、タッチパラメータを含む近距離タッチイベントを生成し、宛先ユニット110の接続確立ユニットに与え得る。ただし、他の実装形態では、宛先デバイス110は近距離タッチイベントを生成しないことがある。
【0037】
段階Cにおいて、接続確立ユニット106は、宛先デバイス110に関連する1つまたは複数の接続パラメータを判断する。接続パラメータは、宛先デバイス110によってサポートされる通信プロトコル、宛先デバイス110に関連する1つまたは複数の無線ユニット(または通信ユニット)、無線ユニットに関連するオン/オフステータス、宛先デバイス110に関連するアドレスなど、の指示を備えることができる。たとえば、接続パラメータは、宛先デバイス110がBluetoothプロトコルとWLANプロトコルとをサポートすることを示し得る。接続パラメータは、Bluetooth無線ユニットは有効化され、WLAN無線ユニットは無効化されることをも示し得る。
【0038】
段階Dにおいて、接続確立ユニット106は、接続パラメータに少なくとも部分的に基づいて宛先デバイス110との通信リンクを確立する。開始デバイス102と宛先デバイス110は、接続パラメータに基づいておよび/またはタッチパラメータに基づいて1つまたは複数の通信リンクを確立するために、一連の接続メッセージを交換することができる。いくつかの実装形態では、通信リンクが確立された後、接続確立ユニット106は、通信リンクが確立されたことを(たとえば、宛先デバイス110に)示すためにタッチ要求メッセージを送信することができる。宛先デバイス110は、今度は、タッチ要求メッセージの受信に肯定応答するためにタッチ確認メッセージを送信することができる。いくつかの実装形態では、
図3においてさらに後述するように、開始デバイス102と宛先デバイス110は、実行されるべきである1つまたは複数のコンテキストタスクを識別するためにタッチ交換メッセージをも交換することができる。いくつかの実装形態では、開始デバイス102と宛先デバイス110はまた、以下でさらに説明するように、(利用可能な場合)複数のコンテキストタスクに関連する優先順位を交渉するために、および複数のコンテキストタスクの各々が実行されることになる順序を判断するために、タッチ交渉メッセージを交換し得る。
【0039】
段階Eにおいて、開始デバイス102はコンテキストタスクを実行する。一実装形態では、
図3〜
図9において以下でさらに説明するように、接続確立ユニット106が開始デバイス102と宛先デバイス110との間の通信リンクを確立した後、コンテキストアウェアネスユニット108は、宛先デバイス110によってサポートされるサービスとプロトコルとのリスト(「サービスリスト」)を受信することができる。宛先デバイス110に関連するサービスリストとコンテキストタスクとに少なくとも部分的に基づいて、コンテキストアウェアネスユニット108は、宛先デバイス110が、コンテキストタスクを実行するために開始デバイス102が使用することになるサービスとプロトコルとをサポートするかどうかを判断することができる。宛先デバイス110が上記サービスとプロトコルとをサポートする場合、コンテキストアウェアネスユニット108は、アプリケーションがコンテキストタスクを実行する(たとえば、宛先デバイス110にピクチャを送信する)ことを引き起こすことができる。
【0040】
図1において説明した動作は例であることに留意されたい。他の実装形態では、宛先デバイス110は、開始デバイス102に関連するサービスリストを分析することができ、コンテキストタスクを実行すべきかどうかを判断することができる。たとえば、宛先デバイス110が、開始デバイス102がコンテキストタスクを実行するために(たとえば、宛先デバイス110によって)利用され得るサービスとプロトコルとをサポートすると判断した場合、開始デバイス102は、そのサービス/データを受信する(たとえば、スマートポスターからコンテンツを受信する、Bluetoothヘッドセットに接続する、など)ことができる。近距離タッチベース接続確立プロシージャのこのおよび他の変形形態については、
図3〜
図9においてさらに後述する。
【0041】
図2は、BluetoothおよびWLANの無線を備える通信デバイスのネットワークプロトコルアーキテクチャ200の一実施形態を示す概念図である。
図2の例では、通信デバイスは、別の通信デバイスとの通信リンクを検出し、確立するために、近距離通信(NFC)を採用する。ネットワークプロトコルアーキテクチャ200は、NFCインターフェース202と、低エネルギー(LE:low energy)Bluetoothインターフェース204と、基本レート/拡張データレート(BR/EDR:basic rate/enhanced data rate)Bluetoothインターフェース206と、802.11(たとえば、WLAN)インターフェース208とを含む物理レイヤを備える。ネットワークプロトコルアーキテクチャ200は、NFCインターフェース202上で動作するNFCスタック222と、NFCスタック222上で動作する従来のNFCアプリケーション230とを含む。ネットワークプロトコルアーキテクチャ200はまた、802.11インターフェース208上で動作するWi−Fi Directスタック212と従来のWi−Fiフレームワーク210とを備える。いくつかの実装形態では、
図2に示すように、ネットワークプロトコルアーキテクチャ200は近距離通信プロトコルアダプテーションレイヤ(NFC PAL:near field communication protocol adaptation layer)220を備えることができる。NFC PAL220は、NFCスタック222の実装形態を抽出することができ、Bluetoothホストコントローラインターフェース(HCI:host controller interface)216中のNFCチップセットにアクセスするために標準インターフェースを定義することができる。他の実装形態では、ネットワークプロトコルアーキテクチャ200はNFC PAL220を備えないことがある。代わりに、NFC PAL220の機能はNFCスタック222に組み込まれ得る。
【0042】
いくつかの実装形態では、ネットワークプロトコルアーキテクチャ200は、Wi−Fi Directスタック212上で動作するWi−Fi Direct PAL(WFD PAL)214を備えることができる。WFD PAL214は、802.11インターフェース208にアクセスするために(HCI216とL2CAP218とを含む)Bluetoothスタックのための標準インターフェースを定義する802.11 PALを備えることができる。WFD PAL214は、Wi−Fi Directスタック212を介して直接デバイス発見および接続セットアップをサポートするように802.11 PALを拡張するための機能をも備えることができる。ネットワークプロトコルアーキテクチャ200は、WFD PAL214と、BR/EDRインターフェース206と、LEインターフェース204との上で動作する、HCI216と論理リンク制御およびアダプテーションプロトコル(L2CAP:logical link control and adaptation protocol)218とをも備えることができる。上位プロトコルレイヤでは、ネットワークプロトコルアーキテクチャ200は、L2CAP218とHCI216との上で動作する、一般アクセスプロファイル(GAP:generic access profile)224とサービス発見アプリケーションプロファイル(SDAP:service discovery application profile)226とを備えることができる。いくつかの実装形態では、HCI216の機能は、所定のしきい値距離内のNFCデバイスまたはNFCタグを走査するためのトリガリング動作または停止動作を有効化すること、宛先デバイスとの通信リンクのセットアップと切断とを(たとえば、アプリケーションなどの上位プロトコルレイヤに)報告することを有効化すること、データを読み取ることまたは書き込むことを有効化することなどを行うように拡張され得る。HCI216はまた、タッチ走査プロシージャによって生成された通知とデータとを近距離タッチプロファイル228に与えるように構成され得る。近距離タッチプロファイル228は、HCI216と、GAP224と、SDAP226との上で動作するように構成され得る。近距離タッチプロファイル228は、近距離タッチイベントを収集することと、宛先デバイス110との適切な通信リンクを接続確立ユニット106に確立させることとを行うように構成され得る。近距離タッチプロファイル228は、適切な通信リンクを確立するために、下位プロトコルレイヤとともに、アプリケーション(たとえば、近距離タッチプロファイル228上で動作するBluetoothアプリケーション232、Wi−Fi Directアプリケーション234、および/または従来のWi−Fiアプリケーション236)によって生成されたコンテキストタスクを協調させるように構成され得る。
【0043】
図2には示されていないが、いくつかの実装形態では、通信デバイスはBluetooth通信プロトコルのみを実装することがある。
図2を参照すると、通信デバイスはWLAN通信プロトコルを実装しないことがあり、ネットワークプロトコルアーキテクチャ200は、802.11インターフェース208と、Wi−Fi Directスタック212と、WFD PAL214と、従来のWi−Fiフレームワーク210と、Wi−Fi Directアプリケーション234と、従来のWi−Fiアプリケーション236とを備えないことがある。同様に、いくつかの実装形態では、通信デバイスはWLAN通信プロトコルのみを実装することがある。さらに、
図2は、近距離タッチイベントを検出するための、NFCインターフェース202と、NFCスタック222と、NFC PAL220とを備えるNFCタッチ検出モジュールを示しているが、実施形態はそのように限定されない。他の実施形態では、ネットワークプロトコルアーキテクチャ200は、2つの通信デバイス間の近接度を検出するように構成された他の好適なタッチ検出モジュール(たとえば、赤外線(IR)センサー、IRインターフェース、IR通信スタックなどを備える、IRタッチ検出モジュール、または他のセンサー機構)を備えることができる。
【0044】
図3および
図4に、開始通信デバイスがコンテキストタスクと近距離タッチとに基づいて通信リンクを確立する、例示的な動作を示す流れ図(「フロー」)300を示す。フロー300は
図3中のブロック302において開始する。
【0045】
ブロック302において、開始デバイスが、コンテキストタスクを実行することを判断する。
図1の例を参照すると、開始デバイス102のコンテキストアウェアネスユニット108は、コンテキストタスクを検出したことに基づいて、1つまたは複数の動作を実行する(たとえば、別の通信デバイスとコンテンツを交換するなど)ことを判断することができる。
図1において上記で説明したように、コンテキストアウェアネスユニット108は、開始デバイス102上で現在実行されているアプリケーションに関して実行されるべきである動作を判断するために(すなわち、コンテキストタスクを判断するために)そのアプリケーション(またはユーザが開始したタスク)のコンテキストをキャプチャすることができる。一例では、
図6において後述するように、ユーザは、ピクチャビューイングアプリケーションを起動し得、ピクチャビューイングアプリケーションによって表示のためにピクチャを開き得る。コンテキストアウェアネスユニット108は、それに応じて、そのピクチャを宛先デバイス(たとえば、
図1の宛先デバイス110)に転送するための動作をコンテキストタスクとして識別することができる。コンテキストアウェアネスユニット108はまた、後続の近距離タッチプロシージャおよび接続確立プロシージャが、ピクチャビューイングアプリケーションとピクチャ転送動作とのコンテキストにおいて実行されるべきであると判断することができる。
図7において以下で説明する別の例では、ラップトップコンピュータ(たとえば、開始デバイス102)が、VOIP呼を受信したことに応答してVOIPアプリケーションを起動し得る。VOIPアプリケーションを起動することは、(たとえば、Bluetoothヘッドセットに接続するための)ハンズフリーオーディオゲートウェイサービスのためのコンテキストタスクをトリガすることができる。フローはブロック304に進む。
【0046】
ブロック304において、1つまたは複数のコンテキストタスクパラメータを備えるタッチ走査開始要求を生成する。一実装形態では、コンテキストアウェアネスユニット108は、アプリケーションに関連する保留中の(pending)コンテキストタスクを検出したことに応答して、タッチ走査開始要求を生成することができる。たとえば、コンテキストアウェアネスユニット108は、ピクチャビューイングアプリケーションが送信されることになるピクチャを表示していると判断したことに応答して、タッチ走査開始要求を生成することができる。別の例として、コンテキストアウェアネスユニット108は、VOIP呼を検出したことと、ハンズフリー動作のためにBluetoothヘッドセットに接続することを判断したこととに応答して、タッチ走査開始要求を生成することができる。別の例として、コンテキストアウェアネスユニット108は、アプリケーション(たとえば、モバイルフォン上のウェブブラウザ)がスマートポスターに関連するデータを要求していると判断したことに応答して、タッチ走査開始要求を生成することができる。別の実装形態では、コンテキストアウェアネスユニット108は、開始デバイス102のためのデータ/サービスを備える宛先デバイス110を識別するために、周期的間隔でタッチ走査開始要求を生成することができる。タッチ走査開始要求は、走査開始フラグ、および/またはいつタッチ走査プロシージャを開始すべきかのインジケータ(すなわち、宛先デバイス110を走査し始めるべき瞬間)を備えることができる。さらに、コンテキストタスクパラメータは、コンテキストタスクに関連するアプリケーションの識別子、コンテキストタスクに関連するアプリケーションタスククラス識別子、および好適な通信チャネルを含むことができる。好適な通信チャネルは、(たとえば、コンテキストタスクを実行するために)アプリケーションがそれを介してコンテンツを転送することを選好する通信チャネルを示すことができる。以下で説明するように、接続確立ユニット106は、好適な通信チャネル上で宛先デバイス110との通信リンクを確立することを試みることができる。コンテキストタスクパラメータは、好適な通信プロトコル(たとえば、Bluetooth通信プロトコル、WLAN通信プロトコルなど)の指示をも備えることができる。フローはブロック306に進む。
【0047】
ブロック306において、タッチ走査開始要求に応答してタッチ走査プロシージャを開始する。たとえば、コンテキストアウェアネスユニット108は、デバイス検出ユニット104にタッチ走査開始要求を与えることができる。タッチ走査開始要求を受信したことに応答して、デバイス検出ユニット104は、タッチ走査プロシージャを開始することができ、宛先デバイス110との近距離タッチを検出するために1つまたは複数の通信チャネルを監視することができる。フローはブロック308に進む。
【0048】
ブロック308において、開始デバイスが宛先デバイスのしきい値距離内にあるかどうかが判断される。たとえば、デバイス検出ユニット104は、開始デバイス102および宛先デバイス110が互いのしきい値距離114内にあるかどうかを判断することができる。一実装形態では、デバイス検出ユニット104は、宛先デバイス110が開始デバイス102のしきい値距離内にあるかどうかを検出するために近距離通信(NFC)技法を使用するNFCユニットを備えることができる。別の実装形態では、デバイス検出ユニット104は、開始デバイス102と外部で結合され得る(またはそれと統合され得る)1つまたは複数のセンサーを備えることができる。たとえば、デバイス検出ユニット104は、接近しているユーザ(たとえば、ユーザの手)またはデバイスを検出するセンサー、宛先デバイス110に関連する振動を検出する振動検出センサー、サーマルイメージングセンサー、IRセンサー、あるいは宛先デバイス110が開始デバイス102のしきい値距離内にあるかどうかを判断するための他の好適なセンサーを備えることができる。別の実装形態では、デバイス検出ユニット104は、宛先デバイス110が開始デバイス102のしきい値距離内にあるかどうかを判断するために、上述の技法のうちの2つ以上の組合せ(たとえば、振動検出センサーと併せてIRセンサー)を採用することができる。別の実装形態では、デバイス検出ユニット104は、宛先デバイス110が開始デバイス102のしきい値距離内にあるかどうかを判断するために、他の好適な技法を採用することができる。宛先デバイス110を検出するために上記検出技法のうちのどれが採用されるかは、開始デバイス102の実装形態、検出精度と、検出感度と、応答時間と、セキュリティと、消費される電力とを含む1つまたは複数の検出要件などに依存し得る。開始デバイス102と宛先デバイス110との間のしきい値距離114は、(1つまたは複数の)採用される検出技法と、開始デバイス102によって採用されるセンサー(もしあれば)と、開始デバイス102の検出要件と、他のそのようなファクタとに基づいて判断され得る。たとえば、しきい値距離114は、デバイス検出ユニット104が宛先デバイス110を検出するためにNFC技法を使用する場合、4cmであり得る。開始デバイス102および宛先デバイス110が互いのしきい値距離114内にあると判断された場合、デバイス検出ユニット104は、開始デバイス102と宛先デバイス110との間の近距離タッチが検出されたと判断する。したがって、フローはブロック310に進む。他の場合、フローはブロック308にループバックし、デバイス検出ユニット104は、開始デバイス102および宛先デバイス110が互いのしきい値距離114内にあるかどうかを判断するために走査動作を続けることができる。
【0049】
ブロック310において、1つまたは複数のタッチパラメータを備える近距離タッチイベントを生成する。一実装形態では、デバイス検出ユニット104は、開始デバイス102および宛先デバイス110が互いのしきい値距離114内にあると判断したことに応答して、近距離タッチイベントを生成することができる。別の実装形態では、デバイス検出ユニット104は、開始デバイス102と宛先デバイス110との間の物理的な接触を検出したことに応答して、近距離タッチイベントを生成することができる。近距離タッチイベントは、宛先デバイス110が開始デバイス102のしきい値距離114内にあったのか開始デバイス102と接触していたのかを示すフラグを備えることができる。近距離タッチイベントは、開始デバイス102と宛先デバイス110との間の通信リンクをその後確立するために使用され得る(以下でさらに説明する)1つまたは複数の他のタッチパラメータをも備えることができる。
【0050】
一例では、タッチパラメータは、開始デバイス102と宛先デバイス110との間の近距離タッチに関連するタイミングを備えることができる。一実装形態では、タッチパラメータは、(たとえば、近距離タッチの持続時間が所定の時間期間よりも少ないときの)短いタッチが検出されたのか(たとえば、近距離タッチの持続時間が所定の時間期間よりも大きいときの)長いタッチが検出されたのかを示すことができる。たとえば、WLANアクセスポイントは、構成機能と接続機能とを備え得る。ユーザは、そのWLANアクセスポイントにWLAN対応フォンをタッチさせ得る。短いタッチは、WLAN対応フォンがWLANアクセスポイントに接続するための許可を要求していることを(たとえば、WLANアクセスポイントに)示すことができ、WLANアクセスポイントは、それに応じて接続機能を実行し得る。長いタッチは、WLAN対応フォンが(たとえば、別の通信デバイスにフォワーディングするための)WLANアクセスポイントに関連する構成パラメータを要求していることを(たとえば、WLANアクセスポイントに)示すことができる。
【0051】
さらに、タッチパラメータは、開始デバイス102と宛先デバイス110との間の近距離タッチに関連する位置と方向とを備えることができる。言い換えれば、タッチパラメータは、開始デバイス102に対する宛先デバイス110の位置と方向とを示すために使用され得る。いくつかの実装形態では、デバイス検出ユニット104は、1つまたは複数のNFCタグのセットとして実装され得る。タッチパラメータは、1つまたは複数のNFCタグに対する宛先デバイス110の位置を示すことができる。たとえば、コンピュータが、それの4つのコーナーの各々においてNFCタグを備えることができる。タッチパラメータは、宛先デバイス110がそれにタッチさせられたNFCタグを(たとえば、タグIDを使用して)識別するか、またはそのNFCタグの位置(たとえば、左上コーナータグ)を識別することができる。いくつかの実装形態では、複数のNFCタグの各々が、異なる機能に関連付けられ得る。たとえば、宛先デバイス110を開始デバイス110の第1のNFCタグとタッチさせることにより、開始デバイス110に、同期動作を実行させることができる。別の例として、宛先デバイス110を開始デバイス110の第2のNFCタグにタッチさせることにより、開始デバイス110に、宛先デバイス110にファイルを送信させることができる。別の実装形態では、宛先デバイス110の位置と方向とを検出するために、NFCタグの代わりに任意の好適なセンサー(たとえば、圧力センサー、IRセンサー、振動センサーなど)が採用され得る。
【0052】
タッチパラメータは、開始デバイス102と宛先デバイス110との間の近距離タッチに関連するパターンをも示すことができる。一実装形態では、ユーザは、宛先デバイス110を開始デバイス102に1回のみタッチさせて、それら2つのデバイス間の通信リンクを確立し得る。しかしながら、他の実装形態では、ユーザは、1つまたは複数のNFCタグなどにおける、一連の短いタッチと長いタッチとを備えるマルチタッチパターンに従って、宛先デバイス110を開始デバイス102にタッチさせ得る。たとえば、開始デバイス102が2つのNFCタグを備える場合、タッチパターンは、第1のNFCタグとの短いタッチと、第2のNFCタグとの短いタッチと、第1のNFCタグとの長いタッチとを備えることができる。いくつかの実装形態では、各タッチパターンも、異なる機能に関連付けられ得る。デバイス検出ユニット104は、短いタッチおよび長いタッチの各々、タッチさせられたNFCタグなどを検出することができ、対応するタッチパターンを識別することができる。デバイス検出ユニット104は、識別されたタッチパターンの指示を接続確立ユニット106に通信することができる。他の実装形態では、近距離タッチイベントが、開始デバイス102と宛先デバイス110との間の近距離タッチを記述する他の好適なパラメータを示すことができることに留意されたい。いくつかの実装形態では、デバイス検出ユニット104は、タッチ走査プロシージャが開始された通信デバイスをも(たとえば、接続確立ユニットに)示し得る。フローはブロック312に進む。
【0053】
ブロック312において、宛先デバイスと1つまたは複数の接続パラメータを交換する。いくつかの実装形態では、接続確立ユニット106は、デバイス検出ユニット104からタッチパラメータを含む近距離タッチイベントを受信することができる。いくつかの実装形態では、接続確立ユニット106は、宛先デバイス110に関連する接続パラメータを要求し、アクティブに受信することができる。別の実装形態では、接続確立ユニット106は、宛先デバイス110に関連する接続パラメータをパッシブに受信することができる。宛先デバイス110に関連する接続パラメータは、宛先デバイス110によってサポートされる通信プロトコル、宛先デバイス110に関連する無線ユニット、無線ユニットに関連するオン/オフステータス、宛先デバイス110に関連するアドレス(たとえば、Bluetoothアドレス、802.11アドレスなど)を含むことができる。いくつかの実装形態では、接続確立ユニット106は、通信リンクが確立された後に実行されることになるコンテキストタスクの知識に基づいて、確立されるべきである通信リンクのタイプをも判断することができる。たとえば、接続確立ユニット106は、Bluetoothヘッドセットが検出されたと判断し、着信VOIP呼がBluetoothヘッドセットに転送されることになると判断し得る。したがって、接続確立ユニット106は、Bluetoothヘッドセットとのハンズフリープロファイル(HFP:hands-free profile)ベース通信リンクを確立することを試みることができる。フローはブロック314に進む。
【0054】
ブロック314において、タッチイベントパラメータおよび/または接続パラメータに基づいて開始デバイスと宛先デバイスとの間に通信リンクを確立する。いくつかの実装形態では、接続確立ユニット106は、宛先デバイス110とともに確立されるべきである通信リンクのタイプを判断することができる。通信リンクのタイプは、コンテキストタスクパラメータ(たとえば、ブロック304において判断されたアプリケーションおよび/またはタスク識別子)、タッチパラメータ(たとえば、ブロック310において判断されたタッチタイミングおよび/またはパターン)、および/または接続パラメータ(たとえば、ブロック312において判断された、宛先デバイスによってサポートされるプロトコル)に依存し得る。一実装形態では、接続確立ユニット106は、(ブロック304において判断された)好適な通信チャネルおよび/または好適な通信プロトコル上で宛先デバイス110との通信リンクを確立することを試みることができる。たとえば、接続確立ユニット106は、コンテキストタスクに関連するアプリケーションがBluetooth通信プロトコルを選好した場合、および宛先デバイス110に関連するBluetooth無線ユニットが有効化される場合、Bluetooth通信リンクを確立し得る。別の例として、接続確立ユニット106は、コンテキストタスクに関連するアプリケーションがBluetooth通信プロトコルを選好した場合でも、宛先デバイス110に関連するBluetooth無線ユニットが無効化されると判断された場合、Bluetooth通信リンクを確立しないことを判断することができる。代わりに、好適な通信リンク(たとえば、この例では、Bluetooth通信リンク)が確立され得ない場合、接続確立ユニット106は代替通信リンク(たとえば、WLAN通信リンク)を確立することができる。別の例として、コンテキストタスクに関連するアプリケーションは、高速Wi−Fi Direct通信チャネルに対する選好を示し得る。接続確立ユニット106が、(たとえば、宛先デバイス110が高データレート通信をサポートしないかまたはWi−Fi Directプロトコルをサポートしないので)高データレートWi−Fi Direct通信チャネルが確立され得ないと判断した場合、接続確立ユニット106は、より低いBR/EDRの通信チャネルを確立することができる。
【0055】
いくつかの実装形態では、接続確立ユニット106は、通信リンクが確立された後、宛先デバイス110と1つまたは複数のタッチ制御メッセージを交換することができる。たとえば、接続確立ユニット106は、開始デバイス102と宛先デバイス110との間の通信リンクが確立されたことを示すために、宛先デバイス110にタッチ要求メッセージを送信することができる。接続確立ユニット106は、宛先デバイス110におけるタッチ要求メッセージの受信に肯定応答するタッチ確認メッセージを受信することができる。接続確立ユニット106は、実行されるべきである1つまたは複数のコンテキストタスクを識別するために、宛先デバイス110にタッチ交換メッセージを送信し得る。たとえば、接続確立ユニット106は、ピクチャが宛先デバイス110に送信されることになることを示すために、宛先デバイス110にタッチ交換メッセージを送信することができる。別の例として、接続確立ユニット106は、VOIP呼コンテキストタスクが、保留中であり、宛先デバイス110によって扱われるべきであることを示すために、宛先デバイス110にタッチ交換メッセージを送信することができる。接続確立ユニット106はまた、複数のコンテキストタスクに関連する優先順位を交渉するために、および複数のコンテキストタスクの各々が実行されるべきである順序を判断するために、宛先デバイス110とタッチ交渉メッセージを交換することができる。開始デバイス102と宛先デバイス110との間の通信リンクが確立された後、フローは
図4中のブロック316に進む。
【0056】
ブロック316において、コンテキストタスクに関連するデータ/サービスが開始デバイスによって与えられることになるかどうかが判断される。たとえば、コンテキストアウェアネスユニット108は、開始デバイス102上のアプリケーションが宛先デバイス110に与えられることになるデータ/サービスを備えるかどうか、または開始デバイス102上のアプリケーションが宛先デバイス110によって与えられるデータ/サービスを要求しているかどうかを判断することができる。たとえば、
図6において後述するように、コンテキストアウェアネスユニット108は、開始デバイス102上のピクチャビューイングアプリケーションが宛先デバイス110に送信されることになるデータ(たとえば、ピクチャ)を備えると判断することができる。別の例では、
図7において後述するように、コンテキストアウェアネスユニット108は、開始デバイス102上のVOIPアプリケーションが宛先デバイス110(たとえば、Bluetoothヘッドセット)によって与えられるハンズフリー通信サービスを利用すると判断することができる。別の例では、
図8において後述するように、コンテキストアウェアネスユニット108は、開始デバイス102上のアプリケーション(たとえば、モバイルフォン上のウェブブラウザ)がスマートポスター(たとえば、宛先デバイス110)に関連するデータを要求していると判断することができる。コンテキストタスクに関連するデータ/サービスが開始デバイス102によって与えられることになると判断された場合、フローはブロック318に進む。他の場合、フローはブロック320に進む。
【0057】
ブロック318において、コンテキストタスクに関連するデータ/サービスが宛先デバイスによって与えられることになる場合、宛先デバイスに開始デバイスに関連するサービスリストを与える。開始デバイス102が宛先デバイス110からデータ/サービスを要求していると判断したことに応答して、フロー300はブロック316からブロック318に移動し、コンテキストアウェアネスユニット108が、宛先デバイス110に開始デバイス112に関連するサービスリストを与えることができる。たとえば、モバイルフォン(すなわち、開始デバイス102)は、スマートポスター(すなわち、宛先デバイス110)がモバイルフォンにデータを与えることになると判断し得る。したがって、モバイルフォンのコンテキストアウェアネスユニット108は、モバイルフォンに関連するサービスリストを(たとえば、自動的に、またはスマートポスターからのサービスリスト要求に応答して)与えることができる。別の例では、
図5において以下で説明するように、宛先デバイス110は、開始デバイス102に関連するサービスリストに応じて、開始デバイス102にサービス(たとえば、ハンズフリー通信サービス)を与えることも与えないこともある。フローはブロック324に進む。
【0058】
ブロック320において、コンテキストタスクに関連するデータ/サービスが開始デバイスによって与えられることになる場合、開始デバイスは、宛先デバイスによってサポートされる1つまたは複数のサービスを示す、宛先デバイスに関連するサービスリストを受信する。フロー300は、開始デバイス102が宛先デバイス110にデータ/サービスを与えることになると判断したことに応答して、ブロック316からブロック320に移動する。いくつかの実装形態では、コンテキストアウェアネスユニット108は、宛先デバイス110によってサポートされる1つまたは複数のサービスについての要求を送信することができる。それに応答して、コンテキストアウェアネスユニット108は、宛先デバイス110からサービスリストを受信することができる。たとえば、コンテキストアウェアネスユニット108は、宛先デバイス110が開始デバイス102からピクチャを受信するためのプロトコルとサービスと(たとえば、オブジェクトプッシュプロファイル)をサポートするかどうかを判断するために、宛先デバイス110に関連するサービスリストを要求し、受信することができる。いくつかの実装形態では、コンテキストアウェアネスユニット108は、宛先デバイス110によってサポートされるサービスとプロトコルとを発見するためにSDAPプロシージャを採用することができる。フローはブロック322に進む。
【0059】
ブロック322において、宛先デバイスに関連するサービスリストに少なくとも部分的に基づいて、コンテキストタスクが実行されるべきであるかどうかが判断される。フロー300は、宛先デバイス110に関連するサービスリストを受信したことに応答して、ブロック320からブロック322に移動する。一実装形態では、コンテキストアウェアネスユニット108は、コンテキストタスク、コンテキストタスクパラメータ、および/または宛先デバイス110に関連するサービスリストに少なくとも部分的に基づいて、宛先デバイス110がコンテキストタスクを実行するために開始デバイス102によって利用され得るサービスとプロトコルとをサポートするかどうかを判断することができる。コンテキストアウェアネスユニット108は、1つまたは複数のコンテキストタスクパラメータ(たとえば、アプリケーション識別子、アプリケーションタスク識別子など)を判断し、データストア(たとえば、タスク分類テーブル)にアクセスし、対応するコンテキストタスクを実行するために利用され得るサービスとプロトコルとを判断し得る。コンテキストアウェアネスユニット108は、(たとえば、宛先デバイス110から受信されたサービスリストに基づいて)宛先デバイス110がこれらのサービスとプロトコルとをサポートするかどうかを判断し得る。一例では、
図6において後述するように、コンテキストアウェアネスユニット108は、開始デバイス102がオブジェクトプッシュプロファイルプロシージャを使用してピクチャを送信することになると判断し得、宛先デバイス110が宛先デバイス110においてピクチャを受信するためのオブジェクトプッシュプロファイルをサポートするかどうかを判断することができる。別の例として、
図9において後述するように、コンテキストアウェアネスユニット108は、開始コンピュータ102が宛先Bluetoothマウスとのヒューマンインターフェースデバイスプロファイル(HID)接続を確立することを試みていると判断し得、HIDサービスが宛先Bluetoothマウス110において有効化されるかどうかを判断することができる。コンテキストタスクが実行されるべきであると判断された場合、フローはブロック324に進む。そうではなく、コンテキストタスクが実行されるべきでないと判断された場合、フローは終了する。
【0060】
ブロック324において、コンテキストタスクに従って宛先デバイスとコンテンツを交換する。フロー300は、コンテキストタスクが実行されるべきであると判断された場合、ブロック322からブロック324に移動する。いくつかの実装形態では、コンテキストアウェアネスユニット108は、タッチパラメータ、宛先デバイス110に関連するサービスリスト、および/またはコンテキストタスクに基づいて、開始デバイス102と宛先デバイス110との間に通信リンクが確立された後にどの動作が実行されるべきであるかを判断することができる。ピクチャビューイングアプリケーションを備える開始デバイス102が宛先デバイス110との通信リンクを確立する、上記の例を参照すると、コンテキストアウェアネスユニット108は、開始デバイス102上で閲覧されているピクチャが宛先デバイス110に送信されるべきであると判断することができる。宛先デバイス110がピクチャを受信するためのプロトコルとサービスとをサポートすると(ブロック322において)判断したことに応答して、コンテキストアウェアネスユニット108は、コンテキストタスクを実行するようにアプリケーションをトリガすることができる。上記の例を参照すると、アプリケーションは、ピクチャが宛先デバイス110に送信されるべきであるかどうかを確認するようにユーザに促す通知を提示することができる。ユーザから確認を受信したことに応答して、アプリケーションは、(たとえば、オブジェクトプッシュプロファイルを使用して)宛先デバイス110にピクチャを送信することができる。別の例として、HIDサービスが宛先Bluetoothマウス110において有効化されると判断したことに応答して、コンテキストアウェアネスユニット108は、開始デバイス102(たとえば、コンピュータ)に関連するHIDハンドラをトリガすることができる。コンピュータ102は、今度は、宛先Bluetoothマウス110とのHID接続を確立することができる。
【0061】
さらに、フロー300はまた、開始デバイス102に関連するサービスリストが宛先デバイス110に与えられた後、ブロック318からブロック324に移動する。たとえば、
図7において後述するように、コンテキストアウェアネスユニット108は、開始デバイス102上のVOIPアプリケーションがハンズフリー通信サービス(たとえば、HFPサービス)をサポートすると判断し、BluetoothヘッドセットがHFPサービスに関連するコンテキストタスクを処理するために登録されたと判断し得る。コンテキストアウェアネスユニット108は、Bluetoothヘッドセットがコンテキストタスク(たとえば、VOIP呼をピックアップすること)を処理することができるように、そのコンテキストタスクを提唱することができる。(VOIPアプリケーションを備える)開始デバイス102は、宛先Bluetoothヘッドセット110によって与えられるハンズフリー通信サービスを要求するために宛先Bluetoothヘッドセット110との通信リンクを確立し得る。宛先Bluetoothヘッドセット110は、開始デバイス102と宛先デバイス110の両方がHFPサービスをサポートすると判断することに少なくとも部分的に基づいて、開始デバイス102との接続を完了することができる。宛先Bluetoothヘッドセット110は、開始デバイス102上のVOIPアプリケーションにおいて受信された(またはそのVOIPアプリケーションによって生成された)VOIP呼をピックアップすることができ、HFPサービスを使用してハンズフリー通信サービスを与えることができる。ブロック324から、フローは終了する。
【0062】
図4のブロック316は、開始デバイス102が、それがコンテキストタスクに関連するデータ/サービスを与えることになるかどうかを判断することを示しているが、実施形態はそのように限定されないことに留意されたい。他の実施形態では、開始デバイス102はブロック316の動作を実行しないことがある。代わりに、開始デバイス102は、自動的に宛先デバイス102に(開始デバイス102に関連する)サービスリストを送信すること、または宛先デバイス102から(宛先デバイス110に関連する)サービスリストを受信することを行うように構成され得る。言い換えれば、フロー300は、開始デバイス102、宛先デバイス110、および/またはコンテキストタスクの構成に応じて、
図3中のブロック314からブロック318にまたはブロック320に自動的に移動することができる。さらに、明示的に説明していないが、ブロック314において説明した接続プロシージャは、(たとえば、Bluetoothデバイス間の)ペアリング動作および(たとえば、Bluetoothおよび/またはWLANデバイス間の)認証動作など、他の動作を備え得ることに留意されたい。
【0063】
図5は、宛先通信デバイスがコンテキストタスクと近距離タッチとに基づいて通信リンクを確立する、例示的な動作を示す流れ
図500である。フロー500はブロック502において開始する。
【0064】
ブロック502において、宛先デバイスが、宛先デバイスに関連する接続パラメータについての要求を受信する。一実装形態では、宛先デバイス110の接続確立ユニットが、宛先デバイス110に関連する接続パラメータについての要求を(たとえば、開始デバイス102から)受信し得る。いくつかの実装形態では、宛先デバイス110に関連する接続パラメータについての要求は、開始デバイス102が、宛先デバイス110が開始デバイス102のしきい値距離内にあることを検出したことに応答して、受信され得る。言い換えれば、開始デバイス102は、近距離タッチが開始デバイス102において検出されたことに応答して、接続パラメータについての要求を宛先デバイス110に送り得る。フローはブロック504に進む。
【0065】
ブロック504において、開始デバイスとの通信リンクを確立するために、開始デバイスに宛先デバイスに関連する接続パラメータを与える。一実装形態では、宛先デバイス110がアクティブなデバイス(たとえば、モバイルフォン)である場合、接続確立ユニットは、開始デバイス102に宛先デバイス110に関連する接続パラメータをアクティブに送信することができる。たとえば、宛先モバイルフォンが、それの接続パラメータをアクティブに送信し得る。別の実装形態では、宛先デバイス110はパッシブなデバイス(たとえば、動作のためのエネルギー源を必要としないデバイス)であり得る。この例では、宛先デバイス110(たとえば、スマートポスター)に関連するNFCタグ(またはステッカー(sticker)、キーフォブ(key fob)、カード、または別のパッシブな構成要素)が、開始デバイス102に(たとえば、NFCタグの一部として記憶された)接続パラメータをパッシブに与えることができる。たとえば、宛先スマートポスターが、スマートポスターに関連する接続パラメータを(たとえば、NFCタグを介して)パッシブに送信することができる。
図1および
図3において上記で説明したように、接続パラメータは、宛先デバイス110に関連する識別子、宛先デバイス110によってサポートされる通信プロトコルなどを備えることができる。フローはブロック506に進む。
【0066】
ブロック506において、開始デバイスと宛先デバイスとの間に通信リンクを確立する。いくつかの実装形態では、宛先デバイスがアクティブなデバイスである場合、宛先デバイス110の接続確立ユニットは、開始デバイス102と宛先デバイス110との間の通信リンクを確立するために、開始デバイス102と1つまたは複数の接続メッセージを交換することができる。他の実装形態では、宛先デバイス110がパッシブなデバイスである場合、開始デバイス102は、宛先デバイス110との通信リンクを自動的に確立し得る。さらに、
図3において上記で説明したように、宛先デバイス110は、開始デバイス102と宛先デバイス110との間の通信リンクが確立されたことを示すタッチ要求メッセージを(たとえば、開始デバイス102から)受信し得る。宛先デバイス110は、タッチ確認メッセージを送信することによってタッチ要求メッセージの受信に肯定応答することができる。いくつかの実装形態では、上記で説明したように、宛先デバイス110はまた、それぞれ、1つまたは複数のコンテキストタスクを識別するために、および複数のコンテキストタスクを処理すべき順序を確認するために、タッチ交換メッセージおよびタッチ交渉メッセージを交換し得る。フローはブロック508に進む。
【0067】
ブロック508において、コンテキストタスクに関連するデータ/サービスが宛先デバイスによって与えられることになるかどうかが判断される。一実装形態では、
図4において上記で説明したように、宛先デバイス110のコンテキストアウェアネスユニットは、宛先デバイス110が開始デバイス102に与えられることになるデータ/サービスを備えるかどうか、または宛先デバイス110が開始デバイス102にデータ/サービスを要求しているかどうかを判断することができる。たとえば、宛先スマートポスター110が開始モバイルフォン102に送信されることになるデータを備えると判断され得る。別の例として、宛先モバイルフォン110が開始モバイルフォン102からピクチャを受信するのを待っていると判断され得る。コンテキストタスクに関連するデータ/サービスが宛先デバイス110によって与えられることになると判断された場合、フローはブロック512に進む。他の場合、フローはブロック510に進む。
【0068】
ブロック510において、コンテキストタスクに関連するデータ/サービスが開始デバイスによって与えられることになる場合、開始デバイスに宛先デバイスに関連するサービスリストを与える。たとえば、宛先デバイス110が開始デバイス102からデータ/サービスを要求していると判断したことに応答して、宛先デバイス110のコンテキストアウェアネスユニットは、開始デバイス102に宛先デバイス110に関連するサービスリストを与えることができる。いくつかの実装形態では、宛先デバイス110に関連するサービスリストは、開始デバイス102からサービスリスト要求を受信したことに応答して、与えられ得る。たとえば、宛先モバイルフォン110が、それのサービスリストを(たとえば、宛先モバイルフォンに送信されることになるデータを備える)開始モバイルフォン102に与えることができる。別の例として、宛先Bluetoothヘッドセット110が、単に、1つまたは複数のカテゴリーのコンテキストタスク(たとえば、HFPサービスに関連するコンテキストタスク)を処理するために登録し得、コンテキストアウェアネスユニット108は、それに応じて、宛先Bluetoothヘッドセット110によってサポートされるサービスを判断し得る。フローはブロック516に進む。
【0069】
ブロック512において、コンテキストタスクに関連するデータ/サービスが宛先デバイスによって与えられることになる場合、宛先デバイスは、開始デバイスに関連するサービスリストを受信する。フロー500は、宛先デバイス110が開始デバイス102にデータ/サービスを与えることになると判断したことに応答して、ブロック508からブロック512に移動する。いくつかの実装形態では、宛先デバイス110のコンテキストアウェアネスユニットは、開始デバイス102に関連するサービスリストを要求し、受信することができる。別の実装形態では、宛先デバイス110は、開始デバイス102に関連するサービスリストを(たとえば、宛先デバイス110が特に要求することなしに)自動的に受信することができる。別の実装形態では、宛先デバイス110は、開始デバイス102によってサポートされるサービスとプロトコルとを発見するためにSDAPプロシージャを採用することができる。たとえば、宛先スマートポスター110は、(たとえば、スマートポスターに関連するデータを要求する)開始モバイルフォン102に関連するサービスリストを受信することができる。フローはブロック514に進む。
【0070】
ブロック514において、コンテキストタスクが実行されるべきであるかどうかが判断される。フロー500は、開始デバイス102に関連するサービスリストを受信したことに応答して、ブロック512からブロック514に移動する。ブロック514において、開始デバイス102がコンテキストタスクを実行するために宛先デバイス110によって利用され得るサービスとプロトコルとをサポートするかどうかが判断され得る。
図4において上記で説明したように、宛先デバイス110は、コンテキストタスク、コンテキストタスクパラメータ、および/または開始デバイス102に関連するサービスリストに少なくとも部分的に基づいて、コンテキストタスクが実行されるべきであるかどうかを判断することができる。一例では、
図7において後述するように、宛先Bluetoothヘッドセット110は、HFP接続を確立することと、ハンズフリー通信を与えることとによってコンテキストタスクを実行するために、宛先Bluetoothヘッドセット110によって利用され得るハンズフリープロファイルオーディオゲートウェイ(HFP AG:hands free profile audio gateway)プロファイルを開始コンピュータ102がサポートすると判断し得る。別の例として、
図8において後述するように、宛先スマートポスター110は、開始モバイルフォン102にデータを送信することによってコンテキストタスクを実行するために、宛先スマートポスター110によって利用され得る適切なプロファイルを開始モバイルフォン102がサポートすると判断し得る。コンテキストタスクが実行されるべきであると判断された場合、フローはブロック516に進む。他の場合、フローは終了する。
【0071】
ブロック516において、コンテキストタスクに従って開始デバイスとコンテンツを交換する。フロー500は、コンテキストタスクが実行されるべきであると判断された場合、ブロック514からブロック516に移動する。
図4において上記で説明したように、宛先デバイス110は、タッチパラメータ、開始デバイス102に関連するサービスリスト、および/またはコンテキストタスクに基づいて、開始デバイス102と宛先デバイス110との間に通信リンクが確立された後にどの動作が実行されるべきであるかを判断することができる。たとえば、宛先スマートポスター110に関連するコンテキストアウェアネスユニットは、宛先スマートポスター110に、開始モバイルフォン102にデータを送信させることができる。別の例として、宛先Bluetoothヘッドセット110に関連するコンテキストアウェアネスユニットは、宛先Bluetoothヘッドセット110に、開始コンピュータ102とのHFP接続を確立させることと、開始コンピュータ102において検出されたVOIP呼をピックアップさせることができる。さらに、フロー500はまた、宛先デバイス110に関連するサービスリストが開始デバイス102に与えられた後、ブロック510からブロック516に移動する。この実施形態では、開始デバイス102は、ブロック516においてコンテキストタスクを実行することができる。宛先デバイス110は、開始デバイス102からデータを受信することができるか、または開始デバイス102からサービスを受信するために開始デバイス102に接続され得る。ブロック516から、フローは終了する。
【0072】
開始デバイス102および宛先デバイス110は、実行されるべきコンテキストタスク、タッチ走査プロシージャが開始デバイス102によって開始されるのか宛先デバイス110によって開始されるのか、コンテキストタスクが開始デバイス102によって実行されることになるのか宛先デバイス110によって実行されることになるのか、などに応じて、複数のコンテンツ配信モデルを実装することができることに留意されたい。
図6〜
図9に、開始デバイス102と宛先デバイス110との間でデータ(またはサービス)を交換するための4つの例示的な配信モデルを示す。以下で説明するように、コンテンツ配信モードに応じて、開始デバイスはコンテキストタスクを実行することも実行しないこともある。
【0073】
図6は、コンテキストアウェアネス接続確立を実装する開始デバイスに関連するアクティブデータ配信モードの例示的な動作を示すシーケンス図である。
図6は、開始デバイス602と宛先デバイス612とを示している。開始デバイス602は、ピクチャビューアアプリケーション604と、タッチユニット606と、Bluetoothユニット608と、NFCユニット610とを備える。宛先デバイス612は、NFCユニット614と、Bluetoothユニット616と、タッチユニット618とを備える。一例では、開始デバイス602は、近距離(または他の近接度ベース)タッチに応答して宛先デバイス612(たとえば、別のBluetooth対応モバイルフォン)にピクチャを送信することができるBluetooth対応モバイルフォンであり得る。しかしながら、他の実装形態では、
図6において説明する動作は、他の好適なアプリケーションが、それのデータを宛先デバイス612と共有することを判断したことに応答して、実行され得ることに留意されたい。
図6のアクティブデータ配信モードでは、ピクチャビューアアプリケーション604は、段階620においてピクチャを開く。ピクチャビューアアプリケーション604は、ピクチャを共有することを判断し、タッチユニット606にメッセージ送信要求622を送信する。メッセージ送信要求622は、送信されることになるデータ(たとえば、ピクチャ)の指示と、データを送信するための通信リンクを確立するようにとの要求とを備えることができる。タッチユニット606は、本明細書で説明する近距離タッチプロシージャを実行するための、宛先デバイス110との通信リンクを確立するための、およびコンテキストタスクによる動作(すなわち、ピクチャを送信すること)の実行を可能にするための、機能を備えることができる。タッチユニット606は、近距離タッチを走査するようにNFCユニット610に促すタッチ走査開始要求624を送信することができる。上記で説明したように、タッチユニット606はまた、アプリケーション識別子、アプリケーションタスク識別子、好適な通信チャネル、好適な通信プロトコル、および他のそのようなコンテキストタスクパラメータを判断することができる。宛先デバイス612において、タッチユニット618は、段階626において、宛先デバイス612のBluetoothユニット616に関連するBluetoothデータ(たとえば、接続パラメータ)を読み取る。その後、段階628において、タッチユニット618は、Bluetoothユニット616に関連するBluetoothデータを初期化し、NFCユニット614に送信する。
【0074】
段階630において、NFCユニット610は、開始デバイス602および宛先デバイス612が互いのしきい値距離内にあるとき、近距離タッチを検出する。NFCユニット610は、1つまたは複数のタッチパラメータを含み得る近距離タッチイベント632をタッチユニット606に送信する。
図3において上記で説明したように、タッチパラメータは、開始デバイス602と宛先デバイス612との間の近距離タッチに関連するタイミング、方向、および/またはパターン情報を含むことができる。タッチユニット606は、宛先デバイスのBluetoothユニット616に接続パラメータを要求し、Bluetoothユニット616から接続パラメータを受信する。接続パラメータは、宛先デバイス612上で利用可能な無線、宛先デバイス612に関連するBluetoothアドレスなど、の指示を含むことができる。一実装形態では、
図6に示すように、Bluetoothユニット616は、タッチユニット606からの要求に応答して、宛先デバイス612に関連する接続パラメータを与えることができる。しかしながら、別の実装形態では、開始デバイス602のNFCユニット610は、近距離タッチ630中に宛先デバイス612のNFCユニット614を介して宛先デバイスに関連する接続パラメータを読み取る(または自動的に受信する)ことができる。開始デバイス602のタッチユニット606は、開始デバイス602と宛先デバイス612との間の通信リンクを確立することができる。
図3において上記で説明したように、タッチユニット606は、タッチユニット618にタッチ要求メッセージ636を送信し、それに応答して、タッチユニット618からタッチ確認メッセージを受信する。タッチユニット606とタッチユニット618は、タッチ交換メッセージ640およびタッチ交渉メッセージ642をも交換する。開始デバイス602が宛先デバイス612に送信するためのデータを備えるので、タッチユニット606は、Bluetoothユニット616にサービスリスト644を要求し、Bluetoothユニット616からサービスリスト644を受信する。タッチユニット606は、宛先デバイス612がコンテキストタスクを実行するために(たとえば、開始デバイス602によって)利用され得るサービスとプロトコルとをサポートするかどうかを(たとえば、コンテキストタスク、コンテキストタスクパラメータ、および/または宛先デバイス612に関連するサービスリストに基づいて)判断することができる。
図6の例では、上記サービスとプロトコルとがサポートされるので、タッチユニット606は、ピクチャビューアアプリケーション604にメッセージ送信確認646を送信する。ピクチャビューアアプリケーション604は、コンテキストタスクを実行するための動作648を開始する。この例では、ピクチャビューアアプリケーション604は、宛先デバイス612にピクチャを送信する。ピクチャビューアアプリケーション604が、段階650においてコンテキストタスクを完了した後、ピクチャビューアアプリケーション604は、段階652において宛先デバイス612から接続を断つ(または通信リンクを無効化する)。
【0075】
図7は、コンテキストアウェアネス接続確立を実装する開始デバイスに関連するアクティブサービス配信モードの例示的な動作を示すシーケンス図である。
図7は、開始デバイス712と宛先デバイス702とを示している。宛先デバイス702は、Bluetoothヘッドセット704と、タッチユニット706と、Bluetoothユニット708と、NFCユニット710とを備える。開始デバイス712は、NFCユニット714と、Bluetoothユニット716と、タッチユニット718と、VOIPゲートウェイ719とを備える。一例では、開始デバイス712は、VOIPゲートウェイ719を備える、およびVOIP電話呼を発信/受信するための機能を備える、ラップトップコンピュータであり得る。この例では、宛先デバイス702は、ハンズフリー通信を可能にするためのBluetoothヘッドセット704を備える。
図7のアクティブサービス配信モードでは、コンピュータ(すなわち、開始デバイス712)は、ハンズフリープロファイルオーディオゲートウェイ(HFP AG)サービスを初期化し、登録する。さらに、
図7のアクティブサービス配信モードでは、開始コンピュータ712は、VOIPゲートウェイ619がVOIP呼を検出したとき(またはユーザ要求などの別の好適なトリガに応答して)、コンテキストタスク(たとえば、ハンズフリー通信のためのBluetoothヘッドセットとの接続についての要求)を開始することができる。
図7では、VOIPゲートウェイ719は(たとえば、VOIPアプリケーションがVOIP電話呼を発信または受信したことに応答して)VOIP電話呼726を受信する。HFP AGサービスを初期化し、VOIP電話呼を受信したことに応答して、VOIPゲートウェイ719は、Bluetoothヘッドセット704がVOIP電話呼をピックアップすべきであると判断する。したがって、VOIPゲートウェイ719は、タッチ走査プロシージャの開始を促すためにタッチユニット718にタッチ走査開始要求728を送信する。いくつかの実装形態では、コンテキストタスク要求728は、VOIPアプリケーション、VOIPアプリケーションに関連するコンテキストタスクなどをも識別することができる。タッチユニット718は、近距離タッチを走査するようにNFCユニット714に促すタッチ走査開始要求729を送信する。宛先デバイス702において、Bluetoothヘッドセット704は、段階720において、1つまたは複数のクラス(またはカテゴリー)のコンテキストタスクを処理するために登録する。たとえば、Bluetoothヘッドセット704は、HFP AGサービスに関連するコンテキストタスクを処理するために登録することができ、それに従って、Bluetoothヘッドセット704はハンドフリー通信を有効化する。上記で説明したように、タッチユニット706は、段階722においてBluetoothユニット708に関連するBluetoothデータ(たとえば、接続パラメータ)を読み取り、段階724においてNFCユニット710に接続パラメータを与える。
【0076】
段階730において、NFCユニット714は、開始デバイス712および宛先デバイス702が互いのしきい値距離内にあるとき、近距離タッチを検出する。NFCユニット714は、1つまたは複数のタッチパラメータを含む近距離タッチイベント732をタッチユニット718に送信する。段階734において、タッチユニット718は、宛先デバイス702のBluetoothユニット708に接続パラメータを要求し、Bluetoothユニット708から接続パラメータを受信する。開始デバイス712は、宛先デバイス702に関連する接続パラメータに少なくとも部分的に基づいて宛先デバイス702との通信リンクを確立することができる。上記で説明したように、タッチユニット718は、タッチユニット706にタッチ要求メッセージ736を送信し、タッチユニット706からタッチ確認メッセージ738を受信し、タッチユニット706とタッチ交換メッセージ740およびタッチ交渉メッセージ742を交換することができる。宛先デバイス702が開始デバイス712にサービス(たとえば、HFP AG)サービスを与えることになるので、宛先デバイス702のタッチユニット706は、開始デバイス712のBluetoothユニット716にサービスリスト744を要求し、Bluetoothユニット716からサービスリスト744を受信する。
【0077】
タッチユニット706は、開始デバイス712に関連するサービスリスト744をブラウズすることができ、開始デバイス712に関連するHFP AGサービスが初期化され、アクティブにされたかどうか(たとえば、Bluetoothヘッドセット704がHFPサービスに関連するコンテキストタスクを処理するために登録したかどうか)を判断することができる。
図7の例では、タッチユニット706は、HFP AGサービスが初期化されたと判断し、コンテキストタスクを実行するようにBluetoothヘッドセット704をトリガする。たとえば、段階746において、タッチユニット706は、Bluetoothヘッドセット704と開始デバイス712との間の通信リンクを完了するように、Bluetoothヘッドセット704に関連するコンテキストタスクハンドラをトリガすることができる。Bluetoothヘッドセット704は、コンテキストタスクを実行するための動作748を開始する。この例では、Bluetoothヘッドセット704は、(たとえば、HFPサービスを使用して)VOIP呼をピックアップし、ユーザがBluetoothヘッドセット704を介して通信することを可能にする。
【0078】
図8は、コンテキストアウェアネス接続確立を実装する開始デバイスに関連するパッシブデータ配信モードの例示的な動作を示すシーケンス図である。
図8は、開始デバイス812と宛先デバイス802とを示している。宛先デバイス802は、スマートポスターユニット804と、タッチユニット806と、Bluetoothユニット808と、NFCユニット810とを備える。開始デバイス812は、NFCユニット814と、Bluetoothユニット816と、タッチユニット818とを備える。一例では、スマートポスターユニット804は、ポスター、ビルボード、3次元物体などとして実装され得る。スマートポスターユニット804は、一般に、1つまたは複数のNFCタグに関連付けられ、NFCタグの各々は、あらかじめ定義されたコンテンツを備えることができる。スマートポスターユニット804は、以下でさらに説明するように、スマートポスターユニット804と開始デバイス812との間の通信リンクが確立された後、あらかじめ定義されたコンテンツを通信デバイス(たとえば、開始デバイス812)に与えることができる。この例では、開始デバイス812は、スマートポスターユニット804からコンテンツを受信するためにスマートポスターユニット804との通信リンクを確立する、モバイルフォンまたは別の好適な電子デバイスであり得る。
【0079】
図8のパッシブデータ配信モードでは、スマートポスターユニット804は、(段階820において)別の通信デバイスにデータを送信することを判断する。スマートポスターユニット804は、タッチユニット806にメッセージ送信要求822を送信する。メッセージ送信要求822を介して、スマートポスターユニット804は、別の通信デバイスとの通信リンクが確立されるかどうか、および/またはデータが別の通信デバイスに送信され得るかどうかに関して、タッチユニット806に問い合わせ得る。この例では、コンテキストタスクは、別の通信デバイス(たとえば、開始デバイス812)にスマートポスターユニット804に関連するデータを送信することを備えることができる。上記で説明したように、タッチユニット806は、段階824においてBluetoothユニット808に関連するBluetoothデータ(たとえば、接続パラメータ)を読み取り、段階824においてNFCユニット810に接続パラメータを与える。(スマートポスターユニット804を備える)宛先デバイス802がパッシブなデバイスであるので、NFCユニット810は、1つまたは複数のパッシブなNFCタグとして実装され得ることに留意されたい。開始デバイス812(たとえば、モバイルフォン)において、タッチユニット818は、(たとえば、スマートポスターユニット804からデータを要求することを判断したことに応答して)近距離タッチを走査するようにNFCユニット814に促すタッチ走査開始要求を送信する。ユーザが、次いで宛先デバイス802のしきい値距離内に開始デバイス812を移動することができる。
【0080】
段階830において、NFCユニット814は、開始デバイス812および宛先デバイス802が互いのしきい値距離内にあるとき、近距離タッチを検出する。NFCユニット814は、1つまたは複数のタッチパラメータを含む近距離タッチイベント832をタッチユニット818に送信する。段階834において、タッチユニット818は、宛先デバイス802のBluetoothユニット808に接続パラメータを要求し、Bluetoothユニット808から接続パラメータを受信する。開始デバイス812は、宛先デバイス802との通信リンクを確立することができる。タッチユニット818は、タッチユニット806にタッチ要求メッセージ836を送信し、タッチユニット806からタッチ確認メッセージ838を受信し、タッチユニット806とタッチ交換メッセージ840およびタッチ交渉メッセージ842を交換することができる。宛先デバイス802が開始デバイス812に与えられることになるデータ(たとえば、スマートポスターユニット804に関連するコンテンツ)を備えるので、タッチユニット806は、通信リンクが確立された後、開始デバイス812のタッチユニット818にサービスリスト844を要求し、タッチユニット818からサービスリスト844を受信する。タッチユニット806は、開始デバイス812に関連するサービスリスト844をブラウズし、開始デバイス802がスマートポスターユニット804に関連するコンテンツを受信するためのプロトコルを備える(および有効化している)かどうかを判断することができる。
図8の例では、タッチユニット806は、コンテキストタスクに関連するプロトコル(たとえば、データ転送プロトコル)が開始デバイス712によってサポートされると判断し、メッセージ送信確認846を送信する。メッセージ送信確認846は、保留中のコンテキストタスクを処理するようにスマートポスターユニット804をトリガし、スマートポスターユニット804は、コンテキストタスクを実行するための動作848を開始する。この例では、スマートポスターユニット804は、開始デバイス812(たとえば、モバイルフォン)に(段階820において判断された)データを送信することができる。
【0081】
図9は、コンテキストアウェアネス接続確立を実装する開始デバイスに関連するパッシブサービス配信モードの例示的な動作を示すシーケンス図である。
図9は、開始デバイス902と宛先デバイス912とを示している。開始デバイス902は、ヒューマンインターフェースデバイスプロファイル(HID)ハンドラ904と、タッチユニット906と、Bluetoothユニット908と、NFCユニット910とを備える。宛先デバイス912は、NFCユニット914と、Bluetoothユニット916と、タッチユニット918と、HIDサービス919とを備える。一例では、開始デバイス902はホストコンピュータであり得、宛先デバイス912はBluetoothマウスであり得る。開始ホストコンピュータ902に関連するコンテキストタスクは、宛先Bluetoothマウス912との接続を確立することを備えることができる。
図9のパッシブサービス配信モードでは、HIDハンドラ904は、段階920において、HIDプロファイルを有効化し、1つまたは複数のクラス/カテゴリーのコンテキストタスクを処理するために登録する。たとえば、HIDハンドラ904は、HIDサービスに関連するコンテキストタスクを処理するために登録することができる。タッチユニット906は、近距離タッチを走査するようにNFCユニット910に促すタッチ走査開始要求929を送信する。宛先デバイス912において、タッチユニット918は、段階922においてBluetoothユニット916に関連するBluetoothデータ(たとえば、接続パラメータ)を読み取り、段階924においてNFCユニット914にBluetoothデータを送信する。いくつかの実装形態では、宛先デバイス912(すなわち、Bluetoothマウス)がパッシブなデバイスであり得、したがって、NFCユニット914が1つまたは複数のパッシブなNFCタグとして実装され得ることに留意されたい。さらに、HIDサービス919はまた、宛先デバイス912がHIDサービス(たとえば、宛先マウスデバイス912によって与えられる入出力機能)を備えることを(段階926において)判断し、(コンテキストタスク要求928を送信することによって)示すことができる。
【0082】
段階930において、NFCユニット910は、開始デバイス902および宛先デバイス912が互いのしきい値距離内にあるとき、近距離タッチを検出する。NFCユニット910は、1つまたは複数のタッチパラメータを含む近距離タッチイベント932をタッチユニット906に送信する。段階934において、タッチユニット906は、宛先デバイス912のBluetoothユニット916に接続パラメータを要求し、Bluetoothユニット916から接続パラメータを受信する。開始デバイス902は、宛先デバイス912に関連する接続パラメータに少なくとも部分的に基づいて宛先デバイス912との通信リンクを確立することができる。上記で説明したように、タッチユニット906はまた、タッチユニット918にタッチ要求メッセージ936を送信し、タッチユニット918からタッチ確認メッセージを受信し、タッチユニット918とタッチ交換メッセージ940およびタッチ交渉メッセージ942を交換することができる。タッチユニット906は、Bluetoothユニット916にサービスリスト944を要求し、Bluetoothユニット916からサービスリスト944を受信する。タッチユニット906は、宛先デバイス912に関連するサービスリスト944をブラウズすることができ、宛先デバイス912に関連するHIDサービス919が初期化され、アクティブにされたかどうかを判断することができる。HIDサービス919が初期化され、アクティブにされた場合、次いで段階946において、タッチユニット906はコンテキストタスクハンドラ(すなわち、HIDハンドラ904)をトリガし、HIDハンドラ904は、コンテキストタスクを実行するための動作948を開始する。この例では、HIDハンドラ904は、HIDサービスを介して宛先マウスデバイス912に開始コンピュータデバイス902を接続することができる。
【0083】
図6〜
図9は、開始デバイスと宛先デバイスが、タッチ要求、タッチ確認、タッチ交換、およびタッチ交渉のメッセージを交換することを示しているが、実施形態はそのように限定されないことに留意されたい。他の実施形態では、開始デバイスと宛先デバイスは、タッチ要求、タッチ確認、タッチ交換、およびタッチ交渉のメッセージのサブセットのみを交換し得る。たとえば、開始デバイスは、宛先デバイスにタッチ要求メッセージを送信し得、宛先デバイスからタッチ確認メッセージを受信し得る(ただし、タッチ交換およびタッチ交渉のメッセージを送信しないことがある)。他の実装形態では、開始デバイスと宛先デバイスは、タッチ要求、タッチ確認、タッチ交換、およびタッチ交渉のメッセージのいずれをも交換しないことがあることに留意されたい。
【0084】
図1〜
図9は、実施形態を理解するのを助けるための例であり、実施形態を限定したり、特許請求の範囲を限定したりするために使用されるべきでないことを理解されたい。実施形態は、追加の回路構成要素、異なる回路構成要素を備え得、および/または追加の動作を実行し、より少数の動作を実行し、動作を異なる順序で実行し、動作を並列に実行し、いくつかの動作を別様に実行し得る。いくつかの実装形態では、開始デバイス102も宛先デバイス110も、実行されるべきコンテキストタスクを示さない場合、デフォルトサービス配信モデルが実装され得る。この実装形態では、開始デバイス102は、宛先デバイス110に関連するサービスと機能とを分析することができる。宛先デバイス110がただ1つのサービスを与えると判断された場合(たとえば、宛先デバイス110が、ハンズフリー通信サービスを与える能力を備えるにすぎないBluetoothヘッドセットである場合)、開始デバイス102は、宛先デバイス110によって与えられるサービスに従って宛先デバイス110との通信リンクを確立することができる(およびコンテキストタスクを判断することができる)。代替的に、宛先デバイス110が2つ以上のサービスを与える場合、タッチパラメータおよび/または接続パラメータは、確立されるべきである通信リンクのタイプ(および実行されるべきであるコンテキストタスク)を判断するために(上記で説明したように)使用され得る。たとえば、近距離タッチが維持される持続時間、および/または近距離タッチに関連するパターンは、特定のアプリケーションおよび特定のコンテキストタスクに対応し得る。他の実装形態では、コンテキストタスクが判断され得ない場合、開始デバイス102は、宛先デバイス110によって与えられるサービスと機能とのリストを備える通知(たとえば、ポップアップウィンドウ)を提示することができ、実行されるべきコンテキストタスクを選択するようにユーザに促すことができる。
【0085】
いくつかの実装形態では、(たとえば、コンテンツ配信モデルに応じて)開始デバイス102または宛先デバイス110は、2つ以上のコンテキストタスクを実行することができる。たとえば、開始モバイルフォン102が、2つのコンテキストタスクを実行することを判断し得る。メッセージングアプリケーションに関連する第1のコンテキストタスクは、宛先モバイルフォン110にメッセージを送信することを備え得、ピクチャビューイングアプリケーションに関連する第2のコンテキストタスクは、宛先モバイルフォン110にピクチャを送信することを備え得る。開始モバイルフォン102は、上記で説明したように、タッチ走査プロシージャを開始することができ、宛先モバイルフォン110との通信リンクを確立することができる。通信リンクが確立された後、現在フォアグラウンドにあるアプリケーションは最高優先順位アプリケーションに指定され得、最高優先順位アプリケーションに関連するコンテキストタスクが実行され得る。たとえば、ピクチャビューイングアプリケーションがフォアグラウンドにある場合、宛先モバイルフォン110にピクチャを送信するための第2のコンテキストタスクが実行され得る。その後、宛先モバイルフォン110にメッセージを送信するための第1のコンテキストタスクが実行され得る。
【0086】
さらに、宛先デバイス110がアクティブなデバイスであるのかパッシブなデバイスであるのかに応じて、宛先デバイス110に関連する接続パラメータおよびサービスリストを交換するために、様々な技法が採用され得る。一実装形態では、開始デバイス102は、NFCリーダーを備えるアクティブなデバイスであり得、宛先デバイス110は、NFCタグを備えるパッシブなデバイスであり得る。開始デバイス102は、接続要求(たとえば、接続パラメータについての要求)を送信することによって通信リンクを確立するためのプロシージャを開始し得る。宛先デバイス110に関連するNFCタグは、(たとえば、NFCタグに記憶された)接続パラメータでパッシブに応答することができる。いくつかの実装形態では、NFCタグは、対応する複数のアプリケーション/サービスに各々が関連付けられる、接続パラメータの複数のセットを備えることができる。開始デバイス102は、接続パラメータの複数のセットを受信することができ、コンテキストタスクに基づいて接続パラメータの適切なセットを選択することができ、それに応じて通信リンクを確立することができる。
【0087】
図1〜
図9は、通信デバイスの一方(すなわち、開始デバイス102)が、タッチ走査を開始し、タッチイベントを生成し、宛先デバイス110との通信リンクを確立することを表すが、実施形態はそのように限定されないことに留意されたい。他の実施形態では、通信デバイス102と通信デバイス110の両方が、タッチ走査プロシージャを開始するための、およびタッチイベントを生成するための、機能を備え得る。たとえば、第1のモバイルフォンおよび第2のモバイルフォンが、それぞれ、タッチ走査プロシージャを開始するための、およびタッチイベントを生成するための、機能を備え得る。それらのモバイルフォンの各々が、それらのそれぞれのコンテキストタスク(たとえば、他方のモバイルフォンにピクチャを送信すること)を生成し得る。第1および第2のモバイルフォンは、タッチ走査プロシージャを開始し、近距離タッチを検出し、通信リンクを確立し得る。第1のモバイルフォンは、次いで、第1のモバイルフォンに関連するコンテキストタスクを第2のモバイルフォンに通知するためにタッチ交換メッセージを送信することができる。同様に、第2のモバイルフォンは、第2のモバイルフォンに関連するコンテキストタスクを第1のモバイルフォンに通知するためにタッチ交換メッセージを送信することができる。第1のモバイルフォンと第2のモバイルフォンは、次いで、2つのコンテキストタスクに優先順位を割り当てるために、およびコンテキストタスクが実行されることになる順序を判断するために(たとえば、モバイルフォンのうちのどちらがそれのピクチャを送信すべき最初のデバイスとなるかを判断するために)、タッチ交渉メッセージを交換することができる。両方のモバイルフォンがタッチ走査プロシージャを開始するための機能を備える、この例では、それらのモバイルフォンは、開始デバイスの役割と宛先デバイスの役割とを割り当てるために交渉することができる。
【0088】
いくつかの実装形態では、通信デバイスは、ただ1つの通信リンクが確立されることを許可し得る。たとえば、開始コンピュータが、タッチ走査プロシージャを開始し得、宛先Bluetoothヘッドセットとの近距離タッチを検出し得、宛先Bluetoothヘッドセット(第1の宛先デバイス)との通信リンクを確立し得る。コンテキストタスク(たとえば、開始コンピュータにおいて検出されたVOIP呼をピックアップすること)が実行され得る。宛先Bluetoothヘッドセットとの通信リンクが確立されている間、開始コンピュータはタッチ走査プロシージャを実行し続け得る。その後、開始コンピュータは、宛先Bluetoothマウス(第2の宛先デバイス)との近距離タッチを検出し得る。開始コンピュータは、宛先Bluetoothヘッドセットから接続を断ち得、別のコンテキストタスクを実行するために宛先Bluetoothマウスとの新しい通信リンクを確立し得る。いくつかの実装形態では、コンテキストアウェアネスユニット108は、コンテキストタスクが検出されたとき、デバイス検出ユニット104を有効化することができる。コンテキストアウェアネスユニット108は、宛先デバイス110との通信リンクが確立された後、またはコンテキストタスクが実行された後、デバイス検出ユニット104を無効化することができる。いくつかの実装形態では、コンテキストアウェアネスユニット108は、デバイス検出ユニット104を有効化すべきなのか無効化すべきなのかを判断するために、開始デバイス102の現在の電力モードを使用することができる。たとえば、コンテキストアウェアネスユニット108は、開始デバイス102に関連するディスプレイユニットがオフに切り替わる場合(または開始デバイス102が低電力モードに切り替わる場合)、電力を温存するためにデバイス検出ユニット104を無効化することができる。
【0089】
最後に、上記で説明した例に加えて、通信デバイスによって実装されているプロトコルに応じて、通信デバイスは、近距離タッチを検出したことに応答して他の好適な機能を実装するように(たとえば、他の好適なコンテキストタスクを実行するように)構成され得ることに留意されたい。たとえば、近距離タッチを検出したことに応答して、開始Bluetoothデバイスは、宛先Bluetoothデバイスに接続することができ、または第1の宛先Bluetoothデバイスおよび第2の宛先Bluetoothデバイスが、アドバンストオーディオディストリビューションプロファイル(A2DP:advanced audio distribution profile)、ヒューマンインターフェースデバイスプロファイル(HID)などを実装する場合、第1の宛先Bluetoothデバイスから第2の宛先Bluetoothデバイスに切り替えることができる。別の例として、近距離タッチを検出したことに応答して、開始Bluetoothデバイスは、開始Bluetoothデバイスおよび宛先Bluetoothデバイスが、ファイル転送プロトコル(FTP)を実装する場合、または同期プロファイル(SYNC)を実装する場合、それぞれ、宛先Bluetoothデバイスにファイルを転送することができ、または宛先Bluetoothデバイスとの同期プロシージャを開始することができる。
【0090】
実施形態は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)完全にソフトウェアの実施形態、またはソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形態をとり得、本明細書では、それらをすべて概して「回路」、「モジュール」または「システム」と呼ぶことがある。さらに、本発明の主題事項の実施形態は、任意の有形の表現媒体で実施されるコンピュータプログラム製品の形態をとり得、その媒体は、媒体で実施されるコンピュータ使用可能プログラムコードを有する。説明した実施形態は、あらゆる考えられる変形形態が本明細書に列挙されているとは限らないので、現在記載されているか否かにかかわらず、実施形態に従ってプロセスを実行するようにコンピュータシステム(または(1つまたは複数の)他の電子デバイス)をプログラムするために使用され得る命令を記憶した機械可読媒体を含み得る、コンピュータプログラム製品またはソフトウェアとして与えられ得る。機械可読媒体は、機械(たとえば、コンピュータ)によって読取り可能な形態(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶または送信するためのいかなる機構をも含む。機械可読媒体は、機械可読記憶媒体または機械可読信号媒体であり得る。機械可読記憶媒体は、たとえば、限定はしないが、磁気記憶媒体(たとえば、フロッピー(登録商標)ディスケット)、光記憶媒体(たとえば、CD−ROM)、光磁気記憶媒体、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブルメモリ(たとえば、EPROMおよびEEPROM)、フラッシュメモリ、または電子命令を記憶するのに好適な他のタイプの有形媒体を含み得る。機械可読信号媒体は、コンピュータ可読プログラムコードがその中で実施される伝搬データ信号、たとえば、電気、光、音響、または他の形態の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号など)を含み得る。機械可読信号媒体上で実施されるプログラムコードは、限定はしないが、ワイヤライン通信媒体、ワイヤレス通信媒体、光ファイバーケーブル通信媒体、RF通信媒体、または他の通信媒体を含む、任意の好適な媒体を使用して送信され得る。
【0091】
本実施形態の動作を行うためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行されるか、スタンドアロンソフトウェアパッケージとして実行されるか、部分的にユーザのコンピュータ上と部分的にリモートコンピュータ上とで実行されるか、あるいは完全にリモートコンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続され得、あるいは接続は、(たとえば、インターネットサービスプロバイダを使用してインターネットを通して)外部コンピュータに対して行われ得る。
【0092】
図10は、通信デバイス間の通信リンクを確立するためのコンテキストアウェアネス近接度ベース機構を含む電子デバイス1000の一実施形態のブロック図である。いくつかの実装形態では、電子デバイス1000は、Bluetoothデバイスなどの専用ワイヤレスデバイスであり得る。別の実装形態では、電子デバイス1000は、ワイヤレス通信機能をもつ、ラップトップ、ネットブック、モバイルフォン、携帯情報端末(PDA)、タブレットコンピュータ、スマートポスター、周辺デバイス(たとえば、Bluetoothマウス、Bluetoothヘッドセットなど)、または他の好適な電子システムであり得る。電子デバイス1000は、(場合によっては、複数のプロセッサ、複数のコア、複数のノードを含む、および/またはマルチスレッドを実装するなどの)プロセッサユニット1002を含む。電子デバイス1000はメモリユニット1006を含む。メモリユニット1006は、システムメモリ(たとえば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR ランダムアクセスメモリ、EEPROM、NRAM、RRAM(登録商標)、SONOS、PRAMなどのうちの1つまたは複数)あるいは上記ですでに説明した、機械可読媒体の可能な実現形態のうちのいずれか1つまたは複数であり得る。電子デバイス1000はまた、バス1010(たとえば、PCI、ISA、PCI−Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)と、ワイヤレスネットワークインターフェース(たとえば、WLANインターフェース、Bluetooth(登録商標)インターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、Wireless USBインターフェースなど)およびワイヤードネットワークインターフェース(たとえば、Ethernet(登録商標)インターフェースなど)のうちの1つまたは複数を含むネットワークインターフェース1004とを含む。
【0093】
電子デバイス1000はワイヤレス通信ユニット1008をも含む。ワイヤレス通信ユニット1008は、デバイス検出ユニット1012と、接続確立ユニット1014と、コンテキストアウェアネスユニット1016とを備える。
図1〜
図9において上記で説明したように、いくつかの実施形態では、コンテキストアウェアネスユニット1016は、アプリケーションに関連するコンテキストタスクに従って宛先デバイスとコンテンツを交換することを判断したことに応答して、タッチ走査プロシージャを開始することができる。デバイス検出ユニット1012は、宛先デバイスおよび電子デバイス1000が互いの所定のしきい値距離内にあることを検出したことに応答して、近距離タッチイベントを生成することができる。接続確立ユニット1014は、宛先デバイスとの通信リンクを確立することができる。次いで、コンテキストタスクが実行され得る。
【0094】
上記で説明した機能のうちのいずれか1つが、ハードウェアでおよび/またはプロセッサユニット1002上に部分的に(または完全に)実装され得る。たとえば、機能は、特定用途向け集積回路を用いて実装され、プロセッサユニット1002、周辺デバイスまたはカード上のコプロセッサ(co-processor)などの中に論理的に実装され得る。さらに、実現形態は、より少ない構成要素、または
図10に示さない追加の構成要素(たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど)を含み得る。プロセッサユニット1002、メモリユニット1006、およびネットワークインターフェース1006は、バス1010に結合される。バス1010に結合されるものとして示されているが、メモリユニット1006はプロセッサユニット1002に結合され得る。
【0095】
本実施形態について、様々な実装形態および活用を参照しながら説明したが、これらの実施形態は例示的なものであり、本発明の主題事項の範囲はそれらに限定されないことを理解されよう。概して、本明細書で説明するワイヤレス通信接続の確立のための近距離タッチベース機構は、任意のハードウェアシステムまたは複数のハードウェアシステムと矛盾しない設備を用いて実装され得る。多くの変形、修正、追加、および改善が可能である。
【0096】
単一の事例として本明細書で説明した構成要素、動作、または構造について、複数の事例が与えられ得る。最後に、様々な構成要素と、動作と、データストアとの間の境界はいくぶん恣意的であり、特定の動作が、特定の例示的な構成のコンテキストで示されている。機能の他の割振りが想定され、本発明の主題事項の範囲内に入り得る。概して、例示的な構成において別個の構成要素として提示された構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示された構造および機能は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善は、本発明の主題事項の範囲内に入り得る。
【0097】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0098】
[C1] 第1の通信デバイスにおいて、前記第1の通信デバイスに関連するアプリケーションに関連するコンテキストタスクを実行することを判断することと、
前記第1の通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを判断したことに応答して、第2の通信デバイスが前記第1の通信デバイスからのしきい値検出距離内にあるかどうかを判断することと、
前記第2の通信デバイスが前記第1の通信デバイスからの前記しきい値検出距離内にあると判断したことに応答して、前記第2の通信デバイスに関連する1つまたは複数の接続パラメータに少なくとも部分的に基づいて、前記第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスに関連するサービスリストと前記第1の通信デバイスに関連する前記コンテキストタスクとに少なくとも部分的に基づいて、前記コンテキストタスクを実行すべきかどうかを判断することと、
前記第1の通信デバイスに関連する前記コンテキストタスクを実行することを判断したことに応答して、前記第1の通信デバイスと前記第2の通信デバイスとの間の前記通信リンクを介して前記コンテキストタスクを実行することとを備える、方法。
【0099】
[C2] 前記第1の通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを前記判断することが、
前記第1の通信デバイスに関連する前記アプリケーションに少なくとも部分的に基づいて前記コンテキストタスクを識別することと、
前記コンテキストタスクに関連する前記アプリケーションの識別子と、前記コンテキストタスクに関連する識別子と、前記コンテキストタスクを実行するための好適な通信チャネルと、前記コンテキストタスクを実行するための好適な通信プロトコルとのうちの少なくとも1つを備える、前記コンテキストタスクに関連するパラメータを判断することとを備える、C1に記載の方法。
【0100】
[C3] 前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると前記判断することは、
前記第1の通信デバイスにおいて、前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあることを示す、前記第1の通信デバイスに関連するセンサーからの通知信号を受信すること、または
前記第1の通信デバイスにおいて近距離通信(NFC)技法を実行することに基づいて、前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると判断することを備える、C1に記載の方法。
【0101】
[C4] 前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると前記判断することは、
前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると前記判断することに関連する検出パラメータを判断することであって、前記検出パラメータは、前記第2の通信デバイスがそれの間に前記第1の通信デバイスの前記しきい値検出距離内にあった時間間隔と、前記第2の通信デバイスがそれとともに前記しきい値検出距離内にあった、前記第1の通信デバイスに関連する1つまたは複数のタグと、前記第2の通信デバイスがそれに従って前記1つまたは複数のタグの前記しきい値検出距離内にあったパターンとのうちの少なくとも1つを備える、判断することと、
前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあることを示すための、および前記検出パラメータを備える、検出通知メッセージを生成することとをさらに備え、
前記第2の通信デバイスとの前記通信リンクを前記確立することが、前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータと前記検出通知メッセージに関連する前記検出パラメータとに少なくとも部分的に基づく、C1に記載の方法。
【0102】
[C5] 前記接続パラメータは、前記第2の通信デバイスに関連する1つまたは複数の無線ユニットの指示と、前記第2の通信デバイスに関連する前記1つまたは複数の無線ユニットが有効化されるかどうかの指示と、前記第2の通信デバイスに関連する1つまたは複数の通信プロトコルの指示と、前記第2の通信デバイスに関連する1つまたは複数の識別子の指示とのうちの少なくとも1つを備える、C1に記載の方法。
【0103】
[C6] 前記第2の通信デバイスとの前記通信リンクを前記確立することは、
前記第1の通信デバイスと前記第2の通信デバイスとの間の前記通信リンクが確立されたことを示すために、前記第2の通信デバイスに要求メッセージを送信することと、
前記第2の通信デバイスから、前記第2の通信デバイスにおける前記要求メッセージの受信に肯定応答する確認メッセージを受信することと、
前記第1の通信デバイスに関連する前記コンテキストタスクを識別する交換メッセージを送信することとのうちの少なくとも1つをさらに備える、C1に記載の方法。
【0104】
[C7] 前記第1の通信デバイスにおいて、前記第1の通信デバイスに関連する1つまたは複数のアプリケーションに関連する複数のコンテキストタスクを実行することを判断することであって、前記複数のコンテキストタスクが、前記アプリケーションに関連する前記コンテキストタスクを備える、判断することと、
前記複数のコンテキストタスクをそれにおいて実行すべきシーケンスを判断するために、前記複数のコンテキストタスクの各々に関連する優先順位を判断することとをさらに備える、C1に記載の方法。
【0105】
[C8] 前記第2の通信デバイスとの前記通信リンクを前記確立することが、
前記第1の通信デバイスにおいて、前記第2の通信デバイスに関連する1つまたは複数のサービスと機能とを示す、前記第2の通信デバイスに関連する前記サービスリストを受信することをさらに備える、C1に記載の方法。
【0106】
[C9] 前記第1の通信デバイスに関連する前記コンテキストタスクを実行すべきかどうかを前記判断することは、
前記コンテキストタスクと前記コンテキストタスクに関連する前記アプリケーションとに少なくとも部分的に基づいて、前記コンテキストタスクを前記実行することに関連する1つまたは複数のコンテキストタスク実行パラメータを判断することであって、前記コンテキストタスク実行パラメータが、前記コンテキストタスクに関連する通信プロトコルとサービスとのうちの少なくとも1つを備える、判断することと、
前記第2の通信デバイスに関連する前記サービスリストに少なくとも部分的に基づいて、前記第2の通信デバイスが前記コンテキストタスクを前記実行することに関連する前記1つまたは複数のコンテキストタスク実行パラメータをサポートするかどうかを判断することとを備える、C1に記載の方法。
【0107】
[C10] 前記第1の通信デバイスが第1のBluetoothデバイスを備え、前記第2の通信デバイスが第2のBluetoothデバイスを備える、C1に記載の方法。
【0108】
[C11] 第2の通信デバイスから第1の通信デバイスに、前記第2の通信デバイスに関連する1つまたは複数の接続パラメータを与えることと、
前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータに少なくとも部分的に基づいて、前記第1の通信デバイスと前記第2の通信デバイスとの間に通信リンクが確立されたと判断することと、
前記第1の通信デバイスに関連するアプリケーションに関連するコンテキストタスクに少なくとも部分的に基づいて、前記第2の通信デバイスが前記コンテキストタスクを実行するために前記第1の通信デバイスに与えられることになるデータまたはサービスを備えるかどうかを判断することと、
前記第2の通信デバイスが前記第1の通信デバイスに関連する前記コンテキストタスクを実行するために前記第1の通信デバイスに与えられることになるデータまたはサービスを備えると判断したことに応答して、前記第1の通信デバイスに関連するサービスリストと前記コンテキストタスクとに少なくとも部分的に基づいて、前記コンテキストタスクを実行すべきかどうかを判断することと、
前記第1の通信デバイスに関連する前記コンテキストタスクを実行することを判断したことに応答して、前記第1の通信デバイスと前記第2の通信デバイスとの間の前記通信リンクを介して前記コンテキストタスクを実行することとを備える、方法。
【0109】
[C12] 前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータを前記与えることは、
前記第1の通信デバイスから、前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータについての要求を受信したこと、または
前記第1の通信デバイスが前記第2の通信デバイスからのしきい値検出距離内にあると判断したことに応答する、C11に記載の方法。
【0110】
[C13] 前記第1の通信デバイスが前記コンテキストタスクを実行するために前記第2の通信デバイスに与えられることになるデータまたはサービスを備えると判断したことに応答して、前記方法が、
前記第1の通信デバイスに前記第2の通信デバイスに関連するサービスリストを与えることをさらに備える、C11に記載の方法。
【0111】
[C14] 前記第1の通信デバイスに関連する前記コンテキストタスクを実行すべきかどうかを前記判断することは、
前記コンテキストタスクと、前記第1の通信デバイスに与えられることになる前記サービスと、前記第1の通信デバイスに与えられることになる前記データとのうちの少なくとも1つに基づいて、前記コンテキストタスクを前記実行することに関連する1つまたは複数のコンテキストタスク実行パラメータを判断することであって、前記コンテキストタスク実行パラメータが、前記コンテキストタスクに関連する通信プロトコルと前記コンテキストタスクに関連する通信サービスとのうちの少なくとも1つを備える、判断することと、
前記第1の通信デバイスに関連する前記サービスリストに少なくとも部分的に基づいて、前記第1の通信デバイスが前記コンテキストタスクを前記実行することに関連する前記1つまたは複数のコンテキストタスク実行パラメータをサポートするかどうかを判断することとを備え、
前記第1の通信デバイスと前記第2の通信デバイスとの間の前記通信リンクを介して前記コンテキストタスクを前記実行することが、
前記コンテキストタスクに従って前記第1の通信デバイスに前記データまたは前記サービスを与えることを備える、C11に記載の方法。
【0112】
[C15] 通信デバイスであって、
前記通信デバイスに関連するアプリケーションに関連するコンテキストタスクを実行することを判断するように動作可能なコンテキストアウェアネスユニットと、
前記コンテキストアウェアネスユニットが、前記通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを判断したことに応答して、第2の通信デバイスが前記通信デバイスからのしきい値検出距離内にあるかどうかを判断するように動作可能なデバイス検出ユニットと、
前記デバイス検出ユニットが、前記第2の通信デバイスが前記通信デバイスからの前記しきい値検出距離内にあると判断したことに応答して、前記第2の通信デバイスに関連する1つまたは複数の接続パラメータに少なくとも部分的に基づいて、前記第2の通信デバイスとの通信リンクを確立するように動作可能な接続確立ユニットと、
前記第2の通信デバイスに関連するサービスリストと前記通信デバイスに関連する前記コンテキストタスクとに少なくとも部分的に基づいて、前記コンテキストタスクを実行すべきかどうかを判断することと、
前記コンテキストアウェアネスユニットが、前記通信デバイスに関連する前記コンテキストタスクを実行することを判断したことに応答して、前記通信デバイスと前記第2の通信デバイスとの間の前記通信リンクを介して前記コンテキストタスクが実行されることを引き起こすこととを行うようにさらに動作可能な前記コンテキストアウェアネスユニットとを備える、通信デバイス。
【0113】
[C16] 前記通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを判断するように動作可能な前記コンテキストアウェアネスユニットが、
前記通信デバイスに関連する前記アプリケーションに少なくとも部分的に基づいて前記コンテキストタスクを識別することと、
前記コンテキストタスクに関連する前記アプリケーションの識別子と、前記コンテキストタスクに関連する識別子と、前記コンテキストタスクを実行するための好適な通信チャネルと、前記コンテキストタスクを実行するための好適な通信プロトコルとのうちの少なくとも1つを備える、前記コンテキストタスクに関連するパラメータを判断することとを行うように動作可能な前記コンテキストアウェアネスユニットを備える、C15に記載の通信デバイス。
【0114】
[C17] 前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあると判断するように動作可能な前記デバイス検出ユニットは、
前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあることを示す、前記通信デバイスに関連するセンサーからの通知信号を受信する、または
前記通信デバイスにおいて近距離通信(NFC)技法を実行することに基づいて、前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあると判断するように動作可能な前記デバイス検出ユニットを備える、C15に記載の通信デバイス。
【0115】
[C18] 前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあると判断するように動作可能な前記デバイス検出ユニットは、
前記デバイス検出ユニットが、前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあると判断すること、に関連する検出パラメータを判断することであって、前記検出パラメータは、前記第2の通信デバイスがそれの間に前記通信デバイスの前記しきい値検出距離内にあった時間間隔と、前記第2の通信デバイスがそれとともに前記しきい値検出距離内にあった、前記通信デバイスに関連する1つまたは複数のタグと、前記第2の通信デバイスがそれに従って前記1つまたは複数のタグの前記しきい値検出距離内にあったパターンとのうちの少なくとも1つを備える、判断することと、
前記第2の通信デバイスが前記通信デバイスの前記しきい値検出距離内にあることを示すための、および前記検出パラメータを備える、検出通知メッセージを生成することとを行うように動作可能な前記デバイス検出ユニットをさらに備え、
前記第2の通信デバイスとの前記通信リンクを確立するように動作可能な前記接続確立ユニットが、前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータと前記検出通知メッセージに関連する前記検出パラメータとに少なくとも部分的に基づく、C15に記載の通信デバイス。
【0116】
[C19] 前記接続パラメータは、前記第2の通信デバイスに関連する1つまたは複数の無線ユニットの指示と、前記第2の通信デバイスに関連する前記1つまたは複数の無線ユニットが有効化されるかどうかの指示と、前記第2の通信デバイスに関連する1つまたは複数の通信プロトコルの指示と、前記第2の通信デバイスに関連する1つまたは複数の識別子の指示とのうちの少なくとも1つを備える、C15に記載の通信デバイス。
【0117】
[C20] 前記第2の通信デバイスとの前記通信リンクを確立するように動作可能な前記接続確立ユニットは、
前記通信デバイスと前記第2の通信デバイスとの間の前記通信リンクが確立されたことを示すために、前記第2の通信デバイスに要求メッセージを送信するように動作可能な前記接続確立ユニットと、
前記第2の通信デバイスから、前記第2の通信デバイスにおける前記要求メッセージの受信に肯定応答する確認メッセージを受信するように動作可能な前記接続確立ユニットと、
前記通信デバイスに関連する前記コンテキストタスクを識別する交換メッセージを送信するように動作可能な前記接続確立ユニットとのうちの少なくとも1つをさらに備える、C15に記載の通信デバイス。
【0118】
[C21] 前記コンテキストアウェアネスユニットは、
前記通信デバイスに関連する1つまたは複数のアプリケーションに関連する複数のコンテキストタスクを実行することを判断することであって、前記複数のコンテキストタスクが、前記アプリケーションに関連する前記コンテキストタスクを備える、判断することと、
前記複数のコンテキストタスクをそれにおいて実行すべきシーケンスを判断するために、前記複数のコンテキストタスクの各々に関連する優先順位を判断することとを行うようにさらに動作可能である、C15に記載の通信デバイス。
【0119】
[C22] 1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに動作を実行させる、命令を記憶した1つまたは複数の機械可読記憶媒体であって、前記動作は、
第1の通信デバイスに関連するアプリケーションに関連するコンテキストタスクを実行することを判断することと、
前記第1の通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを判断する前記動作に応答して、第2の通信デバイスが前記第1の通信デバイスからのしきい値検出距離内にあるかどうかを判断することと、
前記第2の通信デバイスが前記第1の通信デバイスからの前記しきい値検出距離内にあると判断したことに応答して、前記第2の通信デバイスに関連する1つまたは複数の接続パラメータに少なくとも部分的に基づいて、前記第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスに関連するサービスリストと前記第1の通信デバイスに関連する前記コンテキストタスクとに少なくとも部分的に基づいて、前記コンテキストタスクを実行すべきかどうかを判断することと、
前記第1の通信デバイスに関連する前記コンテキストタスクを実行することを判断したことに応答して、前記第1の通信デバイスと前記第2の通信デバイスとの間の前記通信リンクを介して前記コンテキストタスクを実行することとを備える、機械可読記憶媒体。
【0120】
[C23] 前記第1の通信デバイスに関連する前記アプリケーションに関連する前記コンテキストタスクを実行することを判断する前記動作が、
前記第1の通信デバイスに関連する前記アプリケーションに少なくとも部分的に基づいて前記コンテキストタスクを識別することと、
前記コンテキストタスクに関連する前記アプリケーションの識別子と、前記コンテキストタスクに関連する識別子と、前記コンテキストタスクを実行するための好適な通信チャネルと、前記コンテキストタスクを実行するための好適な通信プロトコルとのうちの少なくとも1つを備える、前記コンテキストタスクに関連するパラメータを判断することとを備える、C22に記載の機械可読記憶媒体。
【0121】
[C24] 前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると判断する前記動作は、
前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあると判断する前記動作に関連する検出パラメータを判断することであって、前記検出パラメータは、前記第2の通信デバイスがそれの間に前記第1の通信デバイスの前記しきい値検出距離内にあった時間間隔と、前記第2の通信デバイスがそれとともに前記しきい値検出距離内にあった、前記第1の通信デバイスに関連する1つまたは複数のタグと、前記第2の通信デバイスがそれに従って前記1つまたは複数のタグの前記しきい値検出距離内にあったパターンとのうちの少なくとも1つを備える、判断することと、
前記第2の通信デバイスが前記第1の通信デバイスの前記しきい値検出距離内にあることを示すための、および前記検出パラメータを備える、検出通知メッセージを生成することとをさらに備え、
前記第2の通信デバイスとの前記通信リンクを確立する前記動作が、前記第2の通信デバイスに関連する前記1つまたは複数の接続パラメータと前記検出通知メッセージに関連する前記検出パラメータとに少なくとも部分的に基づく、C22に記載の機械可読記憶媒体。
【0122】
[C25] 前記第1の通信デバイスに関連する前記コンテキストタスクを実行すべきかどうかを判断する前記動作は、
前記コンテキストタスクと前記コンテキストタスクに関連する前記アプリケーションとに少なくとも部分的に基づいて、前記コンテキストタスクを実行することに関連する1つまたは複数のコンテキストタスク実行パラメータを判断することであって、前記コンテキストタスク実行パラメータが、前記コンテキストタスクに関連する通信プロトコルとサービスとのうちの少なくとも1つを備える、判断することと、
前記第2の通信デバイスに関連する前記サービスリストに少なくとも部分的に基づいて、前記第2の通信デバイスが前記コンテキストタスクを前記実行することに関連する前記1つまたは複数のコンテキストタスク実行パラメータをサポートするかどうかを判断することとを備える、C22に記載の機械可読記憶媒体。