(57)【特許請求の範囲】
【請求項１】
第1のデバイスと第2のデバイスとの間に第1のワイヤレス通信チャネルを確立するステップと、
第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルを介して、前記第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号を送信するために、前記第1のデバイス上で実行されるアプリケーションによって前記第1のデバイスのトランスミッタにアクセスするステップと、
前記第1のワイヤレス通信チャネルを介して前記第2のデバイスから、前記第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を受信するステップであって、前記MACアドレスが前記第2のワイヤレス通信チャネルに関連付けられている、ステップと、
前記第1のデバイス内の記憶デバイス上に、前記第1のデバイスの前記MACアドレスを記憶するステップと
を備える方法。
【請求項２】
前記第1のワイヤレス通信チャネルが、第1のワイヤレス規格に従って確立され、前記第2のワイヤレス通信チャネルが、前記第1のワイヤレス規格とは異なる第2のワイヤレス規格に従って確立される、請求項1に記載の方法。
【請求項３】
前記第1のワイヤレス規格が、Bluetooth(登録商標、以下同じ)低エネルギー(BLE)であり、前記第2のワイヤレス規格が、Bluetooth基本レート/拡張データレート(BR/EDR)である、請求項2に記載の方法。
【請求項４】
前記第2のデバイス上のイベントの発生を引き起こすように構成された前記1つまたは複数の信号が、前記第2のデバイスに対して前記第1のデバイスの前記MACアドレスを識別する、請求項1に記載の方法。
【請求項５】
前記1つまたは複数の信号が、前記第1のワイヤレス通信チャネルの確立に続く所定の時間ウィンドウ内で送信される、請求項1に記載の方法。
【請求項６】
前記アプリケーションが、前記アプリケーションと前記第1のデバイスのオペレーティングシステムとの間でインターフェースするアプリケーションプログラミングインターフェース(API)を介して前記トランスミッタにアクセスするように構成された、請求項1に記載の方法。
【請求項７】
第3のデバイスから、前記第3のデバイスが接続された1つまたは複数のデバイスに対応する1つまたは複数のMACアドレスのリストに関する情報を受信するステップと、
前記第1のデバイスの前記MACアドレスを取り出すために前記記憶デバイスにアクセスするステップと、
前記リストが前記第1のデバイスの前記MACアドレスを含むことを決定することに基づいて、前記第3のデバイスが前記第1のデバイスに接続されていることを決定するステップと
をさらに備える、請求項1に記載の方法。
【請求項８】
前記第1のデバイス上で実行される前記アプリケーションのユーザインターフェース上に前記第3のデバイスの表現を提示するステップをさらに備える、請求項7に記載の方法。
【請求項９】
前記第1のデバイスが、メディアプレーヤであり、前記第2のデバイスが、ワイヤレス対応オーディオデバイスである、請求項1に記載の方法。
【請求項１０】
前記イベントが、前記ワイヤレス対応オーディオデバイスの音響出力の音量の変化を備える、請求項9に記載の方法。
【請求項１１】
前記音量の変化が、所定のパターンに従う、請求項10に記載の方法。
【請求項１２】
前記音量の変化の大きさが、音響出力の変化に対する人間の知覚に関連するしきい値よりも低い、請求項10に記載の方法。
【請求項１３】
第2のデバイスにおいて、第1のデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信するステップと、
前記第1のワイヤレス通信チャネルとは異なる第2のワイヤレス通信チャネルを介して前記第1のデバイスから、前記第2のデバイス上にイベントを引き起こすように構成された1つまたは複数の信号を受信するステップと、
前記イベントが予想されるイベントと一致することを決定するステップと、
前記第1のワイヤレス通信チャネルを介して前記第2のデバイスから、前記イベントが前記予想されるイベントと一致することを決定することに応答して、前記第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を送信するステップであって、前記MACアドレスが、前記第1のデバイスと前記第2のデバイスとの間の第2のワイヤレス通信チャネルに関連付けられている、ステップと
を備える方法。
【請求項１４】
前記第1のデバイスの前記MACアドレスを表す前記情報が、所定の時間ウィンドウ内に前記1つまたは複数の信号を受信することに応答して前記第2のデバイスから送信される、請求項13に記載の方法。
【請求項１５】
前記所定の時間ウィンドウが、前記第2のデバイスが前記第1のデバイスとの前記第1のワイヤレス通信チャネルの確立の前記通知を受信した時点から計算される、請求項14に記載の方法。
【請求項１６】
前記第1のワイヤレス通信チャネルが、第1のワイヤレス規格に従って確立され、前記第2のワイヤレス通信チャネルが、前記第1のワイヤレス規格とは異なる第2のワイヤレス規格に従って確立される、請求項13に記載の方法。
【請求項１７】
前記第1のワイヤレス規格が、Bluetooth低エネルギー(BLE)であり、前記第2のワイヤレス規格が、Bluetooth基本レート/拡張データレート(BR/EDR)である、請求項16に記載の方法。
【請求項１８】
前記第2のデバイス上のイベントの発生を引き起こすように構成された前記1つまたは複数の信号が、前記第2のデバイスに対して前記第1のデバイスの前記MACアドレスを識別する、請求項13に記載の方法。
【請求項１９】
前記第2のデバイスに関連する記憶場所から前記第1のデバイスの前記MACアドレスを取り出すステップをさらに備える、請求項13に記載の方法。
【請求項２０】
前記第1のデバイスが、メディアプレーヤであり、前記第2のデバイスが、ワイヤレス対応オーディオデバイスである、請求項13に記載の方法。
【請求項２１】
前記イベントが、前記ワイヤレス対応オーディオデバイスの音響出力の音量の変化を備える、請求項20に記載の方法。
【請求項２２】
前記音量の変化が、所定のパターンに従う、請求項21に記載の方法。
【請求項２３】
前記音量の変化の大きさが、音響出力の変化に対する人間の知覚に関連するしきい値よりも低い、請求項22に記載の方法。
【請求項２４】
第1のデバイスと第2のデバイスとの間に第1のワイヤレス通信チャネルを確立するように構成されたワイヤレスプロトコルエンジンと、
第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルを介して、前記第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号を送信するために、前記第1のデバイスのトランスミッタにアクセスするアプリケーションを実行することと、
前記第1のワイヤレス通信チャネルを介し、前記ワイヤレスプロトコルエンジンを介して第2のデバイスから、前記第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を受信することであって、前記MACアドレスが、前記第2のワイヤレス通信チャネルに関連付けられている、ことと、
前記第1のデバイス内の記憶デバイス上に、前記第1のデバイスの前記MACアドレスを記憶することと
を行うように構成された、1つまたは複数の処理デバイスと
を備えるワイヤレス対応デバイス。
【請求項２５】
前記第1のワイヤレス通信チャネルが、第1のワイヤレス規格に従って確立され、前記第2のワイヤレス通信チャネルが、前記第1のワイヤレス規格とは異なる第2のワイヤレス規格に従って確立される、請求項24に記載のデバイス。
【請求項２６】
前記第1のワイヤレス規格が、Bluetooth低エネルギー(BLE)であり、前記第2のワイヤレス規格が、Bluetooth基本レート/拡張データレート(BR/EDR)である、請求項25に記載のデバイス。
【請求項２７】
前記1つまたは複数の信号が、前記第1のワイヤレス通信チャネルの確立に続く所定の時間ウィンドウ内で送信される、請求項24に記載のデバイス。
【請求項２８】
ワイヤレス対応デバイスであって、
リモートデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信し、
前記第1のワイヤレス通信チャネルとは異なる第2のワイヤレス通信チャネルを介して前記リモートデバイスから、前記ワイヤレス対応デバイス上にイベントを発生されるように構成された1つまたは複数の信号を受信する
ように構成されたワイヤレスプロトコルエンジンと、
1つまたは複数の処理デバイスを備える制御エンジンと
を備え、前記制御エンジンが、
前記イベントが予想されるイベントと一致することを決定することと、
前記イベントが前記予想されるイベントと一致することを決定することに応答して、前記ワイヤレスプロトコルエンジンを介し前記第1のワイヤレス通信チャネルを介する送信を引き起こすことであって、前記送信が、前記リモートデバイスの媒体アクセス制御(MAC)アドレスを表す情報を含み、前記MACアドレスが、前記リモートデバイスと前記ワイヤレス対応デバイスとの間の第2のワイヤレス通信チャネルに関連付けられている、ことと
を行うように構成された、ワイヤレス対応デバイス。
【請求項２９】
前記リモートデバイスの前記MACアドレスを表す前記情報が、所定の時間ウィンドウ内に前記1つまたは複数の信号を受信することに応答して前記ワイヤレス対応デバイスから送信される、請求項28に記載のデバイス。
【請求項３０】
前記第1のワイヤレス通信チャネルが、Bluetooth低エネルギー(BLE)規格に従って確立され、前記第2のワイヤレス通信チャネルが、Bluetooth基本レート/拡張データレート(BR/EDR)規格に従って確立される、請求項28に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全体的に、Bluetooth(登録商標、以下同じ)またはBluetooth低エネルギー(BLE)のような通信プロトコルを介して互いに接続またはペアリングされるワイヤレスデバイスに関する。
【背景技術】
【０００２】
ワイヤレス対応デバイス上で実行されるアプリケーションについて、BluetoothまたはBluetooth低エネルギー(BLE)エンジンのようなワイヤレスエンジンへのアクセスは、デバイスのオペレーティングシステムによって制御され得る。オペレーティングシステムがワイヤレスエンジンに関連する媒体アクセス制御(MAC)アドレスへのアプリケーションの露出を制限するいくつかの場合、アプリケーションは、アプリケーションが実行されるデバイスのMACアドレスを知らない場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
一態様では、この文書は、第1のデバイスと第2のデバイスとの間に第1のワイヤレス通信チャネルを確立するステップを含む方法を特徴とする。方法はまた、第1のデバイス上で実行されるアプリケーションによって、第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号を第2のデバイスに送信するために、第1のデバイスのトランスミッタにアクセスするステップを含む。1つまたは複数の信号は、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルを介して送信される。方法は、第1のワイヤレス通信チャネルを介して第2のデバイスから、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を受信するステップと、第1のデバイスによってアクセス可能な記憶デバイス上に、第1のデバイスのMACアドレスの表現を記憶するステップとをさらに含む、MACアドレスは、第2のワイヤレス通信チャネルに関連付けられている。
【０００４】
別の態様では、この文書は、第2のデバイスにおいて、第1のデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信するステップと、第1のワイヤレス通信チャネルとは異なる第2のワイヤレス通信チャネルを介して第1のデバイスから、第2のデバイス上にイベントを引き起こすように構成された1つまたは複数の信号を受信するステップとを含む方法を特徴とする。方法はまた、イベントが予想されるイベントと一致することを決定するステップと、第1のワイヤレス通信チャネルを介して第2のデバイスから、イベントが予想されるイベントと一致することを決定することに応答して、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を送信するステップとを含む。MACアドレスは、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルに関連付けられている。
【０００５】
別の態様では、この文書は、ワイヤレスプロトコルエンジンと、1つまたは複数の処理デバイスとを含むワイヤレス対応デバイスを特徴とする。ワイヤレスプロトコルエンジンは、第1のデバイスと第2のデバイスとの間に第1のワイヤレス通信チャネルを確立するように構成される。1つまたは複数の処理デバイスは、第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号を送信するために第1のデバイスのトランスミッタにアクセスするアプリケーションを実行するように構成される。1つまたは複数の信号は、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルを介して送信される。1つまたは複数の処理デバイスはまた、第1のワイヤレス通信チャネルを介し、ワイヤレスプロトコルエンジンを介して第2のデバイスから、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を受信し、第1のデバイスのMACアドレスの表現を記憶するために記憶デバイスにアクセスするように構成される。MACアドレスは、第2のワイヤレス通信チャネルに関連付けられている。
【０００６】
別の態様では、この文書は、ワイヤレスプロトコルエンジンと、1つまたは複数の処理デバイスを含む制御エンジンとを含むワイヤレス対応デバイスを特徴とする。ワイヤレスプロトコルエンジンは、別のデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信し、第1のワイヤレス通信チャネルとは異なる第2のワイヤレス通信チャネルを介して別のデバイスから、ワイヤレス対応デバイス上にイベントを発生されるように構成された1つまたは複数の信号を受信するように構成される。制御エンジンは、イベントが予想されるイベントと一致することを決定し、イベントが予想されるイベントと一致することを決定することに応答して、ワイヤレスプロトコルエンジンを介し第1のワイヤレス通信チャネルを介する送信を引き起こすように構成される。送信は、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を含む。MACアドレスは、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルに関連付けられている。
【０００７】
上記の態様の実装形態は、以下の特徴のうちの1つまたは複数を含む場合がある。
【０００８】
第1のワイヤレス通信チャネルは、第1のワイヤレス規格に従って確立され得、第2のワイヤレス通信チャネルは、第1のワイヤレス規格とは異なる第2のワイヤレス規格に従って確立され得る。第1のワイヤレス規格は、Bluetooth低エネルギー(BLE)であり得、第2のワイヤレス規格は、Bluetooth基本レート/拡張データレート(BR/EDR)であり得る。第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号は、第2のデバイスに対して第1のデバイスのMACアドレスを識別することができる。1つまたは複数の信号は、第1のワイヤレス通信チャネルの確立に続く所定の時間ウィンドウ内で送信され得る。アプリケーションは、アプリケーションと第1のデバイスのオペレーティングシステムとの間でインターフェースするアプリケーションプログラミングインターフェース(API)を介してトランスミッタにアクセスするように構成され得る。1つまたは複数のMACアドレスのリストに関する情報は、第3のデバイスから受信され得る。MACアドレス情報は、第3のデバイスが接続される1つまたは複数のデバイスに対応することができる。記憶デバイスは、第1のデバイスのMACアドレスを取り出すためにアクセスされ得る。リストが第1のデバイスのMACアドレスを含むことを決定することに基づいて、第3のデバイスが第1のデバイスに接続されていることの決定がなされ得る。第3のデバイスの表現は、第1のデバイス上で実行されるアプリケーションのユーザインターフェース上に提示され得る。
【０００９】
第1のデバイスは、メディアプレーヤであり得、第2のデバイスは、ワイヤレス対応オーディオデバイスであり得る。イベントは、ワイヤレス対応オーディオデバイスの音響出力の音量の変化を含むことができる。音量の変化は、所定のパターンに従うことができる。音量の変化の大きさは、音響出力の変化に対する人間の知覚に関連するしきい値よりも低くすることができる。
【００１０】
第1のデバイスのMACアドレスを表す情報は、所定の時間ウィンドウ内に1つまたは複数の信号を受信することに応答して、第2のデバイスから送信され得る。所定の時間ウィンドウは、第2のデバイスが第1のデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信した時点から計算され得る。第1のデバイスのMACアドレスは、第2のデバイスに関連する記憶場所から取り出され得る。
【００１１】
本明細書に記載された様々な実装形態は、以下の利点のうちの1つまたは複数を提供する場合がある。
【００１２】
第1のデバイス上で実行されるアプリケーションは、第1のデバイスのオペレーティングシステムが第1のデバイスに関連するMACアドレスへの直接アクセスを制限する場合であっても、第2のデバイスから第1のデバイスのMACアドレスを取得することができ得る。その結果、特定の接続されたデバイスから受信された情報に基づいて、アプリケーションは、オペレーティングシステムによって制限されたMACアドレスリストにアクセスする必要なしに、特定のデバイスを一意に識別することができ得る。これにより、次に、アプリケーションが接続されたデバイスの識別情報を(たとえば、ユーザインターフェースを介して)ユーザに提示し、それによって、接続されたデバイスの確認/選択を容易にすることができ得る。
【００１３】
この概要セクションで説明されたものを含む、本開示に記載の特徴のうちの2つ以上は、本明細書で具体的に説明されていない実装形態を形成するために組み合わされ得る。
【００１４】
1つまたは複数の実装形態の詳細は、添付図面および以下の説明において記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】1つまたは複数のホストデバイスと共に複数のアクセサリまたは2次デバイスを含む環境の一例を示す図である。
【図２】ホストデバイスおよび2次デバイスのブロック図である。
【図３Ａ】本明細書に記載の技術に関連する状態図である。
【図３Ｂ】本明細書に記載の技術に関連する状態図である。
【図４】デバイスのMACアドレスを取得するための例示的なプロセスのフローチャートである。
【図５】ホストデバイスのMACアドレス情報を送信するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００１６】
近距離ワイヤレス通信プロトコル(たとえば、Bluetooth)の開発は、スマートフォンまたはタブレットコンピュータのような1つまたは複数のホストデバイスにワイヤレスで接続され得る様々なアクセサリを作り出した。そのようなアクセサリは、たとえば、ワイヤレス対応ヘッドセット、イヤホン、イヤーバッド、補聴器、パーソナル増幅器、ポータブルスピーカ、またはオーディオを再生する他のデバイスのような、様々なタイプのオーディオデバイスを含む。そのようなアクセサリはまた、スマートウォッチ、フィットネストラッカー、または健康関連センサ(たとえば、心拍センサ、ワイヤレス血液酸素化センサ、ECGセンサ、または臨床もしくは非臨床設定において使用される他のセンサ)のような、様々なウェアラブルデバイスを含む。アクセサリデバイスの他の例は、(ホストゲームコンソールに接続する)ゲームコントローラ、リモートコントローラ、車両オーディオシステム、キーボード、マウス、プリンタ、またはディスプレイデバイスのような入力/出力デバイス、および、外部ハードドライブのような記憶デバイスを含むことができる。
【００１７】
いくつかの実装形態では、ホストデバイスからワイヤレス対応アクセサリデバイスを制御することが望ましい場合がある。たとえば、Bluetoothヘッドセットまたは他のBluetoothアクセサリ(たとえば、スピーカ、聴覚補助デバイス、または心拍センサ)を使用する経験は、モバイルデバイスからBluetoothデバイスを制御することを可能にするアプリケーションを提供することによって改善され得る。いくつかの場合には、たとえば、特定のデバイス上のアプリケーションが複数の接続されたデバイスを制御するために使用される場合、ユーザは、様々な接続されたデバイスを一意に識別することができることから利益を得ることができる。アプリケーションが、接続されたデバイスと、アプリケーションが実行されているデバイスの両方に関連するMACアドレスを認識している場合、アプリケーションは、そのような機能性を(たとえば、ユーザインターフェースを介して1つまたは複数の接続されたデバイスのリストを視覚的に提示することによって)提供することができる。たとえば、特定の接続されたデバイスは、それ自体のMACアドレスと、特定のデバイスが接続されたデバイスのMACアドレスとを表す情報を送信してもよい。そのような場合、ホストデバイス(すなわち、アプリケーションが実行されているデバイス)のMACアドレスがアプリケーションに利用可能でない限り、アプリケーションは、特定のデバイスがホストデバイスに接続されているかどうかを決定的に決定することができないことになる。一方、アプリケーションがホストデバイスのMACアドレスを認識すると、アプリケーションは、特定のデバイスがホストデバイスに接続されていることを特定することができる。さらに、MACアドレス(たとえば、Bluetooth接続に関連するMACアドレス)が対応するデバイスに対して一意かつ一定である場合、特定のデバイスに関するMACアドレス情報を記憶することは、デバイスがホストデバイスに再接続したとき、アプリケーションが特定のデバイスを一意に識別することを可能にする。
【００１８】
いくつかの場合、ホストデバイスのオペレーティングシステムは、ホストデバイスに関連するデバイスのMACアドレスへのアクセスを制限する場合がある。これは、ホストデバイス自体のMACアドレス、ならびに、ホストデバイスに接続されたデバイスのMACアドレスを含む場合がある。そのような場合、アプリケーションは、ホストデバイスのMACアドレススタックに直接アクセスできない場合がある。これは次に、ホストデバイスに接続されたデバイスを識別するためにホストデバイス上で実行されるアプリケーションの能力を制限する場合がある。たとえば、ホストデバイスのオペレーティングシステムがBluetoothアドレスリストへのアプリケーションのアクセスを制限する場合、アプリケーションは、ホストデバイスに接続されたBluetoothデバイスを一意に識別することができない場合がある。そのような実装形態では、オペレーティングシステムは、ホストデバイスと別の適切なワイヤレス対応デバイスとの間の補助接続(たとえば、BLE接続)の確立を可能にすることができるが、デバイスの識別は、どちらのデバイスも一意に識別することを防ぐために、ランダム化される場合がある。たとえば、オペレーティングシステムは、BLEを介して接続するときにランダムな解決可能なアドレスを使用する場合があり、したがって、接続されたデバイスは、Bluetooth接続およびBLE接続が同じホストデバイスに対するかどうかを決定論的に解決することができない場合がある。
【００１９】
本明細書で説明される技術は、ホストデバイス上で実行されるアプリケーションが、すでに接続されたデバイスとの補助接続を形成し、補助接続を形成する所定の時間ウィンドウ内で既存の接続を補助接続と相関させることを可能にする。そのような時間ベースの相関は、ホストデバイスが、接続されたデバイスを一意に識別することを可能にする。接続されたデバイスは、ホストデバイスのMACアドレスを認識し、そのMACアドレスに関する情報をアプリケーションに送るように構成され得る。時間ベースの相関は、アプリケーションが、接続されたデバイスをホストデバイスに接続されたものとして一意に識別することを可能にするので、したがって、アプリケーションは、受信されたMACアドレスをホストデバイスのものとして決定することができる。アプリケーションがホストデバイスのMACに関する情報を有すると、アプリケーションは、様々な接続されたデバイスから受信された情報に基づいて、対応する接続されたデバイスの固有のMACアドレスを識別し、そのようなMACアドレスに関する情報を記憶することができる。いくつかの実装形態では、これは、アプリケーションが、デバイスがホストデバイスに再接続するときにデバイスを一意に識別することを可能にする。
【００２０】
アクセサリデバイスは、本明細書では2次デバイスと交換可能に呼ばれる場合があり、ホストデバイス(たとえば、アクセサリデバイスが接続するデバイス、およびアプリケーションが実行されるデバイス)は、1次デバイスと交換可能に呼ばれる場合がある。ホストデバイスの例は、セルラーフォン、スマートフォン、タブレットデバイス、または電子書籍リーダーのようなモバイルデバイスを含むことができる。ホストデバイスの例はまた、ゲームコンソール、メディアストリーミングデバイス、オーディオシステム、または、ラップトップコンピュータもしくはデスクトップコンピュータのようなコンピューティングデバイスを含むことができる。
【００２１】
いくつかの実装形態では、2次デバイスの例として提供されるデバイスは、ホストまたは1次デバイスとして機能することもできる。そのように、特定のデバイスが1次デバイスであるかまたは2次デバイスであるかは、ワイヤレス接続の性質に依存する場合がある。ある接続に関する1次デバイスとして機能するあるデバイスは、別の接続に関する2次デバイスとして機能する場合がある。たとえば、スマートフォンは、ワイヤレス対応ヘッドセットとの接続に関するホストデバイスとして機能することができるが、(たとえば、ゲームコンソールのためのコントローラとして使用するための)ゲームコンソールとの接続に関する2次デバイスとして機能することができる。いくつかの実装形態では、ワイヤレス接続における2つのデバイスは、実質的に同等であり得、ホストデバイスまたは2次デバイスとして交換可能に扱われ得る。いくつかの実装形態では、ある接続に関する2次デバイスであるデバイスは、別の接続に関するホストデバイスとして機能することができる。たとえば、ワイヤレス対応ヘッドセットは、ウェアラブルスマートウォッチのような2次デバイスと接続する際にホストデバイスとして機能してもよく、またはその逆であってもよい。
【００２２】
この文書は、主にBluetooth基本レート/拡張データレート(BR/EDR)接続およびBluetooth低エネルギー(BLE)接続の例を使用して、ホストデバイスと2次デバイスとの間の接続を説明する。簡潔にするために、Bluetooth基本レート/拡張データレート(BR/EDR)は、クラシックBluetooth(CBT)または単にBluetoothと交換可能に呼ばれる場合がある。本明細書における例は、主にBluetoothおよびBLEに基づいているが、他の通信プロトコル(たとえば、近距離無線通信(NFC)、IEEE802.1、または、MACアドレスへのアクセスが対応するオペレーティングシステムによって制限される他のローカルエリアネットワーク(LAN)もしくはパーソナルエリアネットワーク(PAN))は、本明細書で説明される技術の範囲内である。また、2つのデバイス間の接続を設定することは、本文書では、ペアリングと交換可能に呼ばれる。しかしながら、本技術は、本開示の範囲から逸脱することなく、非Bluetoothデバイスおよびそれらの接続に適用され得る。そのように、本文書で使用される「ペアリング」という用語は、Bluetoothデバイスのためのペアリングおよび接続プロセス、BLEデバイスのための接続プロセス、ならびに、対応するワイヤレス規格に従ってワイヤレス対応デバイス間の通信チャネルを確立するための他のプロセスを含むことを意図している。
【００２３】
いくつかの状況では、ワイヤレス環境は、1つまたは複数のホストデバイスとペアリングするために利用可能な複数の2次デバイスを含むことができる。そのような環境100の例が、図1に示されている。例示的な環境100は、複数のホストデバイス105a、105b(全体として105)と、複数のアクセサリまたは2次デバイスとを含む。2次デバイスは、たとえば、複数のヘッドセット110aおよび110b(全体として110)と、スマートウォッチ115と、心拍センサ120と、聴覚補助デバイス125とを含むことができる。そのような状況は、たとえば、個人がBluetoothを介してそれぞれの電話機105に接続可能なワイヤレス対応デバイスを有する場合がある場合に生じる可能性がある。そのような状況では、デバイスを電話機105にペアリングしようとする人は、電話のオペレーティングシステムによって提供されるインターフェース上に複数の利用可能なデバイスのリストを提示される場合がある。しかしながら、電話機105上で実行されるサードパーティのアプリケーションについて、そのようなリストを表示することは、電話機のオペレーティングシステムが電話機105に関連するMACアドレスリストにアプリケーションがアクセスすることを許可するかどうかに依存することになる。
【００２４】
オペレーティングシステムがMACアドレスリストへのアクセスを制限する状況では、特定の電話機105a上で実行されるアプリケーションは、電話機105aのBluetoothアドレスに関する情報へのアクセスを有さず、したがって、接続されたデバイスを一意に識別することができない。たとえば、ヘッドセット110aが、ヘッドセット110aが接続された電話機の固有のBluetoothアドレスを知っている場合、ヘッドセット110aは、電話機105a上で実行されるアプリケーションに(たとえば、BLE接続のような補助接続を介して)情報を送ることができ得る。しかしながら、アプリケーションが電話機105aのBluetoothアドレスに関する情報を有していない場合、アプリケーションは、ヘッドセット110aが電話機105aに接続されているかどうかを決定的に決定することができない。図1の特定の例では、電話機105aのBluetoothアドレスに関する情報がないと、アプリケーションは、ヘッドセット110aから受信されたBluetoothアドレス情報が、電話機105a、またはヘッドセット110aが接続された別のデバイス(たとえば、電話機105bもしくは腕時計115)のBluetoothアドレスに対応するかどうかを決定的に決定することができないことになる。
【００２５】
ホストデバイス(たとえば、スマートフォン105)が2次デバイス(たとえば、ワイヤレス対応ヘッドセット110)との1次接続(たとえば、Bluetooth接続)を確立すると、ホストデバイスのMACアドレス(たとえば、Bluetoothアドレス)は、2次デバイスに利用可能にされる。しかしながら、2次デバイスは、ホストデバイス上で実行されるが、ホストデバイス上のMACアドレスへのアクセスを有していないアプリケーションに、MACアドレスに関する情報を直接送ることはできない。本文書で説明される技術を使用することによって、アプリケーションは、補助接続(たとえば、BLE接続)を確立し、補助接続を確立する所定の時間内に、1次接続(たとえば、Bluetooth接続)を介して2次デバイスに所定の信号を送るように構成され得る。2次デバイスが補助接続の確立の所定の時間ウィンドウ内に所定の信号を受信した場合、2次デバイスは、1次接続および2次接続が両方共同じデバイスに対することを識別するように構成され得る。そのような識別の際に、2次デバイスは、補助接続を介してアプリケーションにホストデバイスのMACアドレス(たとえば、Bluetoothアドレス)を表す情報を送るように構成され得る。これについて、1次接続がBluetooth接続であり、補助接続がBLE接続である例を使用して次に説明する。
【００２６】
図2は、互いにペアリングされているか、互いにペアリングしようとしているホストデバイス205および2次デバイス210のブロック図を示す。いくつかの実装形態では、ホストデバイス205および2次またはアクセサリデバイス210の各々は、1つまたは複数の入力/出力デバイス204と、Bluetoothエンジン215およびBLEエンジン220のような1つまたは複数のワイヤレスプロトコルエンジンとを含むことができる。2次デバイス210の1つまたは複数の動作を制御するサードパーティのアプリケーション208は、ホストデバイス205上で実行されるように構成され得る。たとえば、たとえば、ホストデバイスがスマートフォンであり、2次デバイスがワイヤレス対応ヘッドセットである場合、ヘッドセットの製造業者は、スマートフォンを使用するヘッドセットの制御を可能にするためのサードパーティのアプリケーション208を提供してもよい。スマートフォンのユーザは、オンラインリポジトリからアプリケーション208をダウンロードするか、または他の方法でスマートフォン上にアプリケーション208をインストールすることができ得る。アプリケーション208は、アプリケーションプログラミングインターフェース(API)206を介してホストデバイス205のオペレーティングシステム212と通信することができ得る。いくつかの実装形態では、アプリケーション208はまた、直接、またはAPI206を介して、1つまたは複数の他のエンジン、モジュール、またはデバイスと通信することができ得る。そのような通信の少なくとも一部は、オペレーティングシステム212を介してルーティングされ得る。
【００２７】
2次デバイス210は、1つまたは複数の入力/出力デバイス204と、Bluetoothエンジン215およびBLEエンジン220のような1つまたは複数のワイヤレスプロトコルエンジンとを含むことができる。2次デバイス210はまた、2次デバイス210の様々な他のエンジン、モジュール、またはユニットの動作を制御する制御エンジン225を含むことができる。たとえば、制御エンジン225は、入力/出力デバイス204からの出力(たとえば、オーディオ)を生成するために、入力/出力デバイス(たとえば、スピーカ)204と、Bluetoothエンジン215のようなワイヤレスプロトコルエンジンとの間でインターフェースするように構成され得る。
【００２８】
ホストデバイス205および2次デバイス210は、1つまたは複数のワイヤレス通信チャネルを確立するために互いに協働するように構成され得る。ホストデバイス205および2次デバイス210がBluetoothデバイスであるいくつかの実装形態では、2つのデバイスのBluetoothエンジン215は、ペアリングおよび接続プロセスを介して2つのデバイス間に1次通信チャネル201を確立するように構成される。そのような接続の確立に際して、ホストデバイス205のBluetoothエンジンは、ホストデバイス205のMACアドレス(この例ではBluetoothアドレス)を2次デバイス210に通信する。しかしながら、オペレーティングシステム212は、アプリケーション208がホストデバイスのMACアドレスを取得することができないように、ホストデバイス205のBluetoothエンジン215へのサードパーティのアプリケーション208のアクセスを制限する場合がある。
【００２９】
いくつかの実装形態では、ホストデバイス205および2次デバイス210は、2つのデバイス間に補助通信チャネル202を確立することができる。図2の例では、補助通信チャネル202は、接続プロセスを使用して対応するデバイスのBLEエンジン220によって確立され得るBLEチャネルである。いくつかの実装形態では、補助通信チャネル202は、識別情報の交換を容易にする低帯域幅チャネルであり得るが、たとえば、より高い帯域幅の1次通信チャネル201を介してデバイス間で交換され得る高ビットレートデータをサポートしない。識別情報は、たとえば、デバイスのMACアドレス(たとえば、デバイスに関連するBluetoothアドレスまたはBLEアドレス)を含むことができる。
【００３０】
いくつかの実装形態では、Bluetoothペアリングおよび接続プロセスおよび/またはBLE接続プロセスは、たとえば、直接ホストデバイス205のオペレーティングシステム212を介して、または、Bluetoothペアリングプロセスを開始するためにAPI206を介してオペレーティングシステム212と通信するアプリケーション208を使用して開始され得る。1次通信チャネル201の確立のプロセスは、Bluetooth問い合わせスキャンまたはページスキャンを含むことができる。そのようなスキャンの間、ホストデバイス205のBluetoothエンジン215(Bluetoothスタックと呼ばれることもある)は、近傍の他のBluetoothデバイスを検出する「問い合わせ」モードにあることができる。2次デバイス210のBluetoothエンジン215は、他のデバイスからの問い合わせを検出し、それに応じて応答する「問い合わせスキャン」モードにあることができる。ホストデバイスが近傍の他の利用可能なデバイスを識別または発見すると、1次接続201は、たとえば、自動的に、または特定のデバイスとペアリングするための命令を示すユーザ入力に応答して、発見されたデバイスのうちの1つまたは複数に対して確立される。
【００３１】
いくつかの実装形態では、入力/出力デバイス204は、たとえば、ホストデバイス205とペアリングされたアクセサリまたは2次デバイス210のリストを含むユーザインターフェースを提示するように構成されたディスプレイを含むことができる。いくつかの実装形態では、ユーザインターフェースは、サードパーティのアプリケーション208によって提供され得る。そのような場合、アプリケーション208は、ホストデバイス205に接続された1つまたは複数の2次デバイス210を一意に識別するように構成され得る。いくつかの実装形態では、2次デバイスの識別は、図3Aおよび図3Bにおける状態図を使用して表されるプロセスを使用して実行され得る。
【００３２】
図3Aに示す状態図300は、1次接続によって2次デバイスにすでに接続されているホストデバイス上で実行されるアプリケーションの状態の例示的なシーケンスを示す。具体的には、図3Aの例は、BLE接続を補助接続として確立することによってホストデバイスのBluetoothアドレスを(1次接続のMACアドレスとして)取得するアプリケーション208の状態のシーケンスを説明する。いくつかの実装形態では、アプリケーションは、BLE規格に従って2次デバイスとの接続を開始する(304)前に、アイドル状態302にあることができる。状態304では、アプリケーション208は、接続を開始するためにホストデバイスのBLEエンジン220にアクセスするように構成され得る。いくつかの実装形態では、アプリケーション208は、ホストデバイスのオペレーティングシステム212を介してBLEエンジン220にアクセスすることができる。
【００３３】
BLE接続を開始すると、アプリケーションは、接続の確認を待つように構成され得る(306)。いくつかの実装形態では、たとえば、所定の時間ウィンドウの間に定期的に確認の受信のチェックが実行され得る(308)。いくつかの実装形態では、確認が所定の時間ウィンドウ内に(たとえば、3秒以内に)受信されない場合、アプリケーションは、接続失敗を決定し、アイドル状態302に移動するように構成され得る。
【００３４】
一方、所定の時間ウィンドウ内にBLE接続の確立の確認を受信すると、アプリケーション208は、1つまたは複数の信号が2次デバイスにおける所定のイベントの発生を引き起こすように、1次接続(この場合にはBluetooth)を介して1つまたは複数の信号の送信を開始するように構成され得る。これは、たとえば、ホストデバイスのBluetoothエンジン215にアクセスすることによって行われ得る。1つまたは複数の信号の送信は、接続確立の確認を受信する所定の時間ウィンドウ(たとえば、500ms)内に1次接続を介して信号が送信されるように開始され得る。2次デバイスがオーディオ出力を生成することができるデバイスであるいくつかの実装形態では、イベントは、音量変化の所定のパターンであり得る。いくつかの実装形態では、イベントは、2次デバイスのユーザにとって知覚できない、または非侵入型のものであり得る。たとえば、2次デバイスがヘッドセット(または別のオーディオデバイス)である場合、イベントは、ヘッドセットのユーザによって知覚できないか、またはかすかに知覚可能な音量変化であり得る。たとえば、音量の変更の大きさは、オーディオ出力の変化に対する人間の知覚に関連するしきい値よりも低くすることができる。
【００３５】
一例では、1つまたは複数の信号の送信を開始することは、2次デバイスの音量が所定のパターンに従う追加の増分を可能にするレベルであるかどうかをチェックすることを含むことができる(310)。音量の現在のレベルがそのような増分を可能にする場合、アプリケーション208は、所定のパターンにおいて音量を増分し、次いでオプションで減分する1つまたは複数の信号の送信を開始することができる(312)。たとえば、128の離散レベル(たとえば、0〜127)を可能にする音量範囲について、1つまたは複数の信号は、1また2レベルずつ音量を増分する(および、オプションで、たとえば、音量レベルを元のレベルに戻すように同じレベル数ずつ音量を減分する)ようにされ得る。一方、音量の現在のレベルが所定のパターンに従う増分を可能にしない場合、アプリケーション208は、別の所定のパターンに従って音量を減分し、次いでオプションで増分する1つまたは複数の信号の送信を開始してもよい(314)。たとえば、1つまたは複数の信号は、1つまたは複数の信号は、1また2レベルずつ音量を減分する(および、オプションで、たとえば、音量レベルを元のレベルに戻すように同じレベル数ずつ音量を増分する)ようにされ得る。そのような小さい変更は、2次デバイスにおいて実施されたとき、2次デバイスのユーザにとって、かろうじてかすかに知覚可能であり得る。
【００３６】
アイドル状態302にあるとき、アプリケーションはまた、任意のBLEデバイスが接続を報告しているかどうかをチェックするように構成され得る(318)。1つまたは複数のBLEデバイスが接続を報告していることを決定すると、アプリケーションは、ホストデバイスのBLEエンジン220にアクセスすることによってBLEデバイスに接続するように構成され得る(320)。いくつかの実装形態では、複数のBLEデバイスが接続を報告しているとき、アプリケーションは、接続する2次デバイスを選択するように構成され得る。そのような選択は、たとえば、複数の2次デバイスに関連する受信信号強度インジケータ(RSSI)に基づいて行われ得る。いくつかの実装形態では、アプリケーション208は、1つまたは複数の信号が、BLEデバイスに接続する所定の時間ウィンドウ内に2次デバイスにおける所定のイベントの発生を引き起こすように、1次Bluetooth接続を介して1つまたは複数の信号の送信を開始するように構成され得る。たとえば、送信は、BLEデバイスへの接続の500ms以内に開始され得る。
【００３７】
1次接続を介する1つまたは複数の信号の送信に際して、アプリケーションは、BLE接続を介するMACアドレス通知を待つように構成され得る(316)。2次デバイスは、信号を受信すると、1次接続を介して受信された信号が補助BLE接続の確立後の所定の時間ウィンドウ内に受信されたかどうかを決定する。信号が所定の時間ウィンドウ内に受信されたことを決定した際にのみ、2次デバイスは、1次接続および補助接続が同じホストデバイスからのものであるという相関を決定する。相関を決定すると、2次デバイスは、補助BLE接続を介してホストデバイスの(1次接続に関連する)MACアドレスに関する情報を送信する。
【００３８】
アプリケーション208は、そのようなMACアドレス情報が補助BLE接続を介して受信されたかどうかをチェックするように構成され得る(318)。そのような情報が受信された場合、アプリケーションは、補助BLE接続を介してホストデバイスに現在接続されている2次デバイスが、1次Bluetooth接続を介してホストデバイスに接続されているデバイスでもあることを決定することができる。したがって、アプリケーションは、受信されたMACアドレス情報をホストデバイスのBluetoothアドレスであると決定し、情報を後のアクセスのために記憶デバイス上に保存する(320)。一方、アプリケーションがどのようなMACアドレス情報の受信も検出しない場合、アプリケーションは、補助BLE接続を介してホストデバイスに現在接続されている2次デバイスが、1次Bluetooth接続を介してホストデバイスに接続されているデバイスとは異なることを決定することができる。したがって、アプリケーションは、2次デバイスとのBLE接続を切断し、利用可能であり得る別のBLEデバイスとの接続に進むことができる(322)。これは、たとえば、MACアドレス情報が2次デバイスから受信されるか、またはすべての利用可能なBLEデバイスがチェックされるまで継続することができる。
【００３９】
図3Bに示す状態図350は、2次デバイスの状態の例示的なシーケンスを示す。具体的には、図3Bの例は、補助BLE接続を介してホストデバイスのBluetoothアドレスを提供するBluetoothヘッドセットにおける状態のシーケンスを説明する。いくつかの実装形態では、2次デバイスは、最初はアイドル状態352にある。いくつかの実装形態では、1次Bluetooth接続を介してホストデバイスにすでに接続されている可能性がある2次デバイスは、補助BLE接続の確立の通知をチェックする(354)。そのような通知を受信すると、2次デバイスは、2次デバイスが1次Bluetooth接続チャネルを介するホストデバイスからの1つまたは複数の信号を待つ状態356に入る。この特定の例では、1つまたは複数の信号は、音量変化を示すことができる。2次デバイスは、補助BLE接続の確立の通知の受信に続く所定の時間ウィンドウの間、1つまたは複数の信号を待つように構成され得る。たとえば、1つまたは複数の信号が補助BLE接続の確立の通知の受信から500ms以内に受信されない場合、2次デバイスは、アイドル状態352に戻るように構成され得る。
【００４０】
1つまたは複数の信号を受信すると、2次デバイスは、1つまたは複数の信号によって示される音量変化が音量変化の所定のまたは予想されるパターンと一致するかどうかをチェックするように構成され得る(358)。1つまたは複数の信号によって示される音量変化が予想される変化を示さない場合、2次デバイスは、アイドル状態352に戻るように構成され得る。一方、(所定の時間ウィンドウ内に受信された)1つまたは複数の信号によって示される音量変化が音量変化の予想されるパターン(たとえば、図3Aに関して上記で説明した増分および/または減分の1つまたは複数のレベル)と一致する場合、2次デバイスは、補助BLE接続および1次Bluetooth接続が同じデバイスに対するものであることを決定することができる。そのような決定に際して、2次デバイスは、補助BLE接続を介する通知を使用して1次接続に関連するMACアドレス(この例ではBluetoothアドレス)に関する情報を送るように構成され得る(360)。これは、たとえば、2次デバイスのBLEエンジン220と協働して(図2中の)2次デバイス210の制御エンジン225によって行われ得る。
【００４１】
いくつかの実装形態では、1次Bluetooth接続を介して1つまたは複数の信号を受信するために、2次デバイスは、Bluetoothプロファイルに関連する要求が受信されたかどうかをチェックする(360)。そのような要求を受信すると、2次デバイスは、2次デバイスがBluetoothプロファイルに従う接続を待つ状態に入る(362)。いくつかの実装形態では、Bluetoothプロファイルは、ホストデバイスが音量制御命令を送るために使用することができるオーディオ/ビデオリモートコントロールプロファイル(AVRCP)であり得る。2次デバイスはまた、AVRCPプロファイル下での成功した接続をチェックするように構成され得る(364)。成功したAVRCP接続に際して、2次デバイスは、音量変化を示す1つまたは複数の信号を受信するのを待つために(上記で説明したように)状態356に移動することができる。
【００４２】
図4は、デバイスのMACアドレスを取得するための例示的なプロセス400のフローチャートを示す。プロセス400は、少なくとも部分的に、ホストデバイスの1つまたは複数のプロセッサ上で実行するアプリケーション(たとえば、図2に関して説明したサードパーティのアプリケーション208)によって実施され得る。プロセス400の動作は、第1のデバイスと第2のデバイスとの間に第1のワイヤレス通信チャネルを確立することを含む(410)。いくつかの実装形態では、第1のデバイスは、ホストデバイス(たとえば、スマートフォンまたはメディアプレーヤ)であり、第2のデバイスは、2次デバイスまたはアクセサリデバイス(たとえば、ヘッドセットのようなワイヤレス対応オーディオデバイス)である。
【００４３】
プロセス400の動作はまた、第2のデバイス上のイベントの発生を引き起こすように構成された1つまたは複数の信号を、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルを介して送信するために、第1のデバイス上で実行されるアプリケーションによって第1のデバイスのトランスミッタにアクセスすることを含む(420)。いくつかの実装形態では、トランスミッタは、図2に関して上記で説明したBluetoothエンジン215に関連付けられ得る。第1のワイヤレス通信チャネルは、第1のワイヤレス規格(たとえば、BLE)に従って確立され得、第2のワイヤレス通信チャネルは、第1のワイヤレス規格とは異なる第2のワイヤレス規格(たとえば、Bluetooth基本レート/拡張データレート(BR/EDR))に従って確立され得る。1つまたは複数の信号は、たとえば、第1のワイヤレス通信チャネルの確立に続く所定の時間ウィンドウ(たとえば、500ms以下)内に送信され得る。アプリケーションは、アプリケーションが実行されるデバイスのオペレーティングシステムを介してトランスミッタにアクセスするように構成され得る。アクセスは、アプリケーションとオペレーティングシステムとの間をインターフェースするAPIによって容易にされ得る。イベントは、たとえば、図3Aに関して上記で説明したパターンのような、音量増分および減分の所定のパターンを含むことができる。いくつかの実装形態では、音量変化通知が有効な信号として2次デバイスによって解釈されることを確実にするために、メディアファイル(たとえば、音楽トラックまたは無音トラック)がホストデバイス上で再生され得る。
【００４４】
プロセス400の動作は、第1のワイヤレス通信チャネルを介して、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を受信することをさらに含み、MACアドレスは、第2のワイヤレス通信チャネルに関連付けられている(430)。たとえば、MACアドレスは、さもなければ、ホストデバイスのオペレーティングシステムによって課せられた制限のためにアプリケーションに利用できないホストデバイスのBluetoothアドレスであり得る。動作はまた、第1のデバイスによってアクセス可能な記憶デバイス上に、第1のデバイスのMACアドレスの表現を記憶することを含む。記憶デバイスは、ホストデバイスに対してローカルであり得、または、ネットワークを介してホストデバイスにアクセス可能な遠隔地にあり得る。
【００４５】
ホストデバイスのMACアドレスが取得され保存されると、第1のデバイス(またはホストデバイス)は、ホストデバイスに接続された他のデバイスのMACアドレスを識別するように構成され得る。たとえば、第3のデバイスは、第3のデバイスのMACアドレスと、第3のデバイスが接続されている1つまたは複数のデバイスのMACアドレスとを含む1つまたは複数のMACアドレスのリストに関する情報をホストデバイスに送ることができる。それ自体のMACアドレスを記憶場所から取り出すことによって、ホストデバイスは、第3のデバイスがホストデバイスに接続されていることを決定するように構成され得る。デバイスがホストデバイスに再接続されたときにデバイスが容易に識別され得るように、第3のデバイスの識別されたMACアドレスも記憶され得る。いくつかの実装形態では、識別されたデバイスは、ホストデバイスのディスプレイデバイス上に提示されるユーザインターフェース上にアプリケーションによって提示され得る。いくつかの実装形態では、プロセス400は、アプリケーションが実行されるホストデバイスのMACアドレスをアプリケーションが取得していない(またはそれへのアクセスを有さない)ことを決定したときにのみ実行され得る。
【００４６】
図5は、デバイスのMACアドレスを送信するための例示的なプロセス500のフローチャートを示す。プロセス500は、少なくとも部分的に、1次接続を介してホストデバイスに接続された2次デバイス(たとえば、ワイヤレス対応ヘッドセット)において実施され得る。2次デバイスは、1次接続の確立中にホストデバイスの(1次接続に関連する)MACアドレスを認識し、その後、ホストデバイス上で実行されるアプリケーションにホストデバイスのMACアドレスに関する情報を提供するためのプロセス500を実施することができる。たとえば、プロセス500の少なくとも一部は、図2に関して説明したような2次デバイス210の制御エンジン225によって実行され得る。プロセス500の動作は、たとえば、第1のデバイスとの第1のワイヤレス通信チャネルの確立の通知を第2のデバイスにおいて受信することを含む(510)。第2のデバイスは、2次デバイスまたはアクセサリデバイス(たとえば、ヘッドセットのようなワイヤレス対応オーディオデバイス)であり得、第1のデバイスは、ホストデバイス(たとえば、メディアプレーヤまたはスマートフォン)であり得る。第1のワイヤレス通信チャネルは、BLE規格に従って確立され得る。
【００４７】
プロセス500の動作はまた、第2のワイヤレス通信チャネルを介して第1のデバイスから、第2のデバイス上にイベントを引き起こすように構成された1つまたは複数の信号を受信することを含むことができる(520)。第2のワイヤレス通信チャネルは、第1のワイヤレスチャネルとは異なり得る。たとえば、第2のワイヤレスチャネルは、Bluetooth規格に従って確立され得る。プロセス500の動作はまた、1つまたは複数の信号によって引き起こされたイベントが予想されるイベントと一致することを決定することを含むことができる(530)。たとえば、1つまたは複数の信号が2次デバイスにおける音量変化を引き起こすように構成された場合、音量変化が予想されるイベントに関連する音量変化の所定のパターンに従うかどうかの決定が行われ得る。1つまたは複数の信号によって引き起こされる音量変化が音量変化の所定のパターンと一致する場合、予想されるイベントが引き起こされたと決定され得る。いくつかの実装形態では、1つまたは複数の信号は、1つまたは複数の信号が第1のワイヤレス通信チャネルの確立の所定の時間ウィンドウ内に受信された場合にのみ、予想されるイベントが生じたかどうかを決定する際に使用され得る。いくつかの実装形態では、1つまたは複数の信号は、第2のデバイスに対して第1のデバイスのMACアドレスを識別することができる。
【００４８】
プロセス500の動作は、第1のワイヤレス通信チャネルを介して第2のデバイスから、イベントが予想されるイベントと一致することを決定することに応答して、第1のデバイスの媒体アクセス制御(MAC)アドレスを表す情報を送信することをさらに含む(540)。MACアドレスは、第1のデバイスと第2のデバイスとの間の第2のワイヤレス通信チャネルに関連付けられ得る。たとえば、MACアドレスは、ホストデバイスのBluetoothアドレスであり得る。第1のデバイスのMACアドレスを表す情報は、所定の時間ウィンドウ(たとえば、500ms以下)内に1つまたは複数の信号を受信することに応答して第2のデバイスから送信され得る。そのような所定の時間ウィンドウは、たとえば、第2のデバイスが第1のデバイスとの第1のワイヤレス通信チャネルの確立の通知を受信した時点から計算され得る。ホストデバイスのMACアドレスは、2次デバイスに関連する記憶デバイスから取り出され得る。
【００４９】
本明細書に記載された機能性、またはその一部は、およびその様々な変更(以下、「機能」)は、少なくとも部分的に、コンピュータプログラム製品、たとえば、1つまたは複数のデータ処理装置、たとえば、プログラマブルプロセッサ、コンピュータ、複数のコンピュータ、および/またはプログラマブル論理構成要素によって実行するため、またはそれらの動作を制御するために、1つまたは複数の非一時的機械可読媒体のような情報担体において有形に具体化されたコンピュータプログラムによって実装される。
【００５０】
いくつかの実装形態では、API(たとえば、JSON/XML出力を有するRESTful API)および/または埋込み可能なプラグインは、サードパーティのウェブサイトおよびアプリケーションが、オペレーティングシステム、および/または、BluetoothエンジンもしくはBLEエンジンのような1つまたは複数のワイヤレスプロトコルエンジンと対話することを可能にするように構成され得る。
【００５１】
コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含む任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、もしくは、コンピューティング環境において使用するのに適した他の単位として、を含む、任意の形態において展開され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトにおいて、もしくは複数のサイトにわたって分散され、ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【００５２】
機能のすべてまたは一部を実施することに関連するアクションは、本明細書に記載されたプロセスの機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。機能のすべてまたは一部は、専用論理回路、たとえば、FPGAおよび/またはASIC(特定用途向け集積回路)として実装され得る。
【００５３】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサとを含む。一般に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信することになる。コンピュータの構成要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含む。
【００５４】
本明細書に具体的に記載されていない他の実施形態も、以下の特許請求の範囲内にある。本明細書に記載された異なる実装形態の要素は、上記に具体的に記載されていない他の実施形態を形成するために組み合わされ得る。要素は、それらの動作に悪影響を及ぼすことなく、本明細書に記載された構造から除外され得る。さらに、様々な別個の要素は、本明細書に記載された機能を実行するために、1つまたは複数の個々の要素に組み合わされ得る。
【符号の説明】
【００５５】
100  環境
105a  ホストデバイス、電話機
105b  ホストデバイス、電話機
110a  ヘッドセット
110b  ヘッドセット
115  スマートウォッチ、腕時計
120  心拍センサ
125  聴覚補助デバイス
201  1次通信チャネル、1次接続
202  補助通信チャネル
204  入力/出力デバイス
205  ホストデバイス
206  アプリケーションプログラミングインターフェース(API)、API
208  サードパーティのアプリケーション、アプリケーション
210  2次デバイス
212  オペレーティングシステム
215  Bluetoothエンジン
220  BLEエンジン
225  制御エンジン
【図１】
0006574316.tif 000002
【図２】
0006574316.tif 000003
【図３Ａ】
0006574316.tif 000004
【図３Ｂ】
0006574316.tif 000005
【図４】
0006574316.tif 000006
【図５】
0006574316.tif 000007