(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスのブルートゥースユニットを介して１つまたは複数のアドバタイズメントパケットを受信することであって、前記１つまたは複数のアドバタイズメントパケットはそれぞれのブルートゥースデバイスに関連付けられている、受信することと、
前記受信された１つまたは複数のアドバタイズメントパケットに基づいて、前記ブルートゥースユニットの処理ユニットを介して、前記コンピューティングデバイスの場所が変化したと判定することであって、前記判定することは、前記受信された１つまたは複数のアドバタイズメントパケットを１つまたは複数の基準アドバタイズメントパケットと比較することを含む、判定することと、
前記コンピューティングデバイスが場所を変えたと判定することに応答して、前記コンピューティングデバイスのアプリケーション処理ユニットの場所検出機能を有効にすることと
を含み、
前記コンピューティングデバイスの場所が変化したかどうかを判定することが、前記受信された１つまたは複数のアドバタイズメントパケットに基づいて移動の確率を計算し、前記移動の確率を閾値と比較することをさらに含む、方法。
【請求項２】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの座標場所データを含み、前記座標場所データは、局所的な基準点からの相対場所情報を含む、請求項１に記載の方法。
【請求項３】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの広域場所データを含み、前記広域場所データは、地理座標系データを含んでいるデータを含む、請求項１に記載の方法。
【請求項４】
前記１つまたは複数の基準アドバタイズメントパケットが、前記ブルートゥースユニットを介して行われた以前のスキャンで記憶されている、請求項１に記載の方法。
【請求項５】
前記アプリケーション処理ユニットが、前記座標場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項２に記載の方法。
【請求項６】
前記アプリケーション処理ユニットが、前記広域場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項３に記載の方法。
【請求項７】
前記コンピューティングデバイスが
前記アプリケーション処理ユニットを介して、初期基準場所データを取得し、
初期基準場所データを取得した後に前記アプリケーション処理ユニットを無効にすること
をさらに含む、請求項１に記載の方法。
【請求項８】
コンピューティングデバイスであって、
１つまたは複数のプロセッサと、
ブルートゥースユニットを介して１つまたは複数のアドバタイズメントパケットを受信するように構成された受信器を備えるブルートゥースユニットであって、前記１つまたは複数のアドバタイズメントパケットはそれぞれのブルートゥースデバイスに関連付けられている、ブルートゥースユニットと、
前記コンピューティングデバイスの場所を判定するように構成されたアプリケーション
処理ユニットと、
前記１つまたは複数のプロセッサによって実行されると前記コンピューティングデバイスに機能を行わせるプログラム命令が記憶されたコンピュータ可読媒体と
を備え、前記機能は、
前記受信された１つまたは複数のアドバタイズメントパケットに基づいて、前記コンピューティングデバイスの場所が変化したかどうかを判定することであって、前記判定することは、前記受信された１つまたは複数のアドバタイズメントパケットを１つまたは複数の基準アドバタイズメントパケットと比較することを含む、判定することと、
前記コンピューティングデバイスが場所を変えたと判定することに応答して、前記コンピューティングデバイスの前記アプリケーション処理ユニットの場所検出機能を有効にすることと
を含み、
前記コンピューティングデバイスの場所が変化したかどうかを判定することが、前記受信された１つまたは複数のアドバタイズメントパケットに基づいて移動の確率を計算し、前記移動の確率を閾値と比較することをさらに含む、コンピューティングデバイス。
【請求項９】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの座標場所データを含み、前記座標場所データは、局所的な基準点からの相対場所情報を含み、
前記アプリケーション処理ユニットが、前記座標場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項８に記載のコンピューティングデバイス。
【請求項１０】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの広域場所データを含み、前記広域場所データは、地理座標系データを含んでいるデータを含み、
前記アプリケーション処理ユニットが、前記広域場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項８に記載のコンピューティングデバイス。
【請求項１１】
前記１つまたは複数の基準アドバタイズメントパケットが、前記ブルートゥースユニットを介して行われた以前のスキャンで記憶されている、請求項８に記載のコンピューティングデバイス。
【請求項１２】
前記アプリケーション処理ユニットが、前記アプリケーション処理ユニットを介して、初期基準場所データを取得するように構成されることと、
前記機能が、初期基準場所データを取得した後に前記アプリケーション処理ユニットを無効にすることをさらに含むことと
をさらに含む、請求項８に記載のコンピューティングデバイス。
【請求項１３】
１つまたは複数のプロセッサによって実行されると、コンピューティングデバイスに関連して機能を行わせるプログラム命令が記憶されたコンピュータ可読媒体であって、前記機能は、
コンピューティングデバイスのブルートゥースユニットを介して１つまたは複数のアドバタイズメントパケットを受信することであって、前記１つまたは複数のアドバタイズメントパケットはそれぞれのブルートゥースデバイスに関連付けられている、受信することと、
前記受信された１つまたは複数のアドバタイズメントパケットに基づいて、前記ブルー
トゥースユニットの処理ユニットを介して、前記コンピューティングデバイスの場所が変化したと判定することであって、前記判定することは、前記受信された１つまたは複数のアドバタイズメントパケットを１つまたは複数の基準アドバタイズメントパケットと比較することを含む、判定することと、
前記コンピューティングデバイスが場所を変えたと判定することに応答して、前記コンピューティングデバイスのアプリケーション処理ユニットの場所検出機能を有効にすることと
を含み、
前記コンピューティングデバイスの場所が変化したかどうかを判定することが、前記受信された１つまたは複数のアドバタイズメントパケットに基づいて移動の確率を計算し、前記移動の確率を閾値と比較することをさらに含む、コンピュータ可読媒体。
【請求項１４】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの座標場所データを含み、前記座標場所データは、局所的な基準点からの相対場所情報を含み、
前記アプリケーション処理ユニットが、前記座標場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記それぞれのブルートゥースデバイスに関連付けられている前記１つまたは複数のアドバタイズメントパケットが、前記それぞれのブルートゥースデバイスの広域場所データを含み、前記広域場所データは、地理座標系データを含んでいるデータを含み、
前記アプリケーション処理ユニットが、前記広域場所データに基づいて前記コンピューティングデバイスの前記場所を判定するように構成される、請求項１３に記載のコンピュータ可読媒体。
【請求項１６】
前記１つまたは複数の基準アドバタイズメントパケットが、前記ブルートゥースユニットを介して行われた以前のスキャンで記憶されている、請求項１３に記載のコンピュータ可読媒体。
【請求項１７】
前記コンピューティングデバイスが
前記アプリケーション処理ユニットを介して、初期基準場所データを取得し、
初期基準場所データを取得した後に前記アプリケーション処理ユニットを無効にすること
をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]  本願は、２０１４年７月１０日に出願された米国特許出願第１４／３２８，００５号に対する優先権を主張し、同特許出願は、参照により全体が本明細書に組み込まれる。
【背景技術】
【０００２】
[0002]  本明細書中で特に指摘されない限り、この項目に記載される題材は、本願の特許請求の範囲にとって従来技術ではなく、この項目に含められることによって従来技術であると認められるものではない。
【０００３】
[0003]  パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、着用型コンピュータ、および数えきれないほどの種類のインターネット対応デバイスなどの携帯型コンピューティングデバイスが、現代生活の数多くの面で普及している。例えば、１人の消費者が、スマートフォン、ラップトップコンピュータ、キーボード、およびマウスを、可能性としては同時に操作するのは普通のことである。複数個の携帯型デバイスの消費者が増えるのに従って、ワイヤレス技術に対する需要は、そのような携帯型デバイスの使用において役割を果たし続けている。そのため、多数の用途でそのような携帯型デバイスを局所的に接続するために、様々な形態のワイヤレス技術が発展している。複数の携帯型デバイスの間でデータをやり取りするためのワイヤレス技術標準の１つは、ブルートゥースとして広く知られている。
【発明の概要】
【０００４】
[0004]  ブルートゥースは、普通、携帯型デバイスを、短い距離を介して１つまたは複数の他の携帯型デバイスとワイヤレスに接続するために使用される。例えば、ブルートゥースを使用して携帯電話をワイヤレスヘッドセットに接続し、可能性としては手を使わずに電話機を使用できるようにすることができる。場合によっては、ブルートゥースを使用して携帯電話を自動車のオーディオスピーカおよびマイクロフォンに接続して、可能性としては自動車を操作しながら、手を使わずに電話機を使用できるようにすることができる。このように、多数の用途が、ブルートゥースを、電線に替わる標準的なプロトコルとして成長させてきた。複数の用途において、ブルートゥースは、低費用のソリューションおよび電力消費が低くなるように設計されたプロトコルのために、特に魅力的であり続けている。
【０００５】
[0005]  本明細書の例示的実施形態は、ブルートゥース低エネルギースキャンを介して動き検出を提供することが可能な、方法、コンピューティングデバイス、およびコンピュータ可読媒体を開示する。ブルートゥース低エネルギースキャンを使用して動きを検出することにより、ブルートゥース低エネルギースキャンよりも多くのエネルギーを使用する動き検出コンポーネントを、動きが検出されるまで無効にしておくことができる。
【０００６】
[0006]  一例では、方法が提供される。この方法は、コンピューティングデバイスのブルートゥースユニットを介して１つまたは複数のアドバタイズメントパケットを受信することを含む。１つまたは複数のアドバタイズメントパケットは、それぞれのブルートゥースデバイスに関連付けられているようにすることができる。さらに、方法は、受信された１つまたは複数のアドバタイズメントパケットに基づいて、コンピューティングデバイスの場所が変化したかどうかを判定することを含む。判定することは、受信された１つまたは複数のアドバタイズメントパケットを、１つまたは複数の基準アドバタイズメントパケットの組と比較することを含む。また、方法は、コンピューティングデバイスが場所を変えたと判定することに応答して、アプリケーション処理ユニットの場所検出機能を有効にすることを含む。
【０００７】
[0007]  別の例では、コンピューティングデバイスが提供される。このコンピューティングデバイスは、１つまたは複数のプロセッサとブルートゥースユニットとの両方を含む。ブルートゥースユニットは、送信器および受信器の両方を含むことができる。送信器は、ブルートゥーススキャンを行うように構成することができる。受信器は、１つまたは複数のアドバタイズメントパケットを受信するように構成することができる。１つまたは複数のアドバタイズメントパケットの各々は、それぞれのブルートゥースデバイスに関連付けられているようにすることができる。コンピューティングデバイスは、コンピューティングデバイスの場所を判定するように構成されたアプリケーション処理ユニットも含むこともできる。さらに、コンピューティングデバイスは、１つまたは複数のプロセッサによって実行されるとコンピューティングデバイスに機能を行わせるプログラム命令が記憶されたコンピュータ可読媒体も含むことができる。この機能は、受信された１つまたは複数のアドバタイズメントパケットに基づいて、コンピューティングデバイスの場所が変化したかどうかを判定することを含む。判定することは、受信された１つまたは複数のアドバタイズメントパケットを、１つまたは複数の基準アドバタイズメントパケットの組と比較することを含む。また、機能は、コンピューティングデバイスが場所を変えたと判定することに応答して、アプリケーション処理ユニットの場所検出機能を有効にすることを含む。
【０００８】
[0008]  さらに別の例では、コンピューティングデバイスが提供される。このコンピューティングデバイスは、プロセッサと、プロセッサによって実行されるとコンピューティングデバイスに機能を行わせるプログラム命令が記憶されたコンピュータ可読媒体とを含むことができる。機能は、コンピューティングデバイスのブルートゥースユニットを介して、１つまたは複数のアドバタイズメントパケットを受信することを含む。１つまたは複数のアドバタイズメントパケットは、それぞれのブルートゥースデバイスに関連付けられているようにすることができる。さらに、機能は、受信された１つまたは複数のアドバタイズメントパケットに基づいて、コンピューティングデバイスの場所が変化したかどうかを判定することを含む。判定することは、受信された１つまたは複数のアドバタイズメントパケットを、１つまたは複数の基準アドバタイズメントパケットの組と比較することを含む。また、機能は、コンピューティングデバイスが場所を変えたと判定することに応答して、アプリケーション処理ユニットの場所検出機能を有効にすることを含む。アプリケーション処理ユニットは、コンピューティングデバイスの場所を判定するように構成することができる。
【０００９】
[0009]  上記ならびに他の態様、利点、および代替形態は、適宜添付図面を参照しながら以下の詳細な説明を読むことにより、当業者に明らかになろう。
【図面の簡単な説明】
【００１０】
【図１】[0010]例示的なコンピューティングデバイスの図である。
【図２】[0011]例示的なコンピューティングデバイスの概略図である。
【図３】[0012]例示的なネットワーク化されたサーバクラスタの概略図である。
【図４Ａ】[0013]例示的なブルートゥースデバイスの概略図である。
【図４Ｂ】[0014]別の例示的なブルートゥースデバイスの概略図である。
【図４Ｃ】[0015]例示的なアドバタイズメントパケットの図である。
【図５】[0016]ブルートゥースデバイスの近くに位置するコンピューティングデバイスを示す図である。
【図６】[0017]ブルートゥース低エネルギースキャンを介して動き検出を提供する例示的方法の流れ図を示す。
【発明を実施するための形態】
【００１１】
[0018]  以下の詳細な説明では、添付図面を参照して、開示されるシステムおよび方法の様々な特徴および機能を説明する。図では、文脈が別途示さない限り、同様の符号は同様の構成要素を識別する。本明細書に記載される例示のためのシステムおよび方法の実施形態は、制限的なものではない。開示されるシステムおよび方法の特定の態様は、種々の異なる構成でアレンジし、組み合わせることが可能であり、そのような構成はすべて本明細書で企図されることは容易に理解できよう。
【００１２】
[0019]  上記のように、ブルートゥースは、電線に替わる標準的なプロトコルとして成長を続けており、電力消費が低くなるように設計されたプロトコルのために、特に魅力的であり続けている。詳細には、ブルートゥース低エネルギー（BLE（Bluetooth Low Energy））は、低電力デバイスが、複数の他のコンピューティングデバイスと通信するためのプロトコルを提供する。例えば、１つまたは複数のバッテリによって給電可能なコンピューティングデバイスを考えられたい。さらに、そのコンピューティングデバイスがワイヤレスヘッドセットや支払いデバイスなどの他のコンピューティングデバイスと通信するために、ＢＬＥのプロトコルを利用すると考える。例えば、コンピューティングデバイスの音楽再生アプリケーションが、ワイヤレスヘッドセットに音楽をストリーミングすることができる。詳細には、ＢＬＥのプロトコルは、ＢＬＥアドバタイズプロトコル（本明細書では、「アドバタイズプロトコル」または「アドバタイズパケット」と呼ぶ場合もある）を含むことができ、コンピューティングデバイスは、可能性としてはコンピューティングデバイスをワイヤレスヘッドセットと「ペアリング（pair）」するか、または接続するために、自身の存在をワイヤレスヘッドセットなどの他のコンピューティングデバイスに「宣伝（advertise）」、または通知することができる。そのため、アドバタイズプロトコルは、コンピューティングデバイスがコンピューティングデバイスの低い電力消費を保ちながら、ワイヤレスヘッドセットとペアリングすることができるように設計されている。
【００１３】
[0020]  加えて、ＢＬＥは、コンピューティングデバイスが、一度に２つ以上のデバイスと同時に対話できるようにすることもできる。例えば、コンピューティングデバイスは、そのコンピューティングデバイスの近傍に位置するブルートゥースデバイスを発見するためにブルートゥーススキャンを行うことができる。コンピューティングデバイスがワイヤレスブルートゥーススキャンを行うと、そのブルートゥーススキャンの範囲内にある各種のブルートゥースデバイスが、それに応答して、スキャンを行っているコンピューティングデバイスにアドバタイズパケットを送り返すことができる。
【００１４】
[0021]  ＢＬＥのアドバタイズプロトコルにはいくつかの他の利点がある。例えば、上述のシナリオを考えると、コンピューティングデバイスは、他のプロトコルを使用するよりも、アドバタイズプロトコルを使用する方が、コンピューティングデバイスの近傍に位置するブルートゥースデバイスを高速に（かつより少ない消費エネルギーで）発見することができる。詳細には、アドバタイズプロトコルは、ワイヤレススペクトル、例えば２．４ＧＨｚのワイヤレススペクトルの３つのチャネルに固定することができる。したがって、ワイヤレススペクトルの全体はスキャンしないことにより、コンピューティングデバイスは、３つの固定されたチャネルを通じて他のブルートゥースデバイスを検出して、他のプロトコルよりも高速にＢＬＥアドバタイズメントパケット（本明細書では「アドバタイズメントパケット」と呼ぶ場合もある）を送受信することができる。
【００１５】
[0022]  アドバタイズメントパケットの電力使用が低いことの追加的な利益は、コンピューティングデバイスが、近隣のブルートゥースデバイスを求めるスキャンを使用して、そのコンピューティングデバイスが移動したかどうかを判定できる場合があることである。ブルートゥーススキャンを使用してアドバタイズメントパケットを受信することにより、コンピューティングデバイスは、コンピューティングデバイスがブルートゥーススキャンから移動を検出するまで、追加的な場所検出ハードウェアの電源を切っておくことができる場合がある。そのため、ブルートゥーススキャンを使用してコンピューティングデバイスの移動を検出することにより、コンピューティングデバイスは、場所検出ハードウェアを必要時にのみ有効にすることによって、バッテリ電力をより効率的に使用できる可能性がある。
【００１６】
[0023]  したがって、本明細書の実施形態は、ブルートゥース低エネルギースキャンを介して動き検出を提供するための例示的な方法、デバイス、およびコンピュータ可読媒体を提供する。そのため、単一のデバイス、例えばコンピューティングデバイスが、そのコンピューティングデバイスのブルートゥーススキャンの範囲内にある複数のブルートゥースデバイスから、複数のアドバタイズメントパケットを受信することができる。詳細には、アドバタイズメントパケットの各々は、何らかの関連付けられたデータを含むことができる。さらに、各アドバタイズメントパケットに関連付けられたデータは、そのアドバタイズメントパケットを送信しているそれぞれのブルートゥースデバイスの何らかの位置情報を示すデータを含むことができる。そのため、コンピューティングデバイスは、それぞれのブルートゥースデバイスの何らかの位置情報を示すデータを含んでいる少なくとも１つのアドバタイズメントパケットを受信することができる。さらに、上記のシナリオでは、コンピューティングデバイスは、第２のブルートゥーススキャンを行うことができる。第２のスキャンの結果、コンピューティングデバイスは、近隣のブルートゥースデバイスからアドバタイズメントパケットを受信する可能性がある。したがって、コンピューティングデバイスは、受信されたアドバタイズメントパケットの数およびそれらのアドバタイズメントパケットに含まれているデータの両方を比較して、そのコンピューティングデバイスが移動したかどうかを判定することができる。コンピューティングデバイスが移動している場合には、コンピューティングデバイス内のプロセッサが、それに応答して場所検出ハードウェアを有効にして、より精密なデバイスの場所を得ることができる。
【００１７】
[0024]  図１は、例示的なコンピューティングデバイスを示す。図１のシナリオ１００に示されるように、コンピューティングデバイス１０２はスマートフォン（すなわちコンピューティングデバイス）として例示し、コンピューティングデバイス１０４は、デジタルテレビまたはモニタとして例示し、コンピューティングデバイス１０６はテーブルコンピュータとして例示し、コンピューティングデバイス１０８は別のスマートフォンとして例示することができる。ただし、図１に提供されるコンピューティングデバイス１０２〜１０８の構成は、例示のみを目的とすることを理解されたい。例えば、コンピューティングデバイス１０２は、様々な種類の着用型コンピューティングデバイスの中でもとりわけ、上記のシナリオに記載されるようにコンピューティングデバイスである可能性がある。また、場合によっては、コンピューティングデバイス１０２は、種々の可能性の中でもとりわけ、ラップトップコンピュータ、タブレットコンピュータ、および／または人間インターフェースデバイスである可能性がある。そのため、コンピューティングデバイス１０２は、例えば、ブルートゥース低エネルギースキャンを介して動き検出を提供することの関連で上記に記載されたコンピューティングデバイスのいずれの形態を取ってもよい。
【００１８】
[0025]  さらに、図１に示すように、コンピューティングデバイス１０２は、いくつかの他のコンピューティングデバイスとペアリングまたは接続することができる。例えば、コンピューティングデバイス１０２は、接続１１０を通じてコンピューティングデバイス１０４とペアリングまたは接続することができる。さらに、コンピューティングデバイス１０２は、接続１１２を通じてコンピューティングデバイス１０６ともペアリングまたは接続することができる。さらに、コンピューティング１０２は、接続１１４を通じてコンピューティングデバイス１０８ともペアリングまたは接続することができる。また、接続１１０、１１２、および１１４は、種々の種類の接続の中でもとりわけ、ＢＬＵＥＴＯＯＴＨ（登録商標）接続および／またはブルートゥース低電力エネルギー（LPE）接続などの２地点間ワイヤレス接続とすることができる。
【００１９】
[0026]  場合によっては、コンピューティングデバイス１０２は、いくつかのアプリケーションを決定することができる。例えば、例えばアプリケーション１１６、１１８、および１２０が、コンピューティングデバイス１０２にダウンロードされることが可能である。場合によっては、アプリケーション１１６は、可能性としてはコンピューティングデバイス１０４のより大きなディスプレイに映像を表示するために、コンピューティングデバイス１０２からコンピューティングデバイス１０４に映像をストリーミングするための映像再生アプリケーションである可能性がある。さらに、アプリケーション１１８は、可能性としてはコンピューティングデバイス１０６のグラフィカルユーザインターフェース（GUI）を使用して情報に改変を加えるために、コンピューティングデバイス１０２からコンピューティングデバイス１０６に情報を送るためのプレゼンテーションアプリケーション、ワードアプリケーション、および／または表計算アプリケーションである可能性がある。さらに、アプリケーション１２０は、コンピューティングデバイス１０２とコンピューティングデバイス１０８の間でデータを送信するためのスマートフォンアプリケーションである可能性もある。コンピューティングデバイス１０２の各種アプリケーションは、コンピューティングデバイス１０４、１０６、および１０８の１つに支払い情報を通信することが可能な支払いアプリケーションの形態を取る場合もある。さらに他の実施形態では、コンピューティングデバイス１０２のアプリケーションは、コンピューティングデバイス１０８など近隣のコンピューティングデバイスを見つけるアプリケーションの形態を取る場合もある。
【００２０】
[0027]  図２は、例示的コンピューティングデバイスの概略図を示す。場合によっては、コンピューティングデバイス２００は、例えば、図１との関係で上記に記載されたコンピューティングデバイスのいずれか、または、本明細書に記載される方法および機能を行うように構成することが可能な同様のデバイスの形態を取ることができる。この例では、コンピューティングデバイス２００は、プロセッサ２０２、データ記憶２０４、ネットワークインターフェース２０６、および入力／出力機能２０８を含み、これらはすべてシステムバス２１０または同様の機構によって結合することができる。プロセッサ２０２は、１つまたは複数の汎用プロセッサ、および／または１つまたは複数の専用プロセッサ（例えば、特定用途集積回路、デジタル信号プロセッサ、ネットワークプロセッサ、アプリケーション処理ユニット等）などの１つまたは複数のＣＰＵを含むことができる。
【００２１】
[0028]  そして、データ記憶２０４は、揮発性および／または不揮発性のデータ記憶からなることができ、全体または一部がプロセッサ２０２と統合され得る。データ記憶２０４は、プロセッサ２０２により実行可能なプログラム命令、および、それらの命令によって操作されて本明細書に記載される様々な方法、処理、または機能を実行することができるデータを保持することができる。それに代えて、それらの方法、処理、または機能は、ハードウェア、ファームウェア、ならびに／または、ハードウェア、ファームウェア、およびソフトウェアの任意の組み合わせによって定義することもできる。例として、データ記憶２０４内のデータは、本明細書または添付図面に開示される方法、処理、または機能のいずれかを実行するためにプロセッサ２０２により実行可能な、場合によっては非一時的なコンピュータ可読媒体に記憶されたプログラム命令を含むことができる。
【００２２】
[0029]  ネットワークインターフェース２０６は、ＢＬＵＥＴＯＯＴＨ（登録商標）などのワイヤレス接続の形態を取ることができる。詳細には、ネットワークインターフェース２０６は、ＢＬＥプロトコルおよびそれに関連するアドバタイズプロトコルを含む、１つまたは複数のブルートゥース標準またはプロトコルを有効にすることができる。さらに、ネットワークインターフェース２０６は、アドバタイズパケットを他のコンピューティングデバイスに送信するための無線機を含むことができる。例えば、再度図１を参照すると、コンピューティングデバイス１０２は、コンピューティングデバイス１０４〜１０６とペアリングするためのネットワーク２０６も含むことができる。また、ネットワークインターフェース２０６は、ＩＥＥＥ８０２．１１（Wi-Fi）またはワイドエリアワイヤレス接続など、他のワイヤレス接続の形態を取ることもできる。ただし、他の形態の物理的層接続および他の種類の標準または独自開発の通信プロトコルが、ネットワークインターフェース２０６を通じて使用されてよい。さらに、ネットワークインターフェース２０６は、複数の物理インターフェースを備えることができる。さらに、ネットワークインターフェース２０６は、イーサネット接続など、ワイヤライン接続の形態を取ることもできる。
【００２３】
[0030]  入力／出力機能２０８は、例示的なコンピューティングデバイス２００とのユーザ対話を助けることができる。入力／出力機能２０８は、キーボード、マウス、タッチ画面など、複数種類の入力装置を備えることができる。同様に、入力／出力機能２０８は、画面、モニタ、プリンタ、または１つもしくは複数の発光ダイオード（LED）など、複数種類の出力装置を備えることができる。それに加えて、またはそれに代えて、例示的なコンピューティングデバイス２００は、ネットワークインターフェース２０６を介して、またはユニバーサルシリアルバス（USB）や高精細マルチメディアインターフェース（HDMI）ポートなどの別のインターフェース（図示せず）を介して、別のデバイスからの遠隔アクセスを支援することができる。
【００２４】
[0031]  場所特定サービス２１０は、コンピューティングデバイス２００が自身の場所を地理的に特定できるようにするのを助けることができる。様々な実施形態で、場所特定サービス２１０は様々な形態を取ることができる。例えば、場所特定サービス２１０は、全地球測位システム（GPS）、セルラーネットワークの場所特定、ｗｉｆｉを利用した場所特定、またはコンピューティングデバイスの場所を特定する他の手段を含むことができる。いくつかの実施形態では、場所特定サービス２１０は、コンピューティングデバイスのエネルギーを比較的多量に消費する可能性がある。そのため、不使用時には場所特定サービス２１０の電源を切っておくことが望ましい場合がある。さらに、場合によっては、場所特定サービス２１０が、ＧＰＳ衛星、セルラーネットワーク、および／またはｗｉｆｉネットワークを検出できない場合がある。場所設定手段が利用できないとき、または場所設定手段の信号が非常に弱いとき、場所特定サービス２１０は通常よりもさらに多くの電力を消費する可能性がある。そのため、状況によっては、コンピューティングデバイスが、場所提供信号が弱い地域にある時には、場所特定サービス２１０の電源を切っておくことが望ましい可能性がある。さらに、いくつかの追加的な実施形態では、コンピューティングデバイスが移動していない時には、既知の場所情報が変化しないので、場所特定サービス２１０の電源を切っておくことが望ましい可能性がある。
【００２５】
[0032]  いくつかの実施形態では、コンピューティングデバイス２００は、デバイスプラットフォームまたはオペレーティングシステム（図示せず）を含むことができる。場合によっては、デバイスプラットフォームまたはオペレーティングシステムは、ブルートゥース、ブルートゥース低エネルギー（BLE）プロトコル、および／またはＢＬＥのアドバタイズプロトコルと互換性がある場合がある。場合によっては、デバイスプラットフォームまたはオペレーティングシステムは、多階層のＬｉｎｕｘプラットフォームまたはオペレーティングシステムとして構成されることもある。デバイスプラットフォームは、種々のアプリケーションおよびアプリケーションフレームワーク、ならびに各種カーネル、ライブラリ、および実行時エンティティを含むことができる。他の例では、他のフォーマットまたはシステムでコンピューティングデバイス２００を動作させることも可能である。
【００２６】
[0033]  いくつかの実施形態では、１つまたは複数のコンピューティングデバイスが、可能性としては図１に示されるように、ネットワーク化されたアーキテクチャとして配備される場合がある。コンピューティングデバイスの正確な物理的場所、接続性、および構成は、他のコンピューティングデバイスには知られていない、および／または重要でないことがある。そのため、図１および図２のコンピューティングデバイスは、様々な遠隔の場所に収容されている可能性のある「クラウドベース」のデバイスと呼ぶこともできる。
【００２７】
[0034]  図３は、ネットワーク化されたサーバクラスタの概略図を示す。詳細には、サーバデバイス３０６は、例えば、図１および図２との関係で上記に記載したいずれかのコンピューティングデバイスの形態を取ることができる。図３では、コンピューティングデバイス２００の機能は、サーバデバイス３０６、クラスタデータ記憶３０８、およびクラスタルータ３１０間に分散させることができ、それらはすべてローカルクラスタネットワーク３１２によって接続可能である。サーバクラスタ３０４内のサーバデバイス、クラスタデータ記憶、およびクラスタルータの数は、サーバクラスタ３０４に割り当てられるコンピューティング作業および／またはアプリケーションに依存する可能性がある。
【００２８】
[0035]  例えば、サーバデバイス３０６は、コンピューティングデバイス２００の各種コンピューティング作業を行うように構成することができる。そのため、コンピューティング作業は、サーバデバイス３０６の１つまたは複数に分散させることができる。そのようなコンピューティング作業を並列に行える限りにおいて、そのような作業の分散により、それらの作業を完了して結果を返すのにかかる合計時間を減らすことができる。
【００２９】
[0036]  クラスタデータ記憶３０８は、ハードディスクドライブの群への読出しおよび書込みアクセスを管理するように構成されたディスクアレイコントローラを含む、データ記憶アレイとすることができる。ディスクアレイコントローラは、単独で、またはサーバデバイス３０６と連携して、クラスタデータ記憶３０８に記憶されているデータのバックアップまたは冗長コピーを管理して、ディスクドライブの障害、またはサーバデバイス３０６の１つもしくは複数がクラスタデータ記憶３０８のユニットにアクセスできなくなる他の種類の障害から保護するように構成することもできる。
【００３０】
[0037]  クラスタルータ３１０は、サーバクラスタに内部および外部の通信を提供するように構成されたネットワーキング機器を含むことができる。例えば、クラスタルータ３１０は、（ｉ）クラスタネットワーク３１２を介したサーバデバイス３０６とクラスタデータ記憶３０８との間のネットワーク通信、および／または、（ｉｉ）ネットワーク３００への通信リンク３０２を介したサーバクラスタ３０４と他のデバイスとの間のネットワーク通信、を提供するように構成された１つまたは複数のパケット交換デバイスおよび／または経路選定デバイスを含むことができる。
【００３１】
[0038]  加えて、クラスタルータ３１０の構成は、サーバデバイス３０６およびクラスタデータ記憶３０８のデータ通信要件、ローカルクラスタネットワーク３１２の待ち時間およびスループット、通信リンク３０２の待ち時間、スループット、および費用、ならびに／またはシステムアーキテクチャの費用、速度、耐障害性、回復力、効率および／もしくは他の設計上の目標に寄与し得る他の要因、に少なくとも部分的に基づくことができる。
【００３２】
[0039]  図４Ａは、例示的なブルートゥースデバイスの概略図を示す。詳細には、ブルートゥースデバイス４００は、例えば、上記のシナリオに記載したコンピューティングデバイスのいずれかと合体することができる。場合によっては、ブルートゥースデバイス４００は、可能性としてはブルートゥースモジュールとして、上記のコンピューティングデバイスのいずれかに組み込まれてもよい。例えば、上記のシナリオのように、ブルートゥースデバイス４００は、ワイヤレスヘッドセットおよび携帯型キーボードにアドバタイズメントパケットを送るために、コンピューティングデバイスに組み込むことができる。
【００３３】
[0040]  この例では、ブルートゥースデバイス４００は、アプリケーションマネジャ４０２、ホストスタック４０６、コントローラ４１０、および無線４１４を含む。詳細には、アプリケーションマネジャ４０２は、システムバス４０６または同様の機構によりホストスタック４０６に結合されることが可能である。さらに、ホストスタック４０６は、システムバス４０８または同様の機構によりコントローラ４１０に結合されることが可能である。さらに、コントローラ４１０は、システムバス４１２または同様の機構により無線に結合されることが可能である。
【００３４】
[0041]  コントローラ４１０は、物理ブルートゥースコントローラインターフェースを含むことができる。さらに、物理ブルートゥースコントローラインターフェースは、可能性としてはブルートゥースデバイス４００にダウンロードされたアプリケーションについてアドバタイズメントパケットを送信するために、物理ブルートゥース静的ランダム（BSR）アドレス４１０Ａに対応することができる。例えば、上記のシナリオを再度参照し、ブルートゥースデバイス４００がコンピューティングデバイスと一体化されていると考える。そのため、音楽再生アプリケーションをブルートゥースデバイス４００にダウンロードすることができる。さらに、コントローラ４１０は、音楽再生アプリケーションについてのアドバタイズメントパケットを送信するために、ＢＳＲアドレス４１０Ａに対応することができる。
【００３５】
[0042]  ブルートゥースデバイス４００は、機能性に応じて異なるモードで動作することができる。場合によっては、ブルートゥースデバイス４００の機能性は、ブルートゥースデバイス４００のユーザによって制御される場合がある。上記のシナリオを考えると、ユーザが、ブルートゥースデバイス４００に、またはコンピューティングデバイス２００、可能性としてはブルートゥースデバイス４００と合体している可能性のあるコンピューティングデバイスに、入力を提供することができる。詳細には、ユーザは、可能性としてはグラフィカルユーザインターフェース（GUI）である入力／出力機能２０８に入力を提供して、音楽再生アプリケーションを開始し、ワイヤレスヘッドセットに音楽をストリーミングすることができる。そのため、ブルートゥース４００の動作モードはアドバタイズモードを含むことができる。
【００３６】
[0043]  いくつかの実施形態では、アドバタイズモードは、ブルートゥースデバイス４００が周期的にアドバタイズパケットを送信することを伴う。さらに、ブルートゥースデバイス４００は、他のデバイスから要求があると、より多くの情報で応答することができる。また、ブルートゥース４００は、スキャンモード、親デバイスモード、および子デバイスモードなどの他のモードも有することができる。いくつかの実施形態では、スキャナモードは、ブルートゥースデバイス４００が、他のデバイスから送信されたアドバタイズメントパケットを検知しようとする（listen）ことを含むことができる。
【００３７】
[0044]  いくつかの実施形態では、ブルートゥースデバイス４００は、アドバタイズメントモードで別のコンピューティングデバイスとの接続を確立することができる。例えば、上記のシナリオを再度参照し、ブルートゥースデバイス４００がコンピューティングデバイスと一体化されていると考える。そのため、ワイヤレスヘッドセットは、ブルートゥースデバイス４００から送られる望ましいアドバタイズパケットを求めてスキャンすることができる。アドバタイズメントパケットを受信すると、ワイヤレスヘッドセットは、ブルートゥースデバイス４００にペアリング要求または接続要求を送ることができる。ペアリングが確立されると、ワイヤレスヘッドセットが子デバイスになることができ、ブルートゥースデバイス４００が親デバイスになることができる。
【００３８】
[0045]  図４Ｂは、別の例示的ブルートゥースデバイスの概略図を示す。詳細には、ブルートゥースデバイス４２０は、例えば、図１〜図４Ａとの関係で上記に記載したコンピューティングデバイスおよびブルートゥースデバイスのいずれかの形態を取ることができる。例えば、図４Ａに示すように、ブルートゥースデバイス４２０も、アプリケーションマネジャ４０２、ホストスタック４０６、コントローラ４１０、および無線４１４を含む。さらに、アプリケーションマネジャ４０２は、システムバス４０４または同様の機構によりホストスタック４０６に結合されることが可能である。さらに、ホストスタック４０６は、システムバス４０８または同様の機構によりコントローラ４１０に結合されることが可能である。さらに、コントローラ４１０は、システムバス４１２または同様の機構により無線に結合されることが可能である。
【００３９】
[0046]  アプリケーション４２２、４２４、および４２６は、ブルートゥースデバイス４２０および／またはブルートゥースデバイス４２０と合体されたコンピューティングデバイスにダウンロードすることができる。場合によっては、アプリケーション４２２、４２４、および４２６は、例えば、図１との関係で上記に記載されたアプリケーション１１６、１１８、および１２０の形態をそれぞれ取ることができる。さらに、アプリケーション４２２、４２４、および４２６は、それぞれアプリケーションインターフェース４２８、４３０、および４３２を通じて、アプリケーションマネジャ４０２とアドバタイズメントデータをやり取りすることができる。さらに、アプリケーション４２４と４２６の間の省略記号で示されるように、追加的なアプリケーションが、アプリケーションマネジャ４０２とアドバタイズメントデータのやり取りを試みる可能性がある。さらに、アプリケーション４２２、４２４、および４２６は、アプリケーションマネジャ４０２と通信して、他のデバイス（図４には図示せず）とアドバタイズメントパケットをやり取りすることができる。
【００４０】
[0047]  いくつかの実施形態では、ブルートゥースデバイス４２０は、アドバタイズメントモードに入って、アプリケーション４２２、４２４、および４２６について無線を介してアドバタイズメントパケットを送信することができる。上記のように、コントローラ４１０には、他のコンピューティングデバイスにアドバタイズメントパケットを送信するために単一のブルートゥース静的アドレス４１０Ａを割り当てることができる。例えば、ブルートゥースデバイス４２０は、ＢＳＲアドレス４１０Ａを含むようにアドバタイズメントパケット４３６を作成することができる。そのため、アドバタイズメントパケット４３６は、アプリケーション１０２、１０４、および１０６の１つまたは複数について、無線４１４を通じて送信される可能性がある。
【００４１】
[0048]  図４Ｃは、例示的なアドバタイズメントパケットを示す。詳細には、アドバタイズメントパケット４４０は、例えば、図１〜図４Ｂとの関係で上記に記載したアドバタイズメントパケットのいずれかの形態を取ることができる。いくつかの追加的な実施形態では、ブルートゥースタグがアドバタイズメントパケット４４０を通信することができる。ブルートゥースタグは、固定された場所を持つように、かつ場所データを含んでいるアドバタイズメントパケット４４０でブルートゥーススキャンに応答するように構成することができる。図４Ｃに示すように、アドバタイズメントパケット４４０は、プリアンブル４４２、アクセスアドレス４４４、２〜３９バイトのペイロードデータ単位（PDU）４４６、および巡回冗長検査（CRC）４４８を含むことができる。
【００４２】
[0049]  また、ＰＤＵ４４６は、ヘッダ４５０、および６〜３７バイトのアドバタイズメントペイロード４５２を含むことができる。さらに、アドバタイズメントペイロード４５２は、ヘッダ４５４、ＭＡＣアドレス４５６、および最大３１バイトのアドバタイズメントデータ４５８を含むことができる。上記のシナリオで述べたように、この３１バイトの空間が、アプリケーション４２２、４２４、および４２６について送信できるアドバタイズメントデータを制約する可能性がある。詳細には、コンピューティングデバイス４２０は、可能性としてはアプリケーション４２２、４２４、および４２６の１つまたは２つについて、１つのアドバタイズメントパケット４３６を送信する場合がある。例えば、３１バイトの空間で、アプリケーション４２２および４２４のアドバタイズメントデータは可能であるが、アプリケーション４２６は可能でない見込みが高い。さらに別の例で、３１バイトの空間は、アドバタイズメントパケットを介して通信される可能性のある場所データを含むことがある。しかし、場合によっては、図１のアプリケーション４２４と４２６と間の省略記号で示されるように、追加的なアプリケーションが存在する可能性がある。そのため、追加的なアプリケーションは、３１バイトの空間の制約と、１つのみのブルートゥース静的アドレス１１８Ａのために、アドバタイズメントデータを送信するための待機期間に遭遇する可能性がある。
【００４３】
[0050]  図５は、ブルートゥースデバイス５０４ａ〜５０４ｉの近くに位置するコンピューティングデバイス５０２があるシナリオ５００を示す。詳細には、図５のシナリオ５００は、コンピューティングデバイス５０２を所有する人物が建物の中を歩き回っているシナリオに相当する可能性がある。例えば、シナリオ５００は、オフィスビル、店舗などで発生する可能性がある。加えて、シナリオ５００は、コンピューティングデバイス５０２が、図６のブロック６０２〜６０８の１つまたは複数によって示される、１つまたは複数の工程、処理、および／または機能を行うことを含む可能性がある。
【００４４】
[0051]  コンピューティングデバイス５０２を所有する人物が、入口５０６から建物に入ることができる。人物が建物に入ると、建物のために、標準的な場所特定サービス（例えば図２の場所特定サービス２１０）が正しく働かなくなる可能性がある。例えば、建物がＧＰＳ信号を部分的に遮断する可能性がある。別の例では、建物が場所の検出を妨げるために、建物が原因となって場所特定サービスが通例よりも多くのエネルギーを使用する場合がある。そのため、建物の中で動作する際には、場所特定サービスは正しく働かないか、または通常より大幅に多いバッテリ電力を消費する可能性がある。さらに、場所特定サービスが正しく機能していない時、または高い消費電力になる見込みである時は、コンピューティングデバイス５０２が自身の場所特定サービスを無効にすることが望ましいこともある。
【００４５】
[0052]  いくつかの実施形態では、建物の入口５０６は、コンピューティングデバイスが建物に入る時にコンピューティングデバイスの場所特定サービスが正しく働く最後の地点である可能性がある。加えて、入口５０６は、コンピューティングデバイスに対して基準データとして機能することもできる。入口は、場所特定サービスがモバイルに正しい場所情報を提供する地点である可能性がある。したがって、いくつかの実施形態では、コンピューティングデバイスが入口５０６に対する自身の位置を算出できると、有利である可能性がある。さらに、コンピューティングデバイスの正確な場所は、入口５０６からの基準データと、コンピューティングデバイス５０２の相対的な位置とに基づいて計算することができる。
【００４６】
[0053]  店舗は、ブルートゥースデバイス５０４ａ〜５０４ｉを備えることができる。ブルートゥースデバイス５０４ａ〜５０４ｉは、図５に示すようにグリッド状に配置されるか、またはブルートゥースデバイス５０４ａ〜５０４ｉは異なるレイアウトに配置することができる。ブルートゥースデバイス５０４ａ〜５０４ｉは、コンピューティングデバイス５０２などのコンピューティングデバイスがブルートゥーススキャンを行うのを待つように構成することができる。ブルートゥーススキャンに応答して、ブルートゥースデバイス５０４ａ〜５０４ｉは、アドバタイズパケット５１０ａ〜５１０ｄなどのアドバタイズパケットで応答することができる。いくつかの実施形態では、ブルートゥーススキャンの範囲内にあるブルートゥースデバイスだけがアドバタイズパケットで応答することができる。
【００４７】
[0054]  ブルートゥースデバイス５０４ａ〜５０４ｉがアドバタイズパケットを送信する時、各ブルートゥースデバイスは、場所データと共にアドバタイズパケットを送信することができる。特定の実施形態に応じて、場所データは多くの異なる形態を取ることができる。いくつかの実施形態では、ブルートゥースデバイス５０４ａ〜５０４ｉの各々がグリッドシステムに位置する場合がある。グリッドシステムでは、ブルートゥースデバイス５０４ａ〜５０４ｉの各々は、互いのブルートゥースデバイス５０４ａ〜５０４ｉから所定の距離に位置することができる。グリッドは、対称（例えばブルートゥースデバイスの前後および左右の間隔が同一の間隔）、または非対称（例えば、ブルートゥースデバイスの前後の間隔と左右の間隔とが異なる間隔）とすることができる。追加的な実施形態では、ブルートゥースデバイス５０４ａ〜５０４ｉの各々はグリッドに置かれない場合もある。ブルートゥースデバイス５０４ａ〜５０４ｉは、建物内にほぼあらゆる間隔で置かれる可能性がある。そのため、ブルートゥースデバイス５０４ａ〜５０４ｉの実際の場所は、実施形態によっては必要とされない場合もある。
【００４８】
[0055]  ブルートゥースデバイス５０４ａ〜５０４ｉがグリッド状に間隔を空けて設置される実施形態では、ブルートゥースデバイス５０４ａ〜５０４ｉの各々が、スキャンを行っているコンピューティングデバイスに、相対位置情報を含むアドバタイズパケットを通信することができる。相対位置情報は、座標場所データを含むことができる。座標場所データは、入口５０６など、局所的な基準点からの相対的な場所情報の形態を取ることができる。一例では、図５に示すように、コンピューティングデバイス５０２がブルートゥーススキャンを行っている。ブルートゥースデバイス５０４ａ〜５０４ｉのレイアウトでは、ブルートゥースデバイス５０４ｃは、右上に位置し、最も入口５０６に近い。したがって、ブルートゥースデバイス５０４ｃは、入口５０６の左側が１の位置で、入口５０６の下方が０の位置なので、コンピューティングデバイスにアドバタイズメントパケットを通信する際、ブルートゥースデバイス５０４ｃは、座標場所（１，０）を通信することができる。ブルートゥースデバイス５０４ｂは、入口５０６の左側が２の位置で、入口５０６の下方が０の位置なので、ブルートゥースデバイス５０４ｂは座標場所（２，０）を通信することができる。ブルートゥースデバイス５０４ｆは、入口５０６の左側が１の位置で、入口５０６の下方が１の位置なので、ブルートゥースデバイス５０４ｆは座標場所（１，１）を通信することができる。そして、ブルートゥースデバイス５０４ｆは入口５０６の左側が２の位置で、入口５０６の下方が１の位置なので、ブルートゥースデバイス５０４ｅは、座標場所（２，１）を通信することができる。
【００４９】
[0056]  他の実施形態では、ブルートゥースデバイス５０４ａ〜５０４ｉの各々は、スキャンを行っているコンピューティングデバイスに、広域場所データを含むアドバタイズパケットを通信することができる。広域場所データは、地理座標系データを含むデータを含むことができる。地理座標系データは、それぞれのブルートゥースデバイスが位置する地球上の正確な座標の形態を取ることができる。例えば、地理座標系データは、ＧＰＳユニットによって計算されるデータと同じ種類とすることができる。さらに他の一例では、ブルートゥースデバイス５０４ａ〜５０４ｉの各々は、ＧＰＳユニットを備えるか、または各自の正確な座標がデバイス内にプログラムされている場合がある。コンピューティングデバイス５０２がブルートゥーススキャンを行うと、コンピューティングデバイス５０２は、コンピューティングデバイス５０２のブルートゥース範囲内にある各種ブルートゥースデバイスの地理座標系データを受信することができる。
【００５０】
[0057]  図６は、ブルートゥース低エネルギースキャンを介して動き検出を提供する例示的方法の流れ図を示す。詳細には、図６の方法６００は、図１〜図５に関係して上記に記載されたコンピューティングデバイスの１つまたは複数によって実行または実施することができる。例えば、方法６００は、ブルートゥースデバイス５０４ａ〜５０４ｉからアドバタイズメントパケットを受信するために、図５のコンピューティングデバイス５０２によって実行することができる。さらに、方法６００は、ブロック６０２〜６０８の１つまたは複数によって示される１つまたは複数の工程、処理、および／または機能を含むことができる。ブロックは連続した順序で示されるが、それらのブロックのいくつかは、同時に行うこと、および／または図示される順序とは異なる順序で行うことも可能である。また、様々なブロックは、特定の実装形態に基づいて、組み合わせてより少ない数のブロックにする、分割して追加的なブロックを作る、および／または削除されてもよい。
【００５１】
[0058]  ブロック６０２で、方法６００は、コンピューティングデバイスのブルートゥースユニットを介してスキャンを行うことを含む。コンピューティングデバイスは、コンピューティングデバイスの近傍に位置するブルートゥースデバイスを発見することを試みてブルートゥーススキャンを行うことができる。ブルートゥーススキャンの範囲内にあるブルートゥースデバイスは、そのブルートゥースデバイスがスキャンを受信すると、それに応答してアドバタイズパケットをコンピューティングデバイスに送り返すことができる。
【００５２】
[0059]  ブルートゥースのアドバタイズプロトコルは、コンピューティングデバイスにいくつかの利点を提供することができる。アドバタイズプロトコルは、コンピューティングデバイスが、他のプロトコルを使用するよりも、コンピューティングデバイスの近傍に位置するブルートゥースデバイスを高速に（かつより少ない消費エネルギーで）発見できるようにすることができる。詳細には、アドバタイズパケットを送信させるスキャンは、ワイヤレススペクトル、例えば２．４ＧＨｚのワイヤレススペクトルの３つのチャネルに固定することができる。したがって、ワイヤレススペクトルの全体はスキャンしないことにより、コンピューティングデバイスは、３つの固定されたチャネルを通じて他のブルートゥースデバイスを検出することができ、他のプロトコルよりも効率的にアドバタイズメントパケットを送受信することができる。
【００５３】
[0060]  ブロック６０４で、方法６００は、行われたスキャンに応答して、ブルートゥースユニットを介して１つまたは複数のアドバタイズメントパケットを受信することをさらに含む。コンピューティングデバイスがワイヤレスブルートゥーススキャンを行うと、そのブルートゥーススキャンの範囲内にある各種のブルートゥースデバイスが、それに応答して、スキャンを行っているコンピューティングデバイスにアドバタイズパケットを送り返すことができる。したがって、コンピューティングデバイスは、当該ブルートゥーススキャンの範囲にあったブルートゥースデバイスから、少なくとも１つのアドバタイズパケットを受信することができる。１つまたは複数の受信されたアドバタイズメントパケットは、それぞれのブルートゥースデバイスに関連付けられているようにすることができる。加えて、１つまたは複数のアドバタイズメントパケットは、それぞれのブルートゥースデバイスに関連付けられたデータを含むことができる。それぞれのブルートゥースデバイスに関連付けられたデータは、それぞれのブルートゥースデバイスの場所に関連するデータを含むことができる。
【００５４】
[0061]  ブルートゥースデバイスがアドバタイズパケットを送信する時、各ブルートゥースデバイスは、場所データと共にアドバタイズパケットを送信することができる。特定の実施形態に応じて、場所データは多くの異なる形態を取ることができる。例えば、ブルートゥースデバイスは、相対位置情報または地理座標系データのどちらかを介してそれぞれのブルートゥースデバイスの場所に関連するデータを提供するように構成することができる。
【００５５】
[0062]  いくつかの実施形態で先に論じたように、ブルートゥースデバイスの各々はグリッドシステムに位置する場合がある。グリッドシステムでは、ブルートゥースデバイスの各々は、互いのブルートゥースデバイスから所定の距離に位置することができる。ブルートゥースデバイスがグリッド状に間隔を空けて設置される実施形態では、各ブルートゥースデバイスは、スキャンを行っているコンピューティングデバイスに、相対位置情報を含むアドバタイズパケットを通信することができる。相対位置情報は座標場所データを含むことができる。座標場所データは、局所的な基準点からの相対的な場所情報の形態を取ることができる。例えば、場所情報は、特定の位置に対するＸ座標およびＹ座標を含むことができる。
【００５６】
[0063]  他の実施形態では、ブルートゥースデバイスの各々は、スキャンを行っているコンピューティングデバイスに、広域場所データを含むアドバタイズパケットを通信することができる。広域場所データは、ＧＰＳデータと同様の地理座標系データを含むデータを含むことができる。したがって、地理座標系データは、地球の表面上におけるそれぞれのブルートゥースデバイスの絶対的な場所を提供することができる。
【００５７】
[0064]  ブロック６０６で、方法６００は、受信された１つまたは複数のアドバタイズメントパケットに基づいて、コンピューティングデバイスの場所が変化したかどうかを判定することをさらに含み、判定することは、受信された１つまたは複数のアドバタイズメントパケットを１つまたは複数の基準アドバタイズメントパケットの組と比較することを含む。判定することは、ブルートゥースユニットのプロセッサなど、コンピューティングデバイスの様々な処理装置によって行うことができる。
【００５８】
[0065]  ブルートゥースユニットの場所が変化したかどうかを判定するために、コンピューティングデバイスは、受信されたアドバタイズメントパケットを基準アドバタイズメントパケットと比較することができる。この比較が、受信されたアドバタイズメントパケットと基準アドバタイズメントパケットとの高い類似度を示す場合、モバイルデバイスは、当該モバイルデバイスが移動していないことを高い確率で判定できる可能性がある。一方、比較が、受信されたアドバタイズメントパケットと基準アドバタイズメントパケットとの低い類似度を示す場合、モバイルデバイスは、当該モバイルデバイスが移動していないことを高い確率で判定できる可能性がある。
【００５９】
[0066]  図５に関して論じたように、ブルートゥースデバイスは、データを含んでいるアドバタイズメントパケットを送信することができる。いくつかの実施形態では、このデータは場所情報を含む。ただし、他の実施形態では、このデータは場所情報を含まなくてよく、データは、スキャンに応答するそれぞれのブルートゥースデバイスの識別情報のみを含む場合がある。提供されたデータの種類に基づいて、モバイルデバイスは、自身が移動したか否かを種々のやり方で判定することができる。いくつかの実施形態では、モバイルデバイスは、第１のブルートゥーススキャンを行って、基準アドバタイズメントパケットの組を得ることができる。それらの基準アドバタイズメントパケットは、建物の玄関など、モバイルデバイスに知られている場所に対応することができる。他の実施形態では、モバイルデバイスは、基準アドバタイズメントパケットの組を含むデータをワイヤレスに受信することができる。例えば、建物に入る時に、その店舗内に進入する時に受信することをモバイルデバイスが予想できる基準アドバタイズメントパケットに関係するデータの組を、ブルートゥースデバイスが通信することができる。
【００６０】
[0067]  加えて、モバイルデバイスは、そのモバイルデバイスが移動した確率を、アドバタイズメントパケットを分析することに基づいて確定することができる。この確率は、モバイルデバイスが自身が移動したと考える度合いに基づくことができる。他の場合には、確率は、それぞれのアドバタイズメントパケットでブルートゥースデバイスから受信されるデータの分析に基づくことができる。
【００６１】
[0068]  はじめに、ブルートゥースデバイスが、場所データを含まないデータを含んでいるアドバタイズメントパケットを送信する場合、モバイルデバイスは、受信されたアドバタイズメントパケットの数と、各パケットに含まれているデータとの両方に基づいて、受信されたアドバタイズメントパケットと基準アドバタイズメントパケットを比較することができる。例えば、所与の場所で、モバイルデバイスが第１のブルートゥーススキャンを行うことができる。この第１のスキャンの結果、６台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性がある。それらのアドバタイズパケットは各々、それぞれのブルートゥースデバイスに関連付けられた一意の識別子を含むことができる。モバイルデバイスは、第２の時に第２のスキャンを行うことができる。この第２のスキャンの結果、５台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性があり、各パケットは、それぞれのブルートゥースデバイスに関連付けられた一意の識別子を含んでいる。そして、モバイルデバイスは、２回のスキャンを比較することができる。
【００６２】
[0069]  まず、スキャンに応答したブルートゥースデバイスの数が  なので、モバイルデバイスは、そのモバイルデバイスが移動した見込みが高いと判定することができる。ただし、モバイルデバイスは、スキャンに応答した各ブルートゥースデバイスの一意の識別子も調べることができる。場合によっては、第２のスキャンの５台のブルートゥースデバイスすべてが、第１のスキャンにも応答してアドバタイズメントパケットを送信している可能性がある。加えて、モバイルデバイスは、受信された各アドバタイズメントパケットの電力レベルを分析することができる。例えば、第１のスキャンの一部であったが、第２のスキャンの一部ではない第６のブルートゥースデバイスが、ほぼ検出できないほど低い電力レベルでモバイルデバイスに受信されたアドバタイズメントパケットを送信した可能性がある。この場合には、第２のスキャンにこの第６のブルートゥースデバイスが存在しないことは、モバイルデバイスの動きが原因ではない可能性がある。したがって、２回のそれぞれのスキャンで得られたアドバタイズメントパケットの組は著しく重複するので、モバイルデバイスは、当該モバイルデバイスが移動した確率が高いことを判定することができる。
【００６３】
[0070]  別の例では、第１のスキャンの結果、同様に６台のブルートゥースデバイスが応答アドバタイズパケットを送信し、第２のスキャンの結果、５台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性がある。モバイルデバイスがその２回のスキャンを比較すると、モバイルデバイスは、第１のスキャンでは、第２のスキャンでアドバタイズメントパケットを受信しなかった２台のデバイスからアドバタイズメントパケットを受信したことを判定することができる。加えて、モバイルデバイスは、第２のスキャンでは、第１のスキャンでアドバタイズメントパケットを受信しなかった１台のデバイスからアドバタイズメントパケットを受信したことを判定することができる。したがって、２回のそれぞれのスキャンによるアドバタイズメントパケットの組は重複がないので、モバイルデバイスは、当該モバイルデバイスが移動した確率が高いと判定することができる。
【００６４】
[0071]  さらに別の例では、第１のスキャンの結果、同様に５台のブルートゥースデバイスが応答アドバタイズパケットを送信し、第２のスキャンの結果、５台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性がある。モバイルデバイスがその２回のスキャンを比較すると、モバイルデバイスは、その２回のスキャンによるアドバタイズメントパケットが同じブルートゥースデバイスからのものであることを判定することができる。したがって、モバイルデバイスは、それら様々なアドバタイズメントパケットの受信電力レベルおよび関連する電力比を分析して、モバイルデバイスが移動したかどうかを判定することができる。例えば、受信電力比の大きな変化は、モバイルデバイスが移動したことを示す可能性がある。対して、電力比に著しい変化がないことは、モバイルデバイスが移動しなかったことを示す可能性がある。
【００６５】
[0072]  さらに他の実施形態では、ブルートゥースデバイスは、場所情報を含むデータを有するアドバタイズメントパケットを送信することができる。場所情報は、座標場所データを含む相対位置情報、または広域場所データのどちらかを含む。アドバタイズメントパケットが場所データを含んでいる場合、モバイルデバイスは、先に論じたモバイルデバイスが移動したかどうかを判定する方法を使用するか、またはモバイルデバイスはその場所情報を活用することができる。
【００６６】
[0073]  例えば、所与の場所で、モバイルデバイスが第１のブルートゥーススキャンを行うことができる。この第１のスキャンの結果、４台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性がある。それらのアドバタイズパケットは各々、場所情報を含んでいる可能性がある。モバイルデバイスは、第２の時に第２のスキャンを行うことができる。この第２のスキャンの結果、４台のブルートゥースデバイスが応答アドバタイズパケットを送信する可能性があり、各パケットは場所情報を含んでいる。そして、モバイルデバイスは、２回のスキャンを比較することができる。
【００６７】
[0074]  一例では、場所情報は、座標場所データとすることができる。第１のスキャンの結果、モバイルデバイスは、座標場所（０，０）、（１，０）、（０，１）、および（１，１）に対応するデータを有するアドバタイズメントパケットを受信する可能性がある。第２のスキャンの結果、モバイルデバイスは、座標場所（０，１）、（１，１）、（０，２）、および（１，２）に対応するデータを有するアドバタイズメントパケットを受信する可能性がある。したがって、モバイルデバイスは、第１のスキャンは、（０，０）、（１，０）、（０，１）、および（１，１）に対応する４台のブルートゥースデバイスの近傍の地域内で行われた可能性が高く、第２のスキャンは、（０，１）、（１，１）、（０，２）、および（１，２）に対応する４台のブルートゥースデバイスの近傍の地域内で行われた可能性が高いと判定することができる。したがって、モバイルデバイスは、アドバタイズパケットデータから、受信された座標の変化に基づいて移動の確率を判定できる可能性がある。
【００６８】
[0075]  さらに、モバイルデバイスは、スキャンごとに平均座標を計算することができる。第１のスキャンでは、平均は（０．５，０．５）であり、第２のスキャンでは、平均は（０．５，１．５）である。したがって、モバイルデバイスは、平均座標の変化に基づいて移動の確率を判定できる可能性がある。さらにいくつかの他の実施形態では、モバイルデバイスは、様々なアドバタイズメントパケットの受信電力レベルに基づいて、重み付けした平均座標を計算することができる。
【００６９】
[0076]  場所情報が広域場所データである実施形態では、座標場所データと同じ計算を広域場所データに行うことができる。一例では、コンピューティングデバイスが建物に入ると、コンピューティングデバイスはデバイス上の場所特定サービスを使用して広域場所データを得ることができる。広域場所データは、基準データの役目を果たすことができる。建物の中に入ると、場所特定サービスは、広域場所データを提供するように働かなくなるか、または信頼性の低下したデータを提供する場合がある。しかし、ブルートゥースデバイスは、広域場所データを、データと共にアドバタイズメントパケットで提供することができる。そのため、モバイルデバイスは、場所特定サービスによって提供される広域場所データを、アドバタイズメントパケット中のデータを介してブルートゥースデバイスによって提供される広域場所データと比較して、そのモバイルデバイスが移動したか否かを判定することができる。
【００７０】
[0077]  ブロック６０８で、方法６００は、ブルートゥースユニットが場所を変えたと判定するのに応答して、アプリケーション処理ユニットの場所検出機能を有効にすることをさらに含む。アプリケーション処理ユニットは、ブルートゥースユニットの場所を判定するように構成することができる。アプリケーション処理ユニットは、追加的な場所特定サービスハードウェア（GPS、Wifiなど）を使用して、コンピューティングデバイス実際の場所を判定することがあるため、場所特定サービスハードウェアが無効になっている時にコンピューティングデバイスが使用するよりも大幅に多いエネルギーをコンピューティングデバイスに使用させる可能性がある。したがって、必要時のみソフトウェアもしくはハードウェアおよび／またはアプリケーション処理ユニットを介して場所特定サービスを有効にすることにより、コンピューティングデバイスは、著しい電力を節減することができる。
【００７１】
[0078]  そのため、アプリケーション処理ユニットの場所検出機能が有効にされると、場所検出機能は、自身で計算を行ってモバイルデバイスの正確な場所を判定するか、または場所特定サービスハードウェアを有効にしてモバイルデバイスの正確な場所を判定することができる。いずれの場合にも、モバイルデバイスは、低電力モード（アプリケーション処理ユニットが無効にされる）から高電力モード（アプリケーション処理ユニットが有効にされる）に遷移する。
【００７２】
[0079]  本明細書に開示される方法６００、他の工程、処理、および／または機能は、例示的実施形態の可能な実装形態を示していることに留意されたい。これに関して、図４Ａおよび図４Ｂの各ブロックは、方法６００の特定の論理機能を行うように設計または配線されたハードウェア、チップセット、および／または回路に対応し得る。さらに、方法６００の各ブロックは、方法の特定の論理機能または工程を実施するためにプロセッサにより実行可能な１つまたは複数の命令を含む、モジュール、セグメント、またはプログラムコードの一部を表すことができる。プログラムコードは、例えば、ディスクまたはハードドライブを含む記憶装置など、任意種類のコンピュータ可読媒体に記憶することができる。
【００７３】
[0080]  コンピュータ可読媒体は、例えばレジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ（RAM）のように短期間データを記憶するコンピュータ可読媒体などの非一時的なコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、例えば読出し専用メモリ（ROM）、光学または磁気ディスク、コンパクトディスク読出し専用メモリ（CD-ROM）のような、２次記憶または恒久的な長期間の記憶などの非一時的な媒体も含むことができる。コンピュータ可読媒体は、任意の他の揮発性または不揮発性の記憶システムであってもよい。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、有形の記憶装置、または他の製造品と考えることもできる。
【００７４】
[0081]  本明細書に記載される構成は、例のみを目的とすることを理解されたい。そのため、当業者は、他の構成および他の要素（例えば、機械、インターフェース、機能、順序、および機能のグループ化など）が代わりに使用可能であり、要素の中には所望の結果に応じて完全に省略可能であるものもあることを認識されよう。さらに、記載される要素の多くは、個別の構成要素もしくは分散された構成要素、または、任意の適切な組み合わせおよび場所で他の構成要素と連携して実施することが可能な機能的な実体であり、あるいは独立した構造として記載される他の構造的要素が組み合わせられてよい。
【００７５】
[0082]  様々な態様および実施形態が本明細書に開示されたが、他の態様および実施形態が当業者には明らかになろう。本明細書に開示される様々な態様および実施形態は、例示を目的とし、制限的なものではなく、真の範囲は、以下の特許請求の範囲およびそれらの請求項に該当する均等物の全範囲によって示される。本明細書で使用される用語は特定の実施形態を説明することのみを目的とし、制限的なものではないことも理解されたい。
【図１】
0006359126.tif 000002
【図２】
0006359126.tif 000003
【図３】
0006359126.tif 000004
【図４Ａ】
0006359126.tif 000005
【図４Ｂ】
0006359126.tif 000006
【図４Ｃ】
0006359126.tif 000007
【図５】
0006359126.tif 000008
【図６】
0006359126.tif 000009