添付の図面を参照しながら、様々な実施形態について詳細に説明する。可能な場合はいつでも、同じまた同様の部分を指すために、図面全体を通して同じ参照番号が使用される。具体的な例および実装形態への言及は説明のためであり、本発明の範囲または本特許請求の範囲を限定するものではない。
「例示的」という言葉は、本明細書では、「例、事例、または例示として機能する」ことを意味するために使用される。「例示的」として本明細書で説明されるいずれの実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
本明細書では「モバイルコンピューティングデバイス」または「モバイルデバイス」または「コンピューティングデバイス」という用語は、セルラー電話、スマートフォン(たとえば、iPhone(登録商標))、ウェブパッド、タブレットコンピュータ、インターネット対応セルラー電話、WiFi対応電子デバイス、携帯情報端末(PDA)、ラップトップコンピュータ、パーソナルコンピュータ、および少なくとも1つのプロセッサを装備された同様の電子デバイスのうちの任意の1つまたはすべてを指すために使用される。様々な実施形態では、そのようなデバイスは、ワイドエリアネットワーク(WAN)またはローカルエリアネットワーク(LAN)接続(たとえば、LTE、3Gまたは4Gワイヤレスワイドエリアネットワークトランシーバ、インターネットとのワイヤード接続、またはWiFi)を確立するためにネットワークトランシーバとともに構成され得る。さらに、そのようなデバイスはまた、Bluetooth(登録商標)送信などの短距離ワイヤレス信号を交換するための構成要素とともに構成され得る。
「サーバ」という用語は、マスタ交換サーバ、ウェブサーバ、メールサーバ、ドキュメントサーバ、およびサーバ機能を実行するためにソフトウェアを用いて構成されたパーソナルまたはモバイルのコンピューティングデバイス(たとえば、「ライトサーバ」)など、サーバとして機能することが可能な任意のコンピューティングデバイスを指すのに使用される。サーバは、専用コンピューティングデバイスであっても、または(たとえば、コンピューティングデバイスをサーバとして動作させることができるアプリケーションを動作させる)サーバモジュールを含むコンピューティングデバイスであってもよい。サーバモジュール(または、サーバアプリケーション)は、全機能搭載サーバモジュールであっても、またはコンピューティングデバイス上の動的データベース間の同期サービスを実現するように構成されたライトサーバモジュールもしくは2次サーバモジュール(たとえば、ライトサーバアプリケーションまたは2次サーバアプリケーション)であってもよい。ライトサーバまたは2次サーバは、スマートフォンなどのパーソナルまたはモバイルのコンピューティングデバイス上で実装することができ、それによって本明細書で説明する機能を実現するのに必要であるような限られた程度に、パーソナルまたはモバイルのコンピューティングデバイスをインターネットサーバ(たとえば、エンタープライズ電子メールサーバ)として機能させるのを可能にするサーバタイプ機能のスリムダウンバージョンであってもよい。
様々な実施形態は、ビーコンデバイスが、Bluetooth(登録商標)対応モバイルデバイスなど、近くの受信機コンピューティングデバイスに、ロケーション把握を提供する情報を送信するためのシステム、方法、デバイス、および非一時的プロセッサ可読記憶媒体を含む。ビーコンデバイスは、Bluetooth(登録商標)送信機などの短距離ワイヤレス信号送信機と、ビーコンデバイスの移動を検出することができる加速度計または他のセンサーと、加速度計または他のセンサーによる、ビーコンデバイスが移動したことの検出に応答して、送信機を介して送信される情報(たとえば、デバイス識別子または「ID」、移動インジケータなど)を変更するように構成されたプロセッサとを含み得る。送信される情報(たとえば、「ID」)は、送信される情報の受信を報告する受信機コンピューティングデバイスに対して、リモートサーバがビーコンデバイスのアイデンティティを識別かつ確認することを可能にする方法で、生成され得る。ビーコンデバイスは、移動に応答して変化する情報を含む短距離信号を送信するので、情報(たとえば、ID)が変化していないと決定する受信機コンピューティングデバイスは、その受信機コンピューティングデバイスが最初にビーコンデバイスに遭遇したときにあったロケーションと同じロケーション(すなわち、移動していないビーコンデバイスの極近接内)にあると仮定して、動作を実行することができる。したがって、ビーコンデバイスからの情報(たとえば、ID)が最初に受信かつ確認されたときに実行された認証または登録プロセスは、受信機コンピューティングデバイスが簡略認証または登録プロセスを実行することを可能にするために依拠され得る。たとえば、スマートフォン受信機コンピューティングデバイスが、期待されたデータ(たとえば、識別子、値など)を含むワイヤレス信号を、ビーコンデバイスから受信するとき、受信機コンピューティングデバイスは、それにおいてビーコンデバイスが前にブロードキャスト中であったオフィス内にあると決定することができる。受信機コンピューティングデバイスは、既知のロケーションのために適切な機能にアクセスするための簡略認証動作など、既知の(または、あらかじめ関連付けられた)ロケーション内のビーコンデバイスに近接しているとの決定に応答して、動作を実行するように構成され得る。たとえば、前に受信したビーコンデバイスIDの受信に基づいて、オフィス(または、他のあらかじめ関連付けられたロケーション)内にあると決定した受信機コンピューティングデバイスは、アプリケーションを実行し、クレデンシャルを供給し、またはオフィスもしくは他の関連付けられたロケーションに関係する他の単純なタスクを実行する、容易なセットアップルーチンを利用することができる。
実際のロケーション情報(たとえば、GPS座標または他の地理情報など)は、ビーコンデバイスからの信号内にはない場合があるので、ビーコンデバイス信号を受信している受信機コンピューティングデバイスは、ビーコンデバイスが依然としてそのあらかじめ関連付けられたロケーションにあることを確信することなく、ビーコンデバイスの近接内であることに気付いているにすぎない場合がある。したがって、ビーコンデバイスは、ビーコンデバイスが移動されたかまたはさもなければ再配置されたかどうかを示す情報を、ワイヤレス信号内で送信して、受信機コンピューティングデバイスが既知のロケーション内であると決定することを不適当に引き起こし得る、スプーフィングされたかまたはさもなければ不正確な情報を回避することができる。ビーコンデバイスは、移動されているビーコンデバイスに対して変化する、ローリングデバイス識別子、移動インジケータ(たとえば、数値)、または両方を送信することができる。たとえば、移動を示すセンサーデータが検出されるたびに、ビーコンデバイスは、その周期ブロードキャスト信号内に含まれるかまたはその中で符号化される数(たとえば、64ビットのレジスタ値)をローリング、インクリメント、デクリメント、またはさもなければ変更するように構成され得る。別の例として、移動を示すセンサーデータが検出されるたびに、ビーコンデバイスは、ビーコンデバイスの移動を示すために、周期ブロードキャスト内の符号化されたデバイス識別子をローリングすることを停止することができる。移動に基づいて情報をそのように変更することによって、近くの受信機コンピューティングデバイスが、既知のビーコンデバイスから受信された信号からロケーションの任意の推論を検証することが可能となり、それによって、情報を改ざん防止または移動防止にすることができる。
一例として、ビーコンデバイスは、オフィス内に配置されてよく、第1の識別子を含む信号を周期的にブロードキャストすることができる。ラップトップ受信機コンピューティングデバイスは、ビーコンデバイスと第1の識別子とを特定の(「第1の」)構成モードに関連付ける情報を記憶することができ、特定の(「第1の」)構成モードでは、ビーコンデバイスの近接内であるとき、ラップトップ画面はロックしない(すなわち、オフィス内であるとき、画面をアンロックされたままにしておくことが安全である)。ラップトップがオフィス内であり、ビーコンデバイスから第1の識別子を含むワイヤレス信号を受信しているとき、ラップトップは、第1の構成モードで動作することができる。ビーコンデバイスがオフィスからロビーエリアに移動される場合、ビーコンデバイスは、第2の識別子を含む信号を周期的にブロードキャストすることを開始するように、そのデバイスからのブロードキャスト内に含まれる識別子を変更する。次回にラップトップがビーコンデバイスから信号を受信すると、それらの信号は第2の識別子を含む。ラップトップは、ビーコンデバイス信号が前に受信された識別子とは異なる識別子を含むと決定するので、ラップトップは、第1の構成モードで動作しなくてよく、したがって、画面ロック構成などの別の(「第2の」)構成モードに入ることができ、その理由は、ラップトップが、画面アンロック構成などの第1の構成のままであることが安全であると決定することができないからである。
様々な実施形態では、ビーコンデバイスは、短距離ワイヤレス信号(たとえば、Bluetooth(登録商標) LE、WiFiなど)を使用して、セキュア識別子(たとえば、一意のデバイス識別子、MACアドレスなど)を周期的にブロードキャストすることができる。セキュア識別子は、秘密鍵とともに擬似ランダム関数または暗号化アルゴリズムを使用して、デバイス識別子を暗号化することなどによって、暗号化、符号化、またはさもなければ難読化され得る。ビーコンデバイスは、セキュア識別子が照合され得るように、中央サーバおよび/または他のデバイスに登録され得る。たとえば、中央サーバはまた、ビーコンデバイスによって使用されたものと同じ暗号化機能および秘密鍵を利用して、セキュア識別子を復号し、ビーコンデバイスのための記憶されたアイデンティティデータとマッチングされ得る識別コードを取得することもできる。
ビーコンデバイスアイデンティティは、スプーフィングまたはさもなければ偽造され得るので、様々な実施形態では、受信機コンピューティングデバイスが、ビーコンデバイスおよび/またはそのあらかじめ関連付けられたロケーションに関連付けられた動作を実行し得る前に、ビーコンデバイスの認証が必要とされ得る。具体的には、ブロードキャストメッセージをビーコンデバイスから受信する受信機コンピューティングデバイスは、受信機コンピューティングデバイス上でローカルに記憶された情報に基づいて、ビーコンデバイスを認証することができる。たとえば、受信機コンピューティングデバイスは、セキュア識別子を、前に認証されたビーコンデバイスのデータとマッチングすることができる。代替的に、受信機コンピューティングデバイスは、メッセージを中央サーバに送信し、中央サーバに、認証動作を実行し、ビーコンデバイスが認証されるか否かを示す情報を返すことを行わせることができる。たとえば、中央サーバは、ローリング識別子を復号して、すべての登録されたビーコンデバイスの記憶された情報と比較することができる。別の実施形態では、ビーコンデバイスおよび受信機コンピューティングデバイスが、ペアリングされたBluetooth(登録商標)接続、または他の同様のセキュアトランスポート機構など、セキュアリンクを介して通信するとき、認証動作は必要とされなくてよく、その理由は、通信が事前認証されたパーティのみとともに達成され得るからである。
一実施形態では、ビーコンデバイスは、ビーコンデバイスが移動されたかどうかを示す値、数、コード、または他のデータとして、移動インジケータを維持かつ送信するように構成され得る。ビーコンデバイスが、決して同じ値を2回以上使用することなく、無限の期間の間に毎秒1回、移動インジケータを変更することが可能であり得るように、移動インジケータは、大きい数値(たとえば、32ビット、64ビット、または128ビット)の識別子であり得る。たとえば、64ビットの移動インジケータ(たとえば、レジスタ値)は、数千年の期間内に決して値を重複させることなく、毎秒、ランダムな非反復の方法でインクリメントされ得る。移動インジケータは、セキュア識別子(または、一意のデバイス識別子)に加えて、データの余分な部分としてブロードキャストされ得る。一実施形態では、移動インジケータは、公にブロードキャストされてよく、セキュア識別子(たとえば、一意のデバイス識別子)は、不明瞭にされ得るか、またはさもなければ認証を必要とし得る。一実施形態では、移動インジケータは署名付きであり得る。
様々な実施形態では、ビーコンデバイスは、環境内の動き、加速度、または他の変化を検出するように構成された、加速度計、磁力計、圧電センサーなど、1つまたは複数の内部動きセンサーを含み得る。たとえば、ビーコンデバイスは、あらかじめ定義されたしきい値を超える加速度計センサーデータに基づいて、ビーコンデバイスが移動されたときを検出することができる。気圧計、マイクロフォン、カメラなどの他のセンサーもまた、ビーコンデバイス内に含まれることがあり、いつビーコンデバイスが移動されたか、または同様の状態を経験したかを決定するために監視されることがある。たとえば、取得されたセンサーデータ(たとえば、気圧計センサーデータ、カメラセンサーデータ、マイクロフォンセンサーデータなど)において示されるような、検出された環境の変化(たとえば、気圧、光、および/または周囲音)に基づいて、ビーコンデバイスは、新しいロケーションに移動されたと決定することができる。別の例として、ビーコンデバイスは、磁石がないことによって開く内部スイッチに応答して、移動されたと決定することができる。一実施形態では、ビーコンデバイスは、センサーデータを評価し、移動を決定するとき、様々な許容差しきい値を利用することができる。そのようなしきい値は、ワイヤレスデバイスが持ち上げられて移動されることとは対照的に、衝突または地震を表すセンサーデータなど、エラッタまたは雑音を無視するために使用され得る。たとえば、ビーコンデバイスは、あらかじめ定義されたしきい値よりも低い値を有する、検出された加速度計センサーデータが、移動を表さないことがあるが、代わりに、非アクション可能なイベント(たとえば、通行人による急な衝突)を表し得ると決定することができる。
センサーデータに基づいて移動を検出するように構成されて、ビーコンデバイスは、移動に応答して、周期的にブロードキャストする情報(たとえば、セキュア識別子および/または移動インジケータ)を変更することを可能にされ得る。たとえば、ビーコンデバイスは、加速度計からのセンサーデータの検出に応答して、ローリング識別子をローリングすることができる。ビーコンデバイスは、値をインクリメント/デクリメントし、新しい数もしくは乱数を識別子もしくは移動インジケータとして生成し、または、移動を示すセンサーデータが検出されるときに送信する情報を調整するための他のアルゴリズムを実行することができる。たとえば、ビーコンデバイスは、磁石がないことによって開く内部スイッチに応答して、デバイス識別子をローリングすることを開始(または、停止)することができる。別の例として、動き検出器センサーに基づく、あらゆる検出された移動とともに、ビーコンデバイスは、64ビットレジスタにおいて演算を実行し、レジスタの値をペイロード内でブロードキャストすることができる。一実施形態では、前に送信された情報(たとえば、識別子または移動インジケータ値)は、移動が検出されると、ビーコンデバイスによって二度と送信されなくてよい。言い換えれば、移動インジケータは、リセットされることなく、上昇し続けることができる。たとえば、ビーコンデバイスが、最初に第1のコード(たとえば、0)を移動インジケータとしてブロードキャストするとき、検出された移動後、ビーコンデバイスは、第1のコードを二度とブロードキャストしなくてよく、代わりに異なるコード(たとえば、「1」など)をブロードキャストしてよい。このようにして、ビーコンデバイスは、それ自体に固有である(が、必ずしも他のビーコンデバイスの移動インジケータとは異なるとは限らない)移動インジケータを送信し、ビーコンデバイスが移動されたときに曖昧さ除去を可能にすることができる。一実施形態では、ビーコンデバイスは、ブロードキャストメッセージのペイロード内にあり得るか、または難読化された識別子を生成する際に使用され得る、乱数のソースとして加速度計データを使用するなど、センサーデータを使用して、セキュア識別子を生成することができる。したがって、ビーコンデバイスが移動されるとき、ビーコンデバイスは、センサーからの信号のために変更される一意の識別子を含むパケットをブロードキャストするように構成され得る。
受信機コンピューティングデバイスは、ビーコンデバイスからメッセージを受信し、メッセージ内の識別子が有効であるかどうか(すなわち、ビーコンデバイスが依然として既知のロケーション内にあるかどうか)を決定することができる。具体的には、受信機コンピューティングデバイスは、近接ビーコンデバイスからのセキュア識別子および/または移動インジケータを、記憶された識別子と比較して、それらがマッチするかどうかを確かめることができる。たとえば、受信機コンピューティングデバイスは、ビーコンデバイスから新たに受信された移動インジケータを、ビーコンデバイスがオフィス内にあったときに受信された、記憶された識別子と比較することができる。代替的に、受信機コンピューティングデバイスは、識別子における検証動作を実行することができる中央サーバに、メッセージを送信することができる。ビーコンデバイスからの識別子が有効である(すなわち、ビーコンデバイスが移動されていない)と決定されるとき、受信機コンピューティングデバイスは、ビーコンデバイスに関係するロケーションに関連付けられた動作を実行することができる。
様々な実施形態では、近接ビーコンデバイスが既知のロケーションから移動されていないことを確認するとき、受信機コンピューティングデバイスは、機能にアクセスするための簡略認証動作(または、簡易認証動作)を実行することができる。言い換えれば、受信機コンピューティングデバイスは、保護された情報またはサービスにアクセスするために人間オペレータを認証する前に、人間オペレータからより少ない、または異なる情報を必要とし得る。たとえば、オフィス内のビーコンデバイスの近接内であることにロケーションアウェアになったラップトップは、ウェブサイト、イントラネットなどにアクセスするために、さもなければユーザによってラップトップに手動で入力されなければならないであろう、記憶されたユーザパスワードを自動的に使用することができる。これは、受信機コンピューティングデバイスが既知のロケーション内であると決定されるとき、極秘データ(たとえば、ウェブサイト、電子メール、文書などのためのパスワード)が好都合かつ安全にアクセス可能であり得る点で、有益である。受信機コンピューティングデバイス(たとえば、ラップトップ、スマートフォンなど)は、受信機コンピューティングデバイスがいくつかの既知のロケーション内であるとき、受信機コンピューティングデバイスを使用する人が既知であると仮定することができる。
一実施形態では、受信機コンピューティングデバイスは、近接ビーコンデバイスが既知のロケーションから移動されていないと確認するとき、異なるモードで動作するように構成され得る。たとえば、信頼できる既知のロケーション(たとえば、自宅)内でビーコンデバイスの近くであると決定されるとき、ラップトップ受信機コンピューティングデバイスは、数分間の不使用後に受信機コンピューティングデバイスの画面がロックしないことを許可する構成モードで動作するように構成され得る。別の例として、信頼できるオフィスロケーション内であるとき、スマートフォン受信機コンピューティングデバイスは、そのユーザに、ネットワークで認証するためのクレデンシャルなど、スマートフォン上の情報の一部または全部へのアクセスを与えることができるが、信頼できるオフィスロケーション内ではないとき、スマートフォンは、ログイン、画面のアンロック、ネットワークリソースへのアクセスなどのためにパスワードを入力するようにユーザに促す動作または構成モードに戻るように変更することができる。
一実施形態では、2つ以上のビーコンデバイスから同時に受信された識別子が、受信機コンピューティングデバイスにロケーション把握を提供するため、および機能への簡略アクセスを可能にするために利用され得る。一例として、第1のビーコンデバイスは、第1のビーコンデバイスのアイデンティティおよびその移動インジケータをリレーショナルデータベース内に記憶することなどによって、作業机に関連付けられ得る。第2のビーコンデバイスは、第2のビーコンデバイスのアイデンティティをリレーショナルデータベース内に記憶することなどによって、検証されたユーザに関連付けられ(たとえば、ユーザの財布、ハンドバッグ、バックパックなどの中に配置され)得る。ラップトップ受信機コンピューティングデバイスが、第1のビーコンデバイスおよび第2のビーコンデバイスのうちの一方のみからブロードキャストメッセージを受信するとき、何も起こらないことがある(たとえば、ラップトップ内で構成モードが変化しないことがある、自動認証動作が利用可能ではないことがあるなど)。しかしながら、ラップトップ受信機コンピューティングデバイスが、第1のビーコンデバイスと第2のビーコンデバイスの両方からブロードキャストメッセージを受信するとき、ラップトップは、検証されたユーザおよび作業机に関連付けられた動作(たとえば、作業イントラネットへの自動ログイン、画面アンロックモードに入る、低リスクシステム、ウェブサイトに検証されたユーザを自動ログインさせるなど)を実行することができる。
一実施形態では、移動されたビーコンデバイスは、記憶されたデータを更新することによって再び検証され得る。たとえば、ビーコンデバイスが、新しいオフィスに移動されるために、そのブロードキャスト移動インジケータを変更した後、スマートフォン受信機コンピューティングデバイスは、変更された移動インジケータを、後で使用するために記憶することができる。別の例として、ユーザは、ビーコンデバイスの新しい有効な移動インジケータを、ウェブポータルを介して記憶するために、中央サーバに提供する(たとえば、ビーコンプロファイルを更新する)ことができる。別の例として、スマートフォン受信機コンピューティングデバイスは、移動されたビーコンデバイスからのブロードキャストメッセージの受信に応答して、スマートフォン受信機上のユーザ入力に基づいて、新しい有効な移動インジケータを中央サーバに送信することができる。
本開示の様々な実施形態は、検出された動きに応答してアラーム信号を送る典型的な動き検出技法とは異なる。様々な実施形態の技法は、検出された動きに応答して変化するセキュア識別子および/または移動インジケータとともに、信号を連続的に送信するビーコンを利用することができる。さらに、実施形態の技法は、ロケーション情報を送信せず、代わりに、受信機コンピューティングデバイスが、既知のロケーションに関連付けられたビーコンデバイスへのその近接に基づいて、既知のロケーション内であるかどうかを決定するために評価され得る、識別子を送信する。
簡単のために、以下の説明は、そのすべての内容全体が参照により本明細書に組み込まれる、2012年12月21日に出願された「Platform For Wireless Identity Transmitter and System Using Short Range Wireless Broadcasts」という名称の米国仮特許出願第61/745,308号、および関連の米国非仮特許出願第13/773,379号に記載されているような、通信フレームワーク、デバイス、および技法を参照することがある。しかしながら、様々な実施形態は、任意の同様の通信フレームワークおよびデバイス(たとえば、短距離ワイヤレスシグナリングデバイスまたはビーコンデバイス)を利用して、受信機コンピューティングデバイスのロケーション把握を可能にする情報を交換することができることを諒解されたい。
「ブロードキャストメッセージ」という用語は、ワイヤレスアイデンティティ送信機(以下で定義する)および/またはそれらのユーザに関連付けられた識別情報(すなわち、識別子)を含み得る、ワイヤレスアイデンティティ送信機によってブロードキャストされる、短距離ワイヤレスブロードキャスト信号を指すために本明細書で使用される。そのような識別子は、周期的に変更され、暗号化され得る(すなわち、ローリング識別子)。様々な実施形態では、ブロードキャストメッセージは、同じく暗号化され得る、Bluetooth(登録商標)メディアアクセス制御(MAC)アドレスおよびカウンタなど、他の識別する情報を含み得る。加えて、ブロードキャストメッセージは、送信する側のワイヤレスアイデンティティ送信機の特性(たとえば、デバイスタイプ)、センサーデータ、および/またはコマンドもしくは他の命令など、メタデータおよび他のデータを含み得る。様々な実施形態では、ブロードキャストメッセージは、Bluetooth(登録商標) Low Energy、WiFi、WiFi Direct、Zigbee(登録商標)、Peanut(登録商標)、および他のRFプロトコルなど、ワイヤレス通信プロトコルを介して送信され得る。様々な実施形態では、いくつかの短距離送信チャネルの不信頼性が高いので、ブロードキャストメッセージは、一定のサイズ(たとえば、80ビット、10バイト、20バイトなど)に限定された単一パケット送信であり得る。たとえば、一実施形態のブロードキャストメッセージのペイロードは、バッテリーステータス情報を示す4ビットと、ローリング識別子を示す76ビットとを含む、合計80ビットであり得る。別の例として、一実施形態のブロードキャストメッセージは、ナンスまたはカウンタを表す20ビットと、擬似ランダム関数または暗号化アルゴリズムを用いて生成されるようなローリング識別子を表す60ビットとを含み得る。
「ワイヤレスアイデンティティ送信機」という用語は、移動インジケータに加えて送信機の識別子を含むメッセージを、短距離ワイヤレス送信機を介して周期的に送信ブロードキャストするように構成される、ビーコンデバイスを指すために本明細書で使用される。工場IDなどの一意のデバイス識別子(すなわち、「デバイスID」)は、受信機デバイスによって、または受信機デバイスから識別子を受信するサーバによって、アルゴリズムまたはテーブルルックアップ手順を通してデバイスに相関され得る、送信された符号化された数であり得る。一実施形態では、一意のデバイス識別子は、56ビットの長さのコードであり得る。様々な実施形態では、セキュリティのために、この一意のデバイス識別子は、他のデータ(たとえば、ナンスまたはカウンタ値)とともに、「ローリング識別子」としてブロードキャストメッセージ内に含まれるときに符号化、暗号化、またはさもなければ難読化され得る。ワイヤレスアイデンティティ送信機は、30ppm、16kHz水晶発振器をクロックとして使用することなどによって、不正確な時間(たとえば、UTC)情報を維持するように構成され得る。本開示の様々な図では、ワイヤレスアイデンティティ送信機は「WIT」または「WITs」と呼ばれることがある。
「近接ブロードキャスト受信機」という用語は、ワイヤレスアイデンティティ送信機など、ワイヤレスビーコンデバイスによって送信されたブロードキャストメッセージを受信するように構成される、任意のコンピューティングデバイスを指すために本明細書で使用される。様々な実施形態では、近接ブロードキャスト受信機は、近接ブロードキャスト受信機(または、「モバイル近接ブロードキャスト受信機」)として動作するように構成されたモバイルデバイスであり得る。たとえば、スマートフォンまたはラップトップコンピューティングデバイスは、ブロードキャストメッセージを受信し、モバイル近接ブロードキャスト受信機として動作するように構成され得る。特定のタイプのコンピューティングデバイスを近接ブロードキャスト受信機であると呼ぶことは、特定のタイプのデバイスが特許請求の範囲に記載されない限り、特許請求の範囲を限定するものではない。さらに、別段に規定されていない限り、本開示全体にわたる近接ブロードキャスト受信機への言及は、いずれかの方法またはシステムを特定のタイプの近接ブロードキャスト受信機デバイスに限定するものではない。近接ブロードキャスト受信機について、本開示全体にわたって説明する。本開示の様々な図では、近接ブロードキャスト受信機は、「PBR」または「PBRs」と呼ばれることがあり、モバイル近接ブロードキャスト受信機は、図において「MPBR」または「MPBRs」と呼ばれる。
「アイデンティティトランシーバ」および「ワイヤレスアイデンティティトランシーバ」という用語は、ブロードキャストメッセージを受信かつ送信するように構成されるデバイスを指すために本明細書で使用される。言い換えれば、アイデンティティトランシーバは、近接ブロードキャスト受信機とアイデンティティ送信機の両方として機能することができる。たとえば、スマートフォンは、その一意の識別子を含む短距離信号をブロードキャストすること、ならびに、近くのワイヤレスアイデンティティ送信機からのブロードキャストメッセージを受信することを行うように構成され得る。本開示全体にわたって、様々な動作について、ワイヤレスアイデンティティ送信機または近接ブロードキャスト受信機のいずれかによって明確に実行されるとして説明することがあるが、アイデンティティトランシーバとして動作するように構成されたデバイスが、同じ動作のいずれかまたはすべてを実行するように構成されることがあり、したがって、ワイヤレスアイデンティティ送信機または近接ブロードキャスト受信機のいずれかへの言及と交換可能であり得ることは、当業者には諒解されよう。
「サイティングメッセージ」という用語は、ワイヤレスアイデンティティ送信機からのブロードキャストメッセージの受信に応答して、近接ブロードキャスト受信機によって中央サーバに送られる報告、信号、および/またはメッセージを指すために本明細書で使用される。サイティングメッセージは、ワイヤレスアイデンティティ送信機の識別子など、任意の不明瞭にされた、または暗号化された情報を含む、受信されたブロードキャストメッセージ内で符号化された情報の一部または全部を含む送信であり得る。加えて、サイティングメッセージは、送る側の近接ブロードキャスト受信機の識別情報(たとえば、デバイスID、サードパーティ提携など)、近接ブロードキャスト受信機がワイヤレスアイデンティティ送信機とペアリングしたかどうか、送信コンテキスト情報(たとえば、サイティングメッセージがアラートまたは登録されたサービスに関係することを示すコード)、近接ブロードキャスト受信機上で実行するソフトウェアまたはアプリケーションに関する情報(たとえば、アプリID)、ロケーション情報、ある場所内の既知のエリアに対する近接情報、およびタイムスタンプデータなど、メタデータおよび他の情報(または、「関連付けられたデータ」)を含み得る。一実施形態では、サイティングメッセージはまた、サイティングメッセージを送信する近接ブロードキャスト受信機の識別(または、識別情報)を確認するために、中央サーバによって使用され得る認証情報(たとえば、秘密鍵、パス、特別コード、デジタル証明書など)を含み得る。たとえば、サイティングメッセージは、送る側の近接ブロードキャスト受信機が特定の登録されたサービスに関連付けられることを保証するために、中央サーバによって復号され得るハッシュ関数からのコードを含み得る。様々な実施形態では、サイティングメッセージは、(たとえば、アラートに関係するとき)ブロードキャストの受信直後に送られ、バッファされ、または他のスケジュールされた送信とともにスケジュールされ得る。
概して、ワイヤレスアイデンティティ送信機は、短距離ワイヤレスブロードキャストの範囲内で、近接ブロードキャスト受信機(たとえば、携帯電話、モバイルデバイス、固定受信機など)のネットワーク内のいずれかによって受信され得るフォーマットにおいて、少なくとも移動インジケータおよび識別子または識別コードをもつパケットを送信するように構成された、小型デバイスであり得る。ワイヤレスアイデンティティ送信機は、短距離ワイヤレスシグナリング(たとえば、Bluetooth(登録商標) Low Energyパケット、光信号、音声信号などの短距離無線信号)に依拠して、そのようなブロードキャストメッセージを送信し、したがって、短距離ワイヤレスシグナリングの受信範囲内の近接ブロードキャスト受信機のみが、そのようなブロードキャストメッセージを受信することができる。言い換えれば、ビーコンデバイス/ワイヤレスアイデンティティ送信機に近接している受信機デバイスのみが、それらの信号を受信することになり、したがって、それらの信号の受信が、受信機デバイスのロケーションについての情報を通信する。ワイヤレスアイデンティティ送信機からのブロードキャストメッセージを受信する各近接ブロードキャスト受信機は、暗号化されたワイヤレスアイデンティティ送信機識別子を含むサイティングメッセージを、処理するために中央サーバに渡すことができる。中央サーバは、受信されたサイティングメッセージ内の識別子を含む、暗号化された、または不明瞭にされた情報を復号することができる。
上述のように、ワイヤレスアイデンティティ送信機は、加速度計、ジャイロスコープ、および/または他の移動もしくは慣性センサーを介した、デバイスの移動の検出に応答して、移動インジケータ値を変更するように構成され得る。移動インジケータ値は、同じ値が決して(または、めったに)デバイスの寿命内に2回使用されないように、(たとえば、乱数生成器の使用、および/またはランダムシード値を使用したランダムプロセスを通して)ランダムな方法で変更され得る。
一実施形態では、ブロードキャストメッセージが、デバイスが移動したという指示とデバイスの一意の識別の両方を行うために、受信側のコンピュータによって使用され得る単一の値を含むように、ワイヤレスアイデンティティ送信機の識別子が、移動インジケータ値内に組み込まれ得る。たとえば、デバイス識別子は、大きい素数であってよく、移動インジケータは、デバイスの移動が検出されるたびにランダムに生成される大きい数であってよく、ブロードキャストメッセージは、これらの2つの数の積であってよい。この例では、近接受信機デバイスは、ブロードキャスト値が変化していることになるので、ワイヤレスアイデンティティ送信機が移動したことを認識することになり、ブロードキャスト値を受信するサーバは、その値を登録された送信機の素数で除算することによって、ワイヤレスアイデンティティ送信機のアイデンティティを決定することができる。
いくつかの実施形態では、ワイヤレスアイデンティティ送信機は、中央サーバがワイヤレスアイデンティティ送信機の一意のデバイス識別子(および、他の識別する情報)を復号、解読、またはさもなければ認識することを可能にしながら、送信機の追跡を困難にする方法で、デバイス識別子が符号化/暗号化される方法を周期的に変更するか、または識別子自体を変更する(本明細書では「ローリング識別子」と呼ぶ)ように構成され得る。たとえば、ワイヤレスアイデンティティ送信機は、ワイヤレスアイデンティティ送信機のデバイス識別子(すなわち、デバイスID)の符号化バージョンを含む、Bluetooth(登録商標)パケットを周期的にブロードキャストするように構成され得る。ブロードキャストメッセージ内で示された識別子のそのような暗号化は、サードパーティ(たとえば、受動的攻撃者)に、推測のみによってブロードキャストメッセージの出所を決定することを強制しながら、中央サーバがブロードキャストメッセージの発信元ワイヤレスアイデンティティ送信機を確実に識別することを可能にすることが必要とされ得る。たとえば、識別子が静的であった場合、サードパーティは、近接ブロードキャスト受信機になりすますことなどによって、識別子をスニッフィングし、次いで、その識別子を使用して、ワイヤレスアイデンティティ送信機を追跡することがあり得る。ローリング識別子は、サードパーティが暗号化された識別子を生成する手段を欠く場合、そのような攻撃を不可能にすることができる。
単一パケットブロードキャストメッセージは、従来の非対称鍵暗号化の暗号文に適合することができるペイロードをサポートしないことがあるので、標準の秘密/公開鍵ペアの暗号化は、様々な実施形態において使用可能ではないことがある。加えて、ワイヤレスアイデンティティ送信機は、一般にブロードキャストのみのデバイスであり得るので、典型的に従来の暗号化方式において必要とされるバックチャネルがないことがある。したがって、様々な実施形態における中央サーバは、各ワイヤレスアイデンティティ送信機に固有の共有秘密鍵をプリプロビジョニングすることによって、暗号化されたメッセージペイロードを処理することができる。そのような秘密鍵は、中央サーバにおいて、各ワイヤレスアイデンティティ送信機の一意のデバイス識別子に関連付けられてよく、各ワイヤレスアイデンティティ送信機によって符号化されたデータ(たとえば、識別子)を復号するために使用され得る。本開示の様々な実施形態において使用するのに好適なセキュア識別子を難読化、符号化、暗号化、復号、解読、かつ場合によっては可能にするための様々な技法については、そのすべての内容全体が参照により本明細書に組み込まれる、2012年12月21日に出願された「Preserving Security By Synchronizing a Counter Between Systems」という名称の関連の米国仮特許出願第61/745,395号、および関連の米国非仮特許出願第13/773,336号に記載されている。
追加の予防措置は、中央サーバに関連付けられたデータベースに対するハッカー攻撃など、セキュリティ侵害を防ぐために、ならびに、登録されたユーザ(たとえば、商人、両親、子供など)に安心と、ユーザのプライバシーが完全に保護され得るという確信とを与えるために、重要であり得る。そのようなプライバシー保護手段は、追跡デバイスに関係する他の情報、および/またはユーザの近接情報とは別個に、識別する情報(たとえば、名前、住所、金融情報、医療情報など)を記憶することによって、実施形態のシステムに登録されたパーティに提供され得る。具体的には、登録された商人、顧客、子供、または個人の個人情報の意図しない漏洩を回避するために、実施形態のシステムは、「ダブルブラインド」アーキテクチャを利用することができる。たとえば、そのようなダブルブラインドアーキテクチャは、登録されたユーザのデバイス(たとえば、ワイヤレスアイデンティティ送信機、近接ブロードキャスト受信機、アイデンティティトランシーバ、モバイルデバイスなど)の近接情報または他のロケーションベースのデータに関係する情報を記憶し、それへのアクセスを有する、第1のユニット(たとえば、サーバ、データベース、または他のコンピューティングハブ)を使用することができる。言い換えれば、第1のユニットは、様々なユーザのデバイスの近似ロケーション/近接を示すサイティングメッセージに関連付けられた情報にアクセスすることができる。しかしながら、第1のユニットは、ユーザ名、住所、および/または社会保障番号など、一意に識別する個人情報を記憶しなくてよい。代わりに、第2のユニットは、第1のユニットによって使用されるようないかなるロケーション/近接情報にもアクセスするように構成されることなく、識別する個人情報を記憶することができる。第1のユニットおよび第2のユニットは、いずれかのユニット内に記憶された保護された情報を示すことなく、2つのユニット内に記憶されたデータを接続する、匿名の識別子を使用することができる。一実施形態では、第1のユニットおよび第2のユニットは、別個のエンティティ(たとえば、サービスプロバイダ)によって維持されてよく、さらに、そのようなエンティティのうちの少なくとも1つは、識別する情報を提供する登録されたユーザによって信頼され得る。
Bluetooth(登録商標)トランシーバなどの短距離無線を装備した、スマートフォンなどの任意のモバイルデバイスは、モバイル近接ブロードキャスト受信機として実行し、近くであり得るワイヤレスアイデンティティ送信機から識別コードを受信するように構成され得る。モバイルデバイスはまた、現在の時間を提供することができるクロックと、ワイヤレスアイデンティティ送信機識別子が受信されるときは常に現在のロケーションを提供することができるGPS受信機とを装備することも多い。モバイルデバイスは、これらの識別コード、時間、およびロケーションを、サイティングメッセージを介して、セルラー無線接続などのより長距離のネットワーク接続を通して、中央サーバに通信することができる。
ブロードキャスト信号は、様々な実施形態のセキュリティ態様を可能にするために短距離であるべきであるので、ワイヤレスアイデンティティ送信機は、Bluetooth(登録商標)LEトランシーバ、およびバッテリーなど、短距離無線にすぎないものを含む、比較的小型で、安価で、簡単なデバイスであり得る。様々な実施形態では、ワイヤレスアイデンティティ送信機はまた、Peanut(登録商標)無線など、追加の短距離無線を含み得る。様々な実施形態では、ワイヤレスアイデンティティ送信機は、ユーザインターフェース、複数の無線、全地球測位システム(GPS)受信機、または、モバイルデバイス上で一般的な他の特徴を含まないことがある。実施形態のワイヤレスアイデンティティ送信機はまた、ごくわずかな電力を消費し、頻繁に再充電または交換される必要なしに配備されることが可能になり得る。これらの特性によって、実施形態のワイヤレスアイデンティティ送信機は、様々な物理的構成における多種多様な使用および実装のために理想的になる。たとえば、ワイヤレスアイデンティティ送信機は、机、クローゼット、バッグなど、多数の異なる物体内に容易に隠され、または組み込まれ得る。
ワイヤレスアイデンティティ送信機はまた、情報(たとえば、センサーデータ)を通信する働きをするか、または、近接ブロードキャスト受信機に特定のアクションを取るように促す働きをすることもできる。いくつかの実施形態では、ワイヤレスアイデンティティ送信機は、モバイルフォンなどの近接ブロードキャスト受信機によって実行されるべき1つまたは複数の行動を示すブロードキャストメッセージを送信することができ、その場合、ブロードキャストメッセージはまた、コマンド(すなわち、コマンド識別子)、またはワイヤレスアイデンティティ送信機のタイプ(すなわち、デバイスタイプ識別子もしくはデバイスタイプ情報)に対応する2次セグメントを含み得る。ブロードキャストメッセージを受信する近接ブロードキャスト受信機は、識別または2次コードに基づいてアクションを取ることができる。代替的に、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージを中央サーバに送信することができ、中央サーバは、実行されるべき行動を示すために、命令または別のコードを近接ブロードキャスト受信機に返すことができる。
さらなる実施形態では、ワイヤレスアイデンティティ送信機および近接ブロードキャスト受信機は、LTE-D、ピアツーピアLTE-D、WiFi、およびWiFi Directなど、様々なワイヤレス技術を使用して、送信を交換するように構成され得る。一実施形態では、ワイヤレスアイデンティティ送信機は、WiFiトランシーバをもつ近接ブロードキャスト受信機がブロードキャストメッセージを受信することができるように、WiFi無線を介してメッセージをブロードキャストするように構成され得る。そのような実施形態では、ワイヤレスアイデンティティ送信機は、WiFiアクセスポイントブロードキャストアドバタイズメントと同様に、WiFi送信を利用して、識別情報をブロードキャストすることができる。たとえば、WiFi無線を含むワイヤレスアイデンティティ送信機は、受信範囲が限定されるように、低電力でのWiFi送信を介してブロードキャストメッセージを送信し、それによって、Bluetooth(登録商標) LE送信の範囲と同様の範囲をもつ短距離無線信号を提供するように構成され得る。ワイヤレスアイデンティティ送信機とともに様々なワイヤレスブロードキャスト技術および通信プロトコルを利用する際に、限定された能力をもつ近接ブロードキャスト受信機は、依然として、ワイヤレスアイデンティティ送信機からのブロードキャストメッセージを受信し、処理することが可能であり得る。たとえば、モバイル近接ブロードキャスト受信機として動作するように構成され、WiFiトランシーバを含むがBluetooth(登録商標) LE無線を含まないスマートフォンは、WiFi無線を用いて短距離信号をブロードキャストするように構成されたワイヤレスアイデンティティ送信機からのブロードキャストメッセージを受信し、処理することができる。一実施形態では、ワイヤレスアイデンティティ送信機は、より多くのモデルの近接ブロードキャスト受信機(たとえば、より多くのタイプのスマートフォン)がメッセージブロードキャストを受信することを可能にするために、Bluetooth(登録商標) LEトランシーバおよび低電力WiFiトランシーバなど、複数の無線を介してブロードキャストすることができる。
様々な実施形態の方法は、短距離ワイヤレスブロードキャストメッセージの受信に基づいて、近接ブロードキャスト受信機がワイヤレスアイデンティティ送信機の近接内であると決定することができる。さらに、実施形態は、ワイヤレスアイデンティティ送信機および/または近接ブロードキャスト受信機のための厳密なロケーションを決定することを必要としなくてよく、代わりに、互いの間のデバイスの近似および/または相対的ロケーションを決定することができる。
代替実施形態では、上記で説明したようなビーコンおよび受信機デバイスの役割が逆転されてよく、静止した近接ブロードキャスト受信機は、特定のロケーションに配置され、モバイルワイヤレスアイデンティティ送信機またはトランシーバ(たとえば、アイデンティティトランシーバとして動作するように構成されたスマートフォンを携行するユーザなど)からのブロードキャストメッセージの受信に応答して、サイティングメッセージ内で中央サーバに移動インジケータを送信するように設計される。そのような実施形態では、静止した近接ブロードキャスト受信機は、加速度計など、1つまたは複数の組み込まれたセンサーに基づいて、移動されるときを検出するように構成され得る。たとえば、机の上に位置する加速度計を含む、静止した近接ブロードキャスト受信機は、あらかじめ定義された許容差しきい値を超える加速度計データに基づいて、近接ブロードキャスト受信機が移動されるときを検出することができる。中央サーバは、静止した近接ブロードキャスト受信機からの移動インジケータを評価して、移動が発生したことをデータが示すかどうかを決定することができ、次いで、静止した近接ブロードキャスト受信機が移動されるとき、ユーザデバイス(たとえば、ワイヤレスアイデンティティトランシーバとして動作するように構成されたスマートフォンなど)に報告することができる。
図1は、様々な実施形態において使用され得る例示的な通信システム100を示す。通信システム100は、Bluetooth(登録商標)LE送信機またはビーコンデバイスなど、少なくとも1つのワイヤレスアイデンティティ送信機110を含み得る。ワイヤレスアイデンティティ送信機110は、様々なロケーションおよび/または物体と結合され、その上に設置され、またはさもなければその中に位置し得る。たとえば、ワイヤレスアイデンティティ送信機110は、オフィス内の机の上(たとえば、仕事場にある)、自宅の寝室内(たとえば、自宅にある)、および/または車両(たとえば、貨物トラック、車など)に位置し得る。ワイヤレスアイデンティティ送信機110は、短距離ワイヤレス信号114を送信するように構成され得る。たとえば、短距離ワイヤレス信号114は、ローリングまたは不明瞭にされたデバイス識別子など、ワイヤレスアイデンティティ送信機110のための識別コードを含み得る、Bluetooth(登録商標)アドバタイズメントパケットの周期的ブロードキャスト(すなわち、ブロードキャストメッセージ)であり得る。
一実施形態では、短距離ワイヤレス信号114は、ワイヤレスアイデンティティ送信機110と、近接ブロードキャスト受信機など、近くのデバイスとの間で確立されたワイヤレス通信リンク(たとえば、Bluetooth(登録商標)を介したセキュアリンクなど)に対応し得る。そのようなセキュアリンクは、ワイヤレスアイデンティティ送信機110が別の信頼できるデバイスとペアリング、ボンディング、またはさもなければ事前認証されるとき、確立され得る。
短距離ワイヤレス信号114は、Bluetooth(登録商標)、Bluetooth(登録商標) LE(登録商標)、Wi-Fi、赤外線ワイヤレス、誘導ワイヤレス、ウルトラワイドバンド(UWB)、ワイヤレスユニバーサルシリアルバス(USB)、Zigbee(登録商標)、Peanut(登録商標)、または、それらの有効通信範囲を比較的短距離(たとえば、約100メートル内)に限定するように(たとえば、送信電力を制限することによって)修正しているか、もしくは修正され得る、他の短距離ワイヤレス技術もしくはプロトコルなど、様々な通信プロトコルのいずれかに従うことができる。いくつかの実施形態では、ワイヤレスアイデンティティ送信機110は、Bluetooth(登録商標)4.0プロトコル(または、それ以降のバージョン)内で規格化された低エネルギー技術を使用することができる。たとえば、いくつかの実施形態のシステムでは、ワイヤレスアイデンティティ送信機110は、Bluetooth(登録商標)4.0プロトコル内に記載されているようなアドバタイザとして構成された識別パケットを周期的にブロードキャストすることができる。
Bluetooth(登録商標)プロトコルおよびBluetooth(登録商標)デバイス(たとえば、Bluetooth(登録商標) LEデバイス)は、比較的短い有効通信範囲を有し、配備された通信デバイスおよびコンピューティングデバイス内で広く使用され、様々な実施形態の発見および報告の必要性を満たす標準のアドバタイジングまたはペアリング手順を有し、低電力消費を示し、それによって、そのプロトコルが様々な実施形態の多数の適用例にとって理想的になる。この理由のために、Bluetooth(登録商標)およびBluetooth(登録商標) LEプロトコルおよびデバイスは、説明のために本明細書の例の多数において言及される。しかしながら、特許請求の範囲は、請求項で明記されない限り、Bluetooth(登録商標)またはBluetooth(登録商標) LEデバイスおよびプロトコルに限定されるべきではない。たとえば、Peanut(登録商標)トランシーバが、ワイヤレスアイデンティティ送信機110内に含まれてよく、同じくPeanut(登録商標)短距離無線送信を利用するように構成された近接ブロードキャスト受信機との双方向通信を送信するために使用され得る。
通信システム100はまた、第1の近接ブロードキャスト受信機138(たとえば、スマートフォンモバイルコンピューティングデバイス)と、第2の近接ブロードキャスト受信機124(たとえば、ラップトップコンピューティングデバイス)とを含み得る。近接ブロードキャスト受信機138、124は、ワイヤレスアイデンティティ送信機110によって送信された短距離ワイヤレス信号114を自動的にスキャンし、受信するように構成され得る。たとえば、ワイヤレスアイデンティティ送信機110の近接(または、ブロードキャスト範囲)内であるとき、第1の近接ブロードキャスト受信機138および/または第2の近接ブロードキャスト受信機124は、Bluetooth(登録商標)無線を利用して、ワイヤレスアイデンティティ送信機110から周期的に送られるブロードキャストメッセージを受信することができる。代替的に、ワイヤレスアイデンティティ送信機110とペアリング、ボンディング、またはさもなければ事前認証されるとき、近接ブロードキャスト受信機138、124は、ワイヤレスアイデンティティ送信機110とともに確立されたセキュアリンクを介して、情報を受信することができる。
一実施形態では、近接ブロードキャスト受信機138、124は、インターネット103への接続187を提供するインターネットアクセスサーバ(図示せず)を含み得る、WiFiネットワークなどのローカルエリアネットワーク180(または、LAN)と通信中であり得る。具体的には、第1の近接ブロードキャスト受信機138は、ローカルエリアネットワーク180に関連付けられたルータ186(たとえば、WiFiルータ)へのワイヤレス接続185を有することがあり、第2の近接ブロードキャスト受信機124は、ルータ186へのワイヤードまたはワイヤレス接続123を有することがある。一実施形態では、第1の近接ブロードキャスト受信機138は、1つまたは複数のネットワーク運用センター(図示せず)に結合され得る1つまたは複数の基地局134までの長距離ワイヤレスリンク137を介して、セルラーネットワーク130と通信するように構成され得る。そのようなセルラーネットワーク130は、3G、4G、およびLTEなどの様々な技術を利用することができ、ネットワーク運用センター(図示せず)をさらに含んでよく、ネットワーク運用センターは、セルラーネットワーク130を通して音声通話およびデータトラフィックを管理することができ、典型的には、1つまたは複数のサーバ(図示せず)を含み得るか、またはそれに接続され得る。セルラーネットワーク130は、インターネット103への接続131を提供することができる。別の実施形態では、第2の近接ブロードキャスト受信機124もまた、長距離ワイヤレスリンク(図示せず)を介して、セルラーネットワーク130と通信するように構成され得る。
近接ブロードキャスト受信機138、124は、移動インジケータに関連付けられたメッセージの少なくとも一部分が変化したかどうかを決定するために、受信されたブロードキャストメッセージを検査すること、および、記憶された値にマッチするか、またはもはやマッチしない移動インジケータに応答して、自動的にアクションを取ることを行うように構成され得る。たとえば、近接ブロードキャスト受信機138、124は、受信された移動インジケータが、メモリ内に記憶されている前に受信された移動インジケータにマッチするとの決定に応答して、簡略ネットワーク認証ルーチン(たとえば、ローカルエリアネットワーク180に登録すること)を実行すること、および、受信された移動インジケータが前に受信された移動インジケータにマッチしないとの決定に応答して、通常またはより複雑なネットワーク認証ルーチンを実行することを行うように構成され得る。
近接ブロードキャスト受信機138、124は、ワイヤレスアイデンティティ送信機110との連絡(たとえば、受信されたブロードキャストメッセージ)を、インターネット103に接続された中央サーバ120に報告するように構成され得る。たとえば、近接ブロードキャスト受信機138、124は、ワイヤレスアイデンティティ送信機110のユーザのアイデンティティに対応するローリングデバイス識別子を含む、サイティングメッセージを中央サーバ120に送信することができる。近接ブロードキャスト受信機138、124がワイヤレスアイデンティティ送信機110から識別子を受信するたびに、識別子は、接続の時間、ならびに他の情報(たとえば、近接ブロードキャスト受信機138、124からのロケーション情報)に関連付けられてよく、この情報が、サイティングメッセージ内で中央サーバ120に送信され得る。いくつかの実施形態では、サイティングメッセージのための情報は、中央サーバ120によってブロードキャストまたはマルチキャストされたクエリメッセージなどに応答して、後に報告するために、近接ブロードキャスト受信機138、124のメモリ内に記憶され得る。一実施形態では、近接ブロードキャスト受信機138、124はまた、ワイヤレスアイデンティティ送信機110から短距離ワイヤレス信号114(すなわち、ブロードキャストメッセージ)を受信すること、ならびに、他のデバイスによる受信のために短距離ワイヤレス信号を送信することが可能である、ワイヤレスアイデンティティトランシーバとして動作するようにも構成され得る。
中央サーバ120は、ワイヤレスアイデンティティ送信機110を識別するために使用され得る、サイティングメッセージによって報告された様々な情報をデータベース内に記憶することができる。さらに、中央サーバ120は、ワイヤレスアイデンティティ送信機110および/または近接ブロードキャスト受信機138、124に関連付けられた登録データ、プロファイル、移動インジケータ、および他の情報を記憶するように構成され得る。たとえば、中央サーバ120は、ワイヤレスアイデンティティ送信機110の最後の既知の有効な移動インジケータを記憶する、1つまたは複数のデータベースを含み得る。中央サーバ120は、近接ブロードキャスト受信機138、124から受信されたサイティングメッセージおよびデータを処理するために、複数の構成要素、ブレード、または他のモジュールを含み得る。さらなる実施形態は、近接ブロードキャスト受信機138、124、および中央サーバ120をより直接的に接続するために、中央サーバ120と、ネットワーク運用センターなど、モバイルデバイスネットワーク構成要素のいずれかとの間の直接接続(図示せず)を提供することができる。
通信システム100はまた、自宅または職場におけるパーソナルコンピュータなどのコンピューティング端末140を含むことがあり、それを通して、ユーザは、インターネット103への接続141を介して、および、したがって中央サーバ120と通信することができる。そのような端末140は、親、警察、消防、主治医、および他の公認の機関などのユーザが、デバイス(たとえば、ワイヤレスアイデンティティ送信機110)を登録し、中央サーバ120上のレコードにアクセスし、かつ/または、ワイヤレスアイデンティティ送信機110に関係する記憶されたデータを変更することを可能にすることができる。一実施形態では、ユーザは、そのような端末140を使用して、中央サーバ120に関連付けられたウェブポータルおよび/またはユーザアカウントにアクセスすることなどによって、ワイヤレスアイデンティティ送信機110および/または近接ブロードキャスト受信機138、124(たとえば、中央サーバに関連付けられたクライアントソフトウェアを実行するように構成されたスマートフォン)を登録することができる。同様に、商人などのサードパーティは、端末140を使用して、ワイヤレスアイデンティティ送信機110および/または近接ブロードキャスト受信機138、124(たとえば、クライアントソフトウェアを実行し、ブロードキャストメッセージを中央サーバに中継するように構成された、静止した受信機デバイス)を登録することができる。
図2Aは、ワイヤレスアイデンティティ送信機110が、近接ブロードキャスト受信機による受信のために短距離ワイヤレス信号(たとえば、ブロードキャストメッセージ)を周期的にブロードキャストするための、一実施形態の方法200を示す。ブロック201で、ワイヤレスアイデンティティ送信機は、休止、スリープ、ドーマント、またはさもなければデアクティベート状態から、通電され、初期化され、かつ場合によっては動作するように構成されるようになることなどによって、起動することができる。様々な実施形態では、起動動作は、ユーザ入力(たとえば、ボタン押下)、ワイヤレスアイデンティティ送信機110内のバッテリーの挿入、または短距離ワイヤレス信号(たとえば、アクティベーション信号)の受信に応答して、実行され得る。ブロック202で、ワイヤレスアイデンティティ送信機110は、上記で説明したようなブロードキャストメッセージなど、識別子を含むメッセージをブロードキャストすることができる。たとえば、ワイヤレスアイデンティティ送信機110のプロセッサは、本明細書で説明するようなローリングデバイス識別子(または、不明瞭にされたデバイス識別子)を含む、Bluetooth(登録商標) LEアドバタイジングパケットをブロードキャストすることができる。これは、ブロック202で、ワイヤレスアイデンティティ送信機110内のマイクロコントローラが、その識別子をブロードキャストするための時間であると決定すること、好適なブロードキャストメッセージ(たとえば、Bluetooth(登録商標)4.0プロトコルにおいて、Bluetooth(登録商標) LEデバイスについて指定されているようなアドバタイズメントパケット)を構成すること、および短距離無線を介してそのパケットを送信することによって達成され得る。
様々な実施形態では、ワイヤレスアイデンティティ送信機110によってブロードキャストされるメッセージ(すなわち、ブロードキャストメッセージ)は、ローリング識別子など、識別子セグメントを含み得る。様々な実施形態では、ブロードキャストメッセージはまた、タイプセグメントなど、追加のセグメントを含み得る。タイプセグメントは、ワイヤレスアイデンティティ送信機110のタイプを示し得る。たとえば、ワイヤレスアイデンティティ送信機は、チャイルドセーフティデバイス、犬の首輪、または店のためのセキュリティタグなど、様々な目的のために販売され得る。ワイヤレスアイデンティティ送信機110は、意図された目的に基づいて、異なるタイプセグメント(たとえば、チャイルドセーフティデバイスのためのあるコード、犬の首輪のための第2のコードなど)を有し得る。タイプセグメントは、静的であり、メーカーによって設定され得るが、識別子の残りの部分は、各デバイスに固有であり得、以下で説明するようにローリングし得る。タイプセグメントはまた、ワイヤレスアイデンティティ送信機110が異なる目的または適用例のためにリセットされるときなど、ユーザによって変更され得る。
他の実施形態では、ブロードキャストメッセージはまた、近接ブロードキャスト受信機によって実施されるべき命令またはコマンドとともに、1つまたは複数の静的または動的なセグメントを含み得る。そのようなコマンドセグメントもまた、中央サーバまたは他のネットワークデバイスに命令するために、伝えられ得る。コマンドセグメントは、タイプセグメントと同様に設定されるか、もしくは静的であってよく、または、1つもしくは複数の近接ブロードキャスト受信機からのペアリングもしくはデータなど、様々な条件に基づいて経時的に変動し得る。そのようなコマンド設定はまた、ワイヤレスアイデンティティ送信機110のユーザによって構成され得る。第2のセグメントまたは追加のセグメントもまた、ワイヤレスアイデンティティ送信機110のステータスを示すことができる。たとえば、第2のセグメントは、バッテリーが切れる前に残された残存電力または推定時間を示すことができる。近接ブロードキャスト受信機または中央サーバは、このステータスを解釈し、それに応じて応答することができる。
図2Aに戻ると、ブロック204で、ワイヤレスアイデンティティ送信機110のプロセッサは、スリープモードに入ることができる。たとえば、識別子を有するブロードキャストメッセージをブロードキャストした後、ワイヤレスアイデンティティ送信機110は、所定の時間期間の間に継続することができる電力節約状態に入るように構成され得る。様々な実施形態では、ワイヤレスアイデンティティ送信機110は、所定の時間の間にスリープするか、決してスリープしないか、または、様々な入力に基づいて決定された変動する時間の間にスリープすることができる。ブロック206で、ワイヤレスアイデンティティ送信機110のプロセッサは、所定の持続時間が満了した後など、スリープモードからウェイクアップすることができる。ブロック208で、ワイヤレスアイデンティティ送信機110のプロセッサは、ローリング識別子アルゴリズムなどのアルゴリズムから、新しいデバイス識別子を生成することができる。たとえば、ワイヤレスアイデンティティ送信機110は、擬似ランダム関数またはストリーミングのような暗号化アルゴリズム(たとえば、AES-CTR)を使用して、ローリング識別子を生成することができる。次いで、ワイヤレスアイデンティティ送信機110は、ブロック202に戻り、新たに生成された識別子を含むメッセージをブロードキャストすることなどによって、再度ブロードキャストすることができる。様々な実施形態では、ブロック202〜208の動作は、アイデンティティトランシーバ(たとえば、アイデンティティ送信機と近接ブロードキャスト受信機の両方として動作するように構成されたスマートフォン)によって実行され得る。
ブロック208で使用されるアルゴリズム(または、ローリング識別子アルゴリズム)は、ワイヤレスアイデンティティ送信機110のアイデンティティ(たとえば、メディアアクセス制御アドレス(MAC)もしくはBluetooth(登録商標) ID)、復号鍵、および/または、ローリング識別子を生成するために使用されるアルゴリズムのいずれかを知らないデバイスまたはシステムによって予測または認識することが非常に困難である、ローリング識別子を生成することができる。以下で説明するように、アルゴリズム(もしくは、復号アルゴリズム)または復号鍵とともに構成され、ワイヤレスアイデンティティ送信機110識別子を保持している中央サーバ120は、ローリング識別子を使用して、対応するアカウントまたはデバイスアイデンティティを決定することができる。方法200は、一例として、ウェイクおよびブロードキャストサイクルごとに変化するローリング識別子を示すが、他の実施形態では、識別子は、毎分1回、毎時1回など、より低い頻度で変更され得る。そのような実施形態では、ブロック208で新しい識別子を生成する動作は、指定された間隔のみにおいて実行され得るので、他の時間には、ウェイクすると(すなわち、ブロック206)、ワイヤレスアイデンティティ送信機110は、識別子をブロードキャストするためにブロック202に戻ることができる。ローリング識別子または他の符号化された識別子を生成するための様々なアルゴリズムについては、上記で参照により組み込まれる関連出願において説明されている。一実施形態では、ローリング識別子および他の情報は、標準Bluetooth(登録商標) LEメッセージパケットフォーマット(または、パケットタイプ)のペイロード内で通信され得る。
図2Bは、ワイヤレスアイデンティティ送信機110が、スマートフォン近接ブロードキャスト受信機など、近接ブロードキャスト受信機によって受信され得る情報をブロードキャストするための、別の実施形態の方法250を示す。方法250は、ワイヤレスアイデンティティ送信機110の検出された移動に応答して、この実施形態では移動インジケータとしても働くブロードキャスト識別子を変更するための動作を含み得ることを除いて、方法200と同様であり得る。たとえば、ワイヤレスアイデンティティ送信機110が、ワイヤレスアイデンティティ送信機110が投げられ、携行され、新しく方向付けられ、またはさもなければ移動されたことを示す内部加速度計からの加速度計センサーデータを検出するとき、ワイヤレスアイデンティティ送信機110は、後続のBluetooth(登録商標) LEブロードキャストメッセージを介してブロードキャストされ得るローリングデバイス識別子を生成するためのルーチンを実行するなどの動作を実行することができる。
上記で説明したように、ブロック201で、ワイヤレスアイデンティティ送信機のプロセッサは、起動することができ、ブロック202で、上記で説明したようなブロードキャストメッセージなど、識別子を含むメッセージをブロードキャストすることができる。ブロック204で、ワイヤレスアイデンティティ送信機110のプロセッサは、スリープモードに入ることができ、ブロック206で、所定の持続時間が満了した後など、スリープモードからウェイクアップすることができる。
決定ブロック252で、ワイヤレスアイデンティティ送信機110のプロセッサは、センサーデータに基づいて、移動が検出されるかどうかを決定することができる。具体的には、ワイヤレスアイデンティティ送信機110は、ワイヤレスアイデンティティ送信機110内の加速度計、ジャイロスコープ、または他のセンサーによって生成されたデータを評価して、ワイヤレスアイデンティティ送信機110が動きまたは同様のアクティビティを経験したかどうかを検出することができる。たとえば、ワイヤレスアイデンティティ送信機110は、ある期間(たとえば、数秒、動作サイクルなど)にわたって収集された加速度計センサーデータを分析して、誰かがワイヤレスアイデンティティ送信機110を持ち上げたかまたはさもなければ移動したかどうかを決定することができる。一実施形態では、ワイヤレスアイデンティティ送信機110は、センサーデータをあらかじめ定義された値と比較して、動きを示すセンサーデータが最小しきい値を超えるかどうかを決定することができる。たとえば、加速度計センサーデータが、わずかな、および/または急な移動が経験されたことを示すとき、ワイヤレスアイデンティティ送信機110は、移動が最小しきい値を超えないと決定することができ、したがって、ワイヤレスアイデンティティ送信機110が移動されたと決定しなくてよい。一実施形態では、ワイヤレスアイデンティティ送信機110は、センサーデータが、一定の持続時間にわたって移動が経験されたことを示すときのみ、移動が発生したと決定するように構成され得る。たとえば、ワイヤレスアイデンティティ送信機110は、加速度計センサーデータが、数秒、数分などの間に動きがワイヤレスアイデンティティ送信機110において一貫して経験されたことを示すときのみ、移動が発生したと決定することができる。
一実施形態では、センサーデータに基づく、移動が検出されたとの決定に応答して、ワイヤレスアイデンティティ送信機110は、移動が経験されたことを示すように、フラグ、変数、ビット、または他のデータなど、記憶された情報を設定することができる。そのような記憶された情報は、方法250の各動作ループの終了において、または代替的に、検出されたイベントに基づいてなど、周期的にリセットされ得る。たとえば、移動が検出されると、記憶された情報は、ワイヤレスアイデンティティ送信機110がリブートされるか、またはユーザがリセット入力を与える(たとえば、リセットボタンをタップする)まで、移動が経験されたことを示すことができる。
センサーデータに基づいて、移動が検出されない場合(すなわち、決定ブロック252=「No」)、ワイヤレスアイデンティティ送信機110のプロセッサは、調整されていないデフォルトデバイス識別子、または代替的に、最後のデバイス識別子を生成した後にさらなる移動が経験されないとき、最後に生成されたデバイス識別子をブロードキャストすることによってなど、同じ識別子をブロードキャストすることによって、ブロック202の動作を継続することができる。このようにして、ワイヤレスアイデンティティ送信機110は、同じロケーション内にある間、同じデバイス識別子をブロードキャストするように構成され得る。
センサーデータに基づいて、移動が検出される場合(すなわち、決定ブロック252=「Yes」)、ブロック208で、ワイヤレスアイデンティティ送信機110のプロセッサは、同じ数が同じデバイスによってその寿命内に2回ブロードキャストされることになる可能性を最小限にするアルゴリズムから、新しいデバイス識別子を生成することができる。次いで、ワイヤレスアイデンティティ送信機110は、ブロック202に戻り、新たに生成されたデバイス識別子を含むメッセージをブロードキャストすることなどによって、再度ブロードキャストすることができる。ブロック202〜252の動作を繰り返すことによって、移動が検出されるたびに、新しいデバイス識別子が生成され得る。したがって、この実施形態では、デバイス識別子は移動インジケータとしても働き、その理由は、識別子がすべての著しい移動(すなわち、しきい値を超える移動)に応答して変化するからである。
一実施形態では、ワイヤレスアイデンティティ送信機110は、単一の検出された移動(たとえば、オフィスからオフィスへのワイヤレスアイデンティティ送信機110の1回限りの移動など)に応答して、新しいデバイス識別子の生成およびブロードキャストを継続することができる。言い換えれば、移動が検出されると、ワイヤレスアイデンティティ送信機110は、無限の期間の間に毎秒1回など、新しいデバイス識別子を常に生成することができる。別の実施形態では、ワイヤレスアイデンティティ送信機110は、近くのビーコンデバイスからの信号、および/または、ユーザがワイヤレスアイデンティティ送信機110上で停止ボタンを押すなどのユーザ入力の受信に応答して、新しいデバイス識別子の生成およびブロードキャストを中止するように構成され得る。これらの実施形態の一例として、ユーザ(たとえば、所有者)による、第1のオフィスから第2のオフィスへのワイヤレスアイデンティティ送信機110の意図的な移動に応答して、ワイヤレスアイデンティティ送信機110は、無期限に、新しいデバイス識別子の生成およびブロードキャストを開始することができる。しかしながら、ユーザがデバイスを移動することを意図したので、次いで、ユーザは、ワイヤレスアイデンティティ送信機110上で「停止」ボタンを押すことができ、「停止」ボタンは、次回にワイヤレスアイデンティティ送信機110が移動されるまで、ワイヤレスアイデンティティ送信機110が識別子を変更することを停止すること、および最後に生成されたデバイス識別子をブロードキャストし続けることを引き起こす。次いで、ユーザのコンピューティングデバイスは、ワイヤレスアイデンティティ送信機110が再度移動したときを認識するために、受信されたデバイス識別子との後続の比較のために、安定した最後に生成されたデバイス識別子をメモリ内に記録することができる。
別の実施形態では、ワイヤレスアイデンティティ送信機110は、センサーデータに基づく、移動の非検出に応答して(すなわち、決定ブロック252=「No」)のみ、新しいデバイス識別子を生成するように構成され得る。言い換えれば、デフォルトでは、ワイヤレスアイデンティティ送信機110は、図2Aにおいて上記で説明した動作を実行することができ、移動の検出に応答してのみ、周期的に新しいデバイス識別子を生成することをやめることができる。このようにして、ワイヤレスアイデンティティ送信機110からローリングまたはさもなければ変化する識別子を探すように構成されたサーバまたは他のデバイスは、ブロードキャスト識別子がもはやローリングしないか、またはさもなければ周期的に調整されないとき、移動が発生したと決定することができる。
図3は、ワイヤレスアイデンティティ送信機110が、スマートフォン近接ブロードキャスト受信機など、近接ブロードキャスト受信機によって受信され得る情報をブロードキャストするための、別の実施形態の方法300を示す。方法300は、ワイヤレスアイデンティティ送信機110が、ブロードキャストメッセージ内で追加の移動インジケータを送信するための動作を含み得ることを除いて、上記で説明した方法200と同様である。デバイス識別子と移動インジケータの両方をブロードキャストすることによって、ワイヤレスアイデンティティ送信機110は、他のデバイスが、デバイス識別子の処理に基づいて、ワイヤレスアイデンティティ送信機110アイデンティティを認証する(すなわち、ワイヤレスアイデンティティ送信機110からのブロードキャストが信頼できるかどうかを決定する)ことを可能にすることができ、また、同じまたは他のデバイスが、移動インジケータに基づいて、ワイヤレスアイデンティティ送信機110が移動されたかどうかを検証することを可能にすることもできる。
上記で説明したように、ブロック201で、ワイヤレスアイデンティティ送信機110は、起動することができる。ブロック302で、ワイヤレスアイデンティティ送信機110は、ワイヤレスアイデンティティ送信機110が移動されたかどうかを示すデータなど、移動インジケータを初期化することができる。ワイヤレスアイデンティティ送信機110は、レジスタ、変数、数、表現、または他のデータを、デフォルトまたは開始値に初期化することができる。たとえば、ワイヤレスアイデンティティ送信機110は、浮動小数点数を初期値(たとえば、0)に設定することができる。移動インジケータの初期値は、メーカー、中央サーバ、またはユーザによってあらかじめ決定され得る。たとえば、以下で説明するような登録プロセス中に、中央サーバは、ワイヤレスアイデンティティ送信機110に初期移動インジケータ値を提供することができる。一実施形態では、初期移動インジケータは、乱数であり得る。一実施形態では、初期移動インジケータは、ワイヤレスアイデンティティ送信機110が最初にアクティベートされるとき、初期構成または登録プロセス中に、中央サーバおよび/または様々なユーザデバイス(たとえば、近接ブロードキャスト受信機として動作するように構成されたモバイルデバイスなど)に報告され、その中に記憶され得る。たとえば、中央サーバは、ワイヤレスアイデンティティ送信機110のアイデンティティに関連して、データ構造内に初期移動インジケータを記憶することができる。
移動インジケータは、多数の一意の値を表すことが可能であるデータであり得る。具体的には、移動インジケータは、ワイヤレスアイデンティティ送信機110のメモリ内に記憶された、64ビットまたは同様に大きいレジスタまたはデータ構造によって表され得る。このようにして、ワイヤレスアイデンティティ送信機110は、決して値を重複させることなく、多くの回数、以下で説明するように移動インジケータを調整することが可能であり得る。たとえば、移動インジケータの64ビット表現を用いて、ワイヤレスアイデンティティ送信機110は、決して移動インジケータが2回以上同じ値に設定されることなく、無限の時間量の間に毎秒1回、移動インジケータ値を変更することが可能であり得る。
ブロック304で、ワイヤレスアイデンティティ送信機110は、上記で説明したようなローリングする一意のデバイス識別子などのデバイス識別子と、移動インジケータとを含む、メッセージ(すなわち、ブロードキャストメッセージ)をブロードキャストすることができる。たとえば、ワイヤレスアイデンティティ送信機110は、ペイロード内に、暗号化されたデバイス識別子ならびに移動インジケータの両方を含む、Bluetooth(登録商標)パケットをブロードキャストすることができる。様々な実施形態では、ブロードキャストメッセージは、完全にまたは部分的に暗号化され、符号化され、またはさもなければ不明瞭にされ得る。たとえば、ブロードキャストメッセージは、デバイス識別子と移動インジケータとを含む、暗号化されたペイロードを含み得る。別の例として、ブロードキャストメッセージは、暗号化されたデバイス識別子を含み得るが、移動インジケータを表す、非暗号化された、またはさもなければ「暗号化されていない」データを含み得る。ブロードキャストメッセージの構造およびフォーマッティングに基づいて、秘密鍵とともに解読アルゴリズムを適用することなどによって、メッセージの情報にアクセスするように構成されたデバイス(たとえば、近接ブロードキャスト受信機、中央サーバなど)は、デバイス識別子を識別することが可能であり得、移動インジケータは、独立して、または代替的に、いずれかの識別子を識別するためにブロードキャストメッセージを処理するために必要とされ得る。たとえば、近接ブロードキャスト受信機は、「暗号化されていない」移動インジケータを認識するように構成され得るが、難読化されたデバイス識別子を認証するために、さらなる処理(たとえば、復号など)のために、ブロードキャストメッセージからの他のデータを中央サーバに中継することが必要とされ得る。
ブロック204で、ワイヤレスアイデンティティ送信機110は、スリープモードに入ることができ、ブロック206で、所定の持続時間が満了した後など、スリープモードからウェイクアップすることができる。決定ブロック252で、ワイヤレスアイデンティティ送信機110は、センサーデータに基づいて、移動が検出されるかどうかを決定することができる。ワイヤレスアイデンティティ送信機110において、移動が検出されたと決定される場合(すなわち、決定ブロック252=「Yes」)、ブロック308で、ワイヤレスアイデンティティ送信機110は、値をインクリメント/デクリメントすることなどによって、移動インジケータを調整することができる。ワイヤレスアイデンティティ送信機110は、移動インジケータを調整するための様々な方式、計算、方程式、シード、および/または他のあらかじめ定義された技法を利用することができる。たとえば、ワイヤレスアイデンティティ送信機110は、中央サーバによって知られているシード値とともに、特定の乱数生成アルゴリズムを使用することができる。別の例として、ワイヤレスアイデンティティ送信機110は、値(たとえば、「1」)を現在の移動インジケータ(たとえば、初期移動インジケータ)に単に加算することができる。
ワイヤレスアイデンティティ送信機110において、移動が検出されなかったと決定される場合(すなわち、決定ブロック252=「No」)、または、移動インジケータが、ブロック308の動作とともに調整された場合、ブロック208で、ワイヤレスアイデンティティ送信機110は、ローリング識別子アルゴリズムなどのアルゴリズムから、新しいデバイス識別子を生成することができる。次いで、ワイヤレスアイデンティティ送信機110は、ブロック304に戻り、新たに生成された識別子と、決定ブロック252の動作に基づいて、最後のブロードキャストメッセージが送信されてから調整されてもされなくてもよい移動インジケータとを含む、メッセージをブロードキャストすることなどによって、再度ブロードキャストすることができる。
一実施形態では、ワイヤレスアイデンティティ送信機110は、単一の検出された移動(たとえば、オフィスからオフィスへのワイヤレスアイデンティティ送信機110の1回限りの移動など)に応答して、調整された移動インジケータの生成およびブロードキャストを継続することができる。言い換えれば、移動が検出されると、ワイヤレスアイデンティティ送信機110は、無限の期間の間に毎秒1回など、周期的に、移動インジケータを常に調整することができる。別の実施形態では、ワイヤレスアイデンティティ送信機110は、ユーザがワイヤレスアイデンティティ送信機110上で停止ボタンを押すなどのユーザ入力の受信に応答して、移動インジケータの調整を中止するように構成され得る。
一例として、ユーザ(たとえば、所有者)による、第1のオフィスから第2のオフィスへのワイヤレスアイデンティティ送信機110の意図的な移動に応答して、ワイヤレスアイデンティティ送信機110は、周期的にローリングするデバイス識別子を含む後続のブロードキャストメッセージごとに異なるように、移動インジケータを調整することを開始することができる。しかしながら、ユーザが、ワイヤレスアイデンティティ送信機110上で「停止」ボタンを押すとき、ワイヤレスアイデンティティ送信機110は、次回にワイヤレスアイデンティティ送信機110が移動されるまで、周期的にローリングするデバイス識別子とともに後続のブロードキャストメッセージ内に、最後の調整された移動インジケータ値を含めることができる。
図4は、ワイヤレスアイデンティティ送信機110(図4では「WIT」と呼ばれる)が、スマートフォンモバイルデバイス近接ブロードキャスト受信機など、近接ブロードキャスト受信機によって受信され得る情報をブロードキャストするための、別の実施形態の方法400を示す。方法400は、ワイヤレスアイデンティティ送信機110がセキュアリンクを介して別のデバイスに接続するための動作を含み得ることを除いて、上記で説明した方法200、300と同様である。たとえば、ワイヤレスアイデンティティ送信機110は、セキュアなBluetooth(登録商標)リンク(すなわち、2つのペアリングされたデバイス間のリンク)を介して、近くのスマートフォンと接続することができる。方法400の以下の説明のために、ローリングデバイス識別子を含むメッセージのブロードキャストに関係する動作(すなわち、ブロック304、204、206、208)については、オプションとして説明し、その理由は、ワイヤレスアイデンティティ送信機110は、近接内の既知のデバイスと双方向通信を確立するように構成されるとき、そのアイデンティティを周期的に送信することが必要とされてもされなくてもよいからである。
上記で説明したように、ブロック201で、ワイヤレスアイデンティティ送信機110は、起動することができる。ブロック302で、ワイヤレスアイデンティティ送信機110は、移動インジケータを初期化することができる。オプションのブロック304で、ワイヤレスアイデンティティ送信機110は、上記で説明したようなローリングする一意の識別子などのデバイス識別子と、移動インジケータとを含む、メッセージ(すなわち、ブロードキャストメッセージ)をブロードキャストすることができる。オプションのブロック204で、ワイヤレスアイデンティティ送信機110は、スリープモードに入ることができ、オプションのブロック206で、所定の持続時間が満了した後など、スリープモードからウェイクアップすることができる。決定ブロック252で、ワイヤレスアイデンティティ送信機110は、センサーデータに基づいて、移動が検出されるかどうかを決定することができる。ワイヤレスアイデンティティ送信機110において、移動が検出されたと決定される場合(すなわち、決定ブロック252=「Yes」)、ブロック308で、ワイヤレスアイデンティティ送信機110は、レジスタ値をインクリメント/デクリメントすることなどによって、移動インジケータを調整することができる。ワイヤレスアイデンティティ送信機110において、移動が検出されなかったと決定される場合(すなわち、決定ブロック252=「No」)、または、移動インジケータが、ブロック308の動作とともに調整された場合、オプションのブロック208で、ワイヤレスアイデンティティ送信機110は、難読化された、またはさもなければローリングデバイス識別子を生成するためのアルゴリズムなどのアルゴリズムから、新しいデバイス識別子を生成することができる。
決定ブロック402で、ワイヤレスアイデンティティ送信機110は、Bluetooth(登録商標)ペアリングまたはボンディングされたスマートフォン、ラップトップ、または他のユーザデバイスなど、接続可能なデバイスが検出されるかどうかを決定することができる。ワイヤレスアイデンティティ送信機110は、ペアリングされた、またはさもなければセキュアな通信リンクに関与するように構成されたBluetooth(登録商標)無線など、互換性のある機能および事前認証されたアイデンティティを有する近くのデバイスについての周期的なスキャニング動作を実行することによって、そのような接続可能なデバイスを検出することができる。たとえば、ワイヤレスアイデンティティ送信機110は、前に通信またはユーザによって供給されたデータ(たとえば、アドレス帳など)に基づいて、ワイヤレスアイデンティティ送信機110にボンディングされるか、またはさもなければ知られているBluetooth(登録商標)対応デバイスについて、スキャニングするための動作を実行することができる。一実施形態では、接続可能なデバイスは、ワイヤレスアイデンティティ送信機110など、近くのデバイスによって発見可能であるように構成され、ワイヤレスアイデンティティ送信機110にすでに知られている(たとえば、ペアリングされている)、それらの近くのデバイスであり得る。
接続可能なデバイスが、ワイヤレスアイデンティティ送信機110の近接内で検出されないと決定される場合(すなわち、決定ブロック402=「No」)、ワイヤレスアイデンティティ送信機110は、オプションのブロック304の動作を実行するように戻り、新たに生成されたデバイス識別子(たとえば、ローリング識別子)と、決定ブロック252の動作に基づいて、最後のブロードキャストメッセージが送信されてから調整されてもされなくてもよい移動インジケータとを含む、メッセージをブロードキャストすることなどによって、再度ブロードキャストすることができる。
しかしながら、少なくとも1つの接続可能なデバイスが、ワイヤレスアイデンティティ送信機110の近接内で検出されると決定される場合(すなわち、決定ブロック402=「Yes」)、ブロック404で、ワイヤレスアイデンティティ送信機110は、検出された接続可能なデバイスとのセキュアリンクを確立することができる。そのようなリンクは、ペアリングされたデバイス間のセキュアなBluetooth(登録商標)リンクなど、ワイヤレスアイデンティティ送信機110と検出された接続可能なデバイスとの間の双方向通信を可能にすることができる。ブロック406で、ワイヤレスアイデンティティ送信機110は、セキュアリンクを介して、検出された接続可能なデバイスに移動インジケータを送信することができ、ブロック408で、セキュアリンクを完了することができる。次いで、ワイヤレスアイデンティティ送信機110は、オプションのブロック304の動作を継続して、別のブロードキャストメッセージをブロードキャストすることができる。
図5は、近接ブロードキャスト受信機138内の様々なモジュールの図500を示す。上記で説明したように、近接ブロードキャスト受信機は、ビルの周りに配置された専用デバイスなど、静止した近接ブロードキャスト受信機と、ワイヤレスアイデンティティ送信機110からブロードキャストメッセージを受信するための動作、および(たとえば、WiFiまたはセルラーネットワークを介して)長距離通信を介して、中央サーバ120に、インターネット103を介してサイティングメッセージを送信するための動作を実行するように構成されるモバイルデバイスなど、モバイル近接ブロードキャスト受信機とを含み得る。様々なモジュールおよび構成要素について、モバイルデバイス近接ブロードキャスト受信機内の要素に関連して以下で説明するが、様々な実施形態では、静止した近接ブロードキャスト受信機など、任意の近接ブロードキャスト受信機が、同様のモジュールおよび/または構成要素を含み得る。
近接ブロードキャスト受信機138は、近接したワイヤレスアイデンティティ送信機110から受信されたブロードキャストメッセージを処理するために利用されるソフトウェア、命令、ルーチン、アプリケーション、動作、または他の回路であり得る、コアクライアントモジュール115を含み得る。コアクライアントモジュール115はまた、サイティングメッセージを送信すること、および中央サーバ120から返信メッセージを受信することなど、近接ブロードキャスト受信機138と中央サーバ120との間の通信を扱うこともできる。たとえば、コアクライアントモジュール115は、ユーザからの対話なしに、サイティングメッセージをアップロードまたは送信することなどの動作を実行する、バックグラウンドサービスとして動作することができる。
コアクライアントモジュール115は、ブロードキャストメッセージおよび/またはサイティングメッセージに関係するアプリケーションプログラミングインターフェースデータ、コード、または他のコマンドに対応する、API構成要素506を含み得る。たとえば、API構成要素506は、ワイヤレスアイデンティティ送信機110から受信されたBluetooth(登録商標) LEアドバタイジングパケットをリッスンするとき、近接ブロードキャスト受信機によって利用され得る。別の例として、API構成要素506は、ワイヤレスアイデンティティ送信機110に対応する通知、アラート、または他の通信を受信するために、近接ブロードキャスト受信機138を登録するために利用され得る。
コアクライアントモジュール115はまた、受信されたブロードキャストメッセージを処理するために、許可システム構成要素508を含み得る。たとえば、近接ブロードキャスト受信機138は、許可要求のためのoAuthと、承認された通信パートナーのためのxAuthとをサポートすることができる。
コアクライアントモジュール115はまた、無線固有のサイティング受信機構成要素510(たとえば、Bluetooth(登録商標) LE、LTE-D、WiFi、および他の通信を扱うための構成要素)と、動作、アドミニストレーション、および管理(または、OA&M)モジュール512と、ワイヤレスアイデンティティ送信機ネットワークマネージャ構成要素514と、記憶されたルックアヘッド識別子に関係するイベント登録構成要素516と、サイティングマネージャ構成要素518とを含み得る。一実施形態では、イベント登録構成要素516は、ある時間ウィンドウ中にワイヤレスアイデンティティ送信機110によってブロードキャストされた可能なローリング識別子にマッチし得るローリングデバイス識別子のセットなど、中央サーバ120からダウンロードされ、特定のワイヤレスアイデンティティ送信機110に対応する、多数のローリング識別子を記憶することができる。
多数の現代のモバイルデバイスと同様に、近接ブロードキャスト受信機138は、サードパーティアプリケーション(または、「アプリ」)を実行するように構成されてよく、したがって、様々なサードパーティ(たとえば、商人)によって提供されたアプリケーションに関係するソフトウェア命令およびルーチンを実行、管理、および他の方法で実行することができる、サードパーティアプリケーションモジュール116を含み得る。たとえば、サードパーティアプリケーションモジュール116は、様々なサードパーティアプリケーションによって使用されるべき、コアクライアントモジュール115からの様々なデータを受信することができる。説明のために、中央サーバ120に登録される百貨店に関係するサードパーティアプリケーションは、近接ブロードキャスト受信機138のユーザが百貨店(たとえば、店のジオフェンス)に入り、とどまり、かつ/または百貨店を離れるとき、コアクライアントモジュール115から通知を受信するように構成され得る。一実施形態では、最適化のために、サードパーティアプリケーションモジュール116を介して実行するアプリケーションまたはアプリは、特定のワイヤレスアイデンティティ送信機が近接内であるか、または代替的に近接を離れるとき、コアクライアントモジュール115から通知を受信するために登録し、またはさもなければそうするように構成され得る。たとえば、アプリケーションは、特定のワイヤレスアイデンティティ送信機が近接に入るか、近接内に滞在する(たとえば、近くに立っており、移動していない)か、近接を離れるかを示す、イベント通知を受信するために、コアクライアントモジュール115に事前に登録することができる。
近接ブロードキャスト受信機138はまた、様々な動作を実行し、短距離信号受信機回路などの回路を管理するための、オペレーティングシステムおよびプラットフォームモジュール520を含み得る。具体的には、オペレーティングシステムおよびプラットフォームモジュール520は、Bluetooth(登録商標) LEプロトコルを利用する通信を処理するためのBluetooth(登録商標) Low Energyモジュール524と、様々なセルラーおよび同様の長距離ワイヤレスネットワーク(たとえば、LTE-Dなど)に対応する通信を処理するためのセルラーネットワークモジュール526とを含み得る。
オペレーティングシステムおよびプラットフォームモジュール520はまた、時間を追跡し、タイムスタンプデータを生成することができる、時間サービス構成要素528と、低精度ロケーションデータ、または代替的により精度の高いGPS(もしくは、A-GPS)ロケーションデータを維持することができる、ロケーションサービス構成要素530と、ストレージ構成要素532と、WiFiまたは他のワイヤレスネットワークを介して通信を可能にするためのワイヤレスワイドエリアネットワーク/ワイヤレスローカルエリアネットワーク構成要素522とを含み得る。
一実施形態では、コアクライアントモジュール115は、ワイヤレスアイデンティティ送信機識別子(たとえば、関与するリスト上のすべての送信機のローリング識別子、ユーザによって所有されたすべての送信機のための識別子など)のセットを、中央サーバに要求することができる。そのようなセットは、現在使用中であり、ある時間期間の間に使用中であることが期待される、ワイヤレスアイデンティティ送信機に対応し得る。
図6Aは、静止した近接ブロードキャスト受信機またはモバイル近接ブロードキャスト受信機など、近接ブロードキャスト受信機上で実施され得る一実施形態の方法600を示す。決定ブロック602で、近接ブロードキャスト受信機は、ブロードキャストメッセージが受信されるかどうかを決定することができる。たとえば、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機によるブロードキャストアドバタイズメントパケットまたはペアリングの試みをリッスンすることを開始することができる。近接ブロードキャスト受信機は、連続的に監視モードであるか、または、中央サーバから受信されたアラート(または、検索アクティベーションメッセージ)に応答して、特定の識別子をリッスンすることを開始することができる。近接ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック602=「No」)、近接ブロードキャスト受信機は、決定ブロック602の動作を継続することができる。
近接ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック602=「Yes」)、ブロック604で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからの情報、および他の関連付けられたデータに基づいて、サイティングメッセージを生成することができる。具体的には、サイティングメッセージは、ローリング識別子(すなわち、符号化されたデバイス識別子)、MACアドレス、または、特定のワイヤレスアイデンティティ送信機を識別するために使用され得る他の一意のコードなど、受信されたブロードキャストメッセージを送信したワイヤレスアイデンティティ送信機に固有の識別子を含み得る。
サイティングメッセージ内に含まれ得る、他の関連付けられたデータは、近接ブロードキャスト受信機がブロードキャストメッセージを受信した時間、ロケーション情報、近接ブロードキャスト受信機の識別情報、関係するサービス(たとえば、関連付けられたソフトウェアまたはサードパーティ)、および信号強度情報など、ブロードキャストメッセージの受信に関係する様々な情報を含み得る。言い換えれば、近接ブロードキャスト受信機は、現状についてのデータ(たとえば、タイムスタンプ、GPS座標、最も近い基地局のセルIDなど)を、ブロードキャストメッセージおよび/またはワイヤレスアイデンティティ送信機の識別子に関連付けることができる。このデータは、各識別子に対応するサイティングが発生したときからのタイムスタンプおよびGPS座標に関連付けられた1つまたは複数の識別子をもつアレイなど、様々なタイプのデータ構造のいずれかにおいて記憶され得る。一実施形態では、サイティングメッセージは、近接ブロードキャスト受信機のアイデンティティを確認するために、中央サーバによって使用され得る、デジタル証明書またはコードなどの認証データを含み得る。たとえば、サイティングメッセージのメタデータ内に、近接ブロードキャスト受信機は、近接ブロードキャスト受信機および中央サーバのみに知られている特殊なハッシュコードを含めることができる。
ブロック606で、近接ブロードキャスト受信機は、図1を参照しながら上記で説明したように、セルラー(たとえば、LTE、3G、もしくは4Gネットワーク)または他のネットワーク、およびインターネットなどを介して、サイティングメッセージを中央サーバに送信することができる。サイティングメッセージを送信することによって、連絡イベントを報告すると、近接ブロードキャスト受信機は、即座に戻り、決定ブロック602の動作を実行し、ワイヤレスアイデンティティ送信機からのさらなるブロードキャストを待つことができる。これによって、近接ブロードキャスト受信機が、連絡イベントを中央サーバに連続して報告することが可能になる。
図6Bは、スマートフォン近接ブロードキャスト受信機など、近接ブロードキャスト受信機上で実施され得る一実施形態の方法650を示す。方法650は、近接ブロードキャスト受信機が、ペアリングされたデバイスとのセキュアなBluetooth(登録商標)接続などのセキュアリンクを介して、別のデバイスとデータを交換するために実行するための動作を含み得ることを除いて、上記で説明した方法600と同様である。ブロック652〜658の動作もまた、図4を参照しながら上記で説明したようなブロック402〜408の動作と同様であり得る。
決定ブロック602で、近接ブロードキャスト受信機は、ブロードキャストメッセージが受信されるかどうかを決定することができる。近接ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック602=「No」)、近接ブロードキャスト受信機は、決定ブロック602の動作を継続することができる。近接ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック602=「Yes」)、ブロック604で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからの情報、および他の関連付けられたデータに基づいて、サイティングメッセージを生成することができる。ブロック606で、近接ブロードキャスト受信機は、図1を参照しながら上記で説明したように、セルラー(たとえば、LTE、3G、もしくは4Gネットワーク)または他のネットワーク、およびインターネットなどを介して、サイティングメッセージを中央サーバに送信することができる。
決定ブロック652で、近接ブロードキャスト受信機は、Bluetooth(登録商標)ペアリングまたはボンディングされたワイヤレスアイデンティティ送信機など、接続可能なデバイスを検出することができる。近接ブロードキャスト受信機は、ペアリングされた、またはさもなければセキュアな通信リンクに関与するように構成されたBluetooth(登録商標)無線など、互換性のある機能を有する近くのデバイスについての周期的なスキャニング動作を実行することによって、そのような接続可能なデバイスを検出することができる。たとえば、近接ブロードキャスト受信機は、前に通信またはユーザによって供給されたデータ(たとえば、アドレス帳など)に基づいて、事前認証され、近接ブロードキャスト受信機にボンディングされるか、またはさもなければ知られているBluetooth(登録商標)対応ワイヤレスアイデンティティ送信機について、スキャニングするための動作を実行することができる。一実施形態では、接続可能なデバイスは、近接ブロードキャスト受信機など、近くのデバイスによって発見可能であるように構成され、近接ブロードキャスト受信機にすでに知られている(たとえば、ペアリングされている)、それらの近くのデバイスであり得る。
接続可能なデバイスが、近接ブロードキャスト受信機の近接内で検出されないと決定される場合(すなわち、決定ブロック652=「No」)、近接ブロードキャスト受信機は、決定ブロック602の動作を実行するために戻り、ブロードキャストメッセージが受信されるかどうかを決定することができる。しかしながら、少なくとも1つの接続可能なデバイスが、近接ブロードキャスト受信機の近接内で検出されると決定される場合(すなわち、決定ブロック652=「Yes」)、ブロック654で、近接ブロードキャスト受信機は、検出された接続可能なデバイスとのセキュアリンクを確立することができる。そのようなリンクは、ペアリングされたデバイス間のセキュアなBluetooth(登録商標)リンクなど、近接ブロードキャスト受信機と検出された接続可能なデバイスとの間の双方向通信を可能にすることができる。ペアリングが行われる実施形態では、近接ブロードキャスト受信機が、鍵を使用することなく、ワイヤレスアイデンティティ送信機との前のペアリングから保存された鍵を使用することによって、または中央サーバから受信された鍵を使用することによって、任意のワイヤレスアイデンティティ送信機とペアリングするように設定される場合、ペアリングが自動的に確立され得る。
ブロック656で、近接ブロードキャスト受信機は、セキュアリンクを介して、ワイヤレスアイデンティティ送信機から移動インジケータなどのデータを受信することができ、ブロック658で、セキュアリンクを完了することができる。代替実施形態では、ワイヤレスアイデンティティ送信機のローリング識別子が、セキュアリンクを介して受信され得る。次いで、近接ブロードキャスト受信機は、決定ブロック602の動作を継続して、ブロードキャストメッセージを受信することができる。
図7は、ワイヤレスアイデンティティ送信機への近接に基づいて、コンテンツを提供するための一実施形態の方法700を示す。近接ブロードキャスト受信機は、ブロック702で、識別コードおよび/または第2のセグメントを含む、ワイヤレスアイデンティティ送信機(図7では「WIT」と呼ばれる)からのブロードキャストメッセージを受信することができる。近接ブロードキャスト受信機は、決定ブロック705で、識別コードおよび/または第2のセグメントに関連付けられたアクションが、ローカルに(たとえば、近接ブロードキャスト受信機のメモリ内に)記憶されているかどうかを決定することができる。関連付けられたアクションがローカルで見つかる場合(すなわち、決定ブロック705=Yes)、ブロック708で、そのアクションが近接ブロードキャスト受信機によって実行され得る。
関連付けられたアクションがローカルで見つからない場合(すなわち、決定ブロック705=No)、ブロック710で、近接ブロードキャスト受信機は、識別子および/または第2のセグメントをもつサイティングメッセージを、中央サーバに送信することができる。一実施形態では、近接ブロードキャスト受信機は、ユーザデバイスなど、別のデバイスにメッセージを送信することができる。ブロック712で、近接ブロードキャスト受信機は、命令メッセージを受信することができる。この命令は、識別子および/または第2のセグメントをもつサイティングメッセージに応答して、中央サーバまたは他のデバイスによって送られ得る。ブロック714で、近接ブロードキャスト受信機は、ウェブページまたは他のオンラインリソースに行くことによって、コンテンツにアクセスするなど、受信された命令メッセージに基づいて、アクションを実行することができる。代替実施形態では、近接ブロードキャスト受信機は、決定ブロック705をスキップし、ブロック710でサイティングメッセージを送信すること、またはローカルに記憶されたアクションを実行するように試みることのいずれかに、自動的に進むことができる。
図8は、中央サーバ120内の様々なモジュールの図800を示す。様々なモジュールおよび構成要素について、中央サーバ120内のモジュール、構成要素、および/または要素に関連して以下で説明する。しかしながら、様々な実施形態では、中央サーバ120は、個々のコンピューティングデバイス、サーバブレード、または、以下で説明する様々なモジュールおよび/または構成要素に関連付けられた動作を実行することができる他のユニットを含むか、またはそれに接続され得る。
上記で説明したように、中央サーバ120は、ワイヤレスアイデンティティ送信機に対応するデータを受信、記憶、かつ場合によっては処理するように構成され得る。たとえば、中央サーバ120は、近接ブロードキャスト受信機138'(たとえば、モバイルまたは静止した近接ブロードキャスト受信機など)、サードパーティシステム101、ならびに他のサポートシステムおよび/またはサービス102など、インターネット103を介して様々なデバイスと通信を交換するように構成され得る。
中央サーバ120は、近接ブロードキャスト受信機138、サードパーティシステム101、あるいは他のサポートシステムおよび/またはサービス102から受信されたものなど、データを処理するために様々な動作を実行するために、いくつかの構成要素104〜109を含み得る。具体的には、中央サーバ120は、サイティングメッセージを処理し、アラートまたは通知エンジンモジュールを実行し、アプリケーションプログラミングインターフェース(API)コマンドを扱い、中央サーバ120内の他の構成要素とデータを交換することができる、コア構成要素108を含み得る。コア構成要素108は、短期データおよびサードパーティ固有のデータを記憶するためのユニットを含み得る、データレイヤモジュール802を含み得る。コア構成要素108はまた、近接ブロードキャスト受信機に送信するためのアラートメッセージを生成すること、および様々なワイヤレスアイデンティティ送信機の検索を開始することを行うための、アラートエンジンモジュール804を含み得る。コア構成要素108は、汎用データ、匿名データ、またはさもなければ処理されたデータを、プライバシーポリシーまたはユーザのプロファイル選好に基づいて生成することができる、データアノニマイザモジュール806をさらに含み得る。たとえば、データアノニマイザモジュール806は、ワイヤレスアイデンティティ送信機の消費者ユーザが店に対して識別されないが、ユーザが店内にいるという事実が依然として店に報告されるように、店に関連付けられた近接ブロードキャスト受信機に送信される返信メッセージから個人情報を取り外すことができる。コア構成要素108はまた、様々なユーザについてのプライバシー許可情報を維持することができる、プライバシーマネージャモジュール808を含み得る。たとえば、プライバシーマネージャモジュール808は、登録においてユーザによって提供されたプライバシーパラメータのデータベースを含み得る。
コア構成要素108はまた、検索を編成かつ管理することを支援するための検索マネージャモジュール810と、許可システムモジュール812とを含み得る。コア構成要素108は、近接ブロードキャスト受信機138から受信されたサイティングメッセージ内で報告されたブロードキャストメッセージに関連付けられたワイヤレスアイデンティティ送信機を識別するために、中央サーバ120によって利用され得る、サイティングレゾルバモジュール814をさらに含み得る。コア構成要素108は、動作を開始するための機能およびインターフェースを含み得るAPIモジュール816、商人、サードパーティ、および他のサービスに統合された形式で送信するために、ある期間にわたる様々なサイティングメッセージを合成するための、サイティングアグリゲータモジュール818を含み得る。コア構成要素108はまた、インターネットを介して、近接ブロードキャスト受信機138およびサードパーティシステム101などのデバイスと様々な通信を送信かつ受信するための、ネットワークモジュール820を含み得る。
中央サーバ120はまた、長期データ(たとえば、アーカイブされたユーザデータ、過去のロケーション情報など)を記憶することができる、データウェアハウス構成要素104を含み得る。データウェアハウス構成要素104は、登録ウェブサイトを介してユーザによって提供されたプロファイル情報など、ワイヤレスアイデンティティ送信機のユーザに関係する情報を記憶するための様々なデータベースを含み得る。データウェアハウス構成要素104は、コア構成要素108のデータレイヤモジュール802とデータを交換するように構成され得る。中央サーバ120はまた、ユーザポータルアクセス、スクリプト、およびツール(たとえば、ソフトウェアユーティリティ、ルーチンなど)に関連付けられたソフトウェアを処理かつ/または記憶することができる、動作、アドミニストレーション、および管理(または、OA&M)構成要素105を含み得る。OA&M構成要素105は、コア構成要素108とデータを交換するように構成され得る。
中央サーバ120はまた、開発者アカウントデータを記憶することができ、ワイヤレスアイデンティティ送信機110のユーザと対話するために登録するベンダーまたは商人など、開発者に関連付けられた登録、アカウント管理、およびアラート(または、通知)管理ルーチンを実行することができる、開発者ポータル構成要素106を含み得る。中央サーバ120はまた、ユーザアカウントデータを記憶することができ、ワイヤレスアイデンティティ送信機に関連付けられた人々など、ユーザに関連付けられた登録、アカウント管理、および検索ルーチンを実行することができる、ユーザポータル構成要素109を含み得る。ユーザポータル構成要素109および開発者ポータル構成要素106は、コア構成要素108の許可システムモジュール812とデータを交換するように構成され得る。中央サーバ120はまた、ワイヤレスアイデンティティ送信機110に関連付けられた工場鍵を記憶することができ、ならびに、受信されたサイティングメッセージ内の暗号化された、符号化された、ローリングする、またはさもなければ難読化された識別情報を、提携ユーザデータとマッチングするための動作、ソフトウェア、またはルーチンを実行することができる、ローリング識別子(または、ID)レゾルバ構成要素107を含み得る。ローリング識別子(または、ID)レゾルバ構成要素107は、コア構成要素108のサイティングレゾルバモジュール814とデータを交換するように構成され得る。
様々な実施形態では、ローリングIDレゾルバ構成要素107など、図8を参照しながら説明したモジュールおよび構成要素は、ソフトウェア命令、アプリケーション、ルーチン、スレッド、回路、またはハードウェアユニットによって実行されるか、またはさもなければ可能にされ得る。
図9は、様々な実施形態において使用するためのワイヤレスアイデンティティ送信機登録プロセスを示す。概して、ブロードキャストメッセージが中央サーバによって処理され得る前に、中央サーバは、ワイヤレスアイデンティティ送信機およびそれらのユーザが中央サーバに登録されることを必要とし得る。たとえば、ワイヤレスアイデンティティ送信機に関係する任意の追跡、検索、または他のサービスが開始され得る前に、中央サーバは、世界中に広まっている様々なワイヤレスアイデンティティ送信機に関連付けられたユーザを決定することが可能でなければならない。登録は、ブロードキャストメッセージ内でワイヤレスアイデンティティ送信機によって送信された識別子と、ワイヤレスアイデンティティ送信機と、それらのユーザとの間のリンクを作成することができる。たとえば、ワイヤレスアイデンティティ送信機が近いという通知をユーザに送信するために、中継された難読化された(または、符号化された)識別子が、登録されたユーザアカウントに関して記憶されているような、ユーザのモバイルデバイス連絡先情報(たとえば、携帯電話番号)を示すアカウント情報とマッチングされなければならない。
具体的には、登録を通して、タイミング機構が、各ワイヤレスアイデンティティ送信機と中央サーバとの間で同期され得る(すなわち、カウンタ)。そのようなカウンタを用いて、ワイヤレスアイデンティティ送信機および中央サーバは、それぞれ識別子を符号化(または、ローリング)および復号し、ワイヤレスアイデンティティ送信機(および、そのユーザ)に関連付けられたアイデンティティを、隠された状態でプライベートに保つことができる。そのようなタイミング機構またはカウンタを同期させるための最も適切な時間は、以下で説明するように、デバイス登録および/またはアカウント作成プロセス中であり得る。図9のために、スマートフォンなどのモバイルデバイスについて、ユーザによってアカウント作成および登録動作を実行するために使用されているものとして説明する(たとえば、モバイルデバイスが、中央サーバに登録するために、ウェブポータルにアクセスするなど)。しかしながら、インターネットに接続され、登録ウェブポータルまたはウェブサイトを介して中央サーバと通信を交換することが可能な任意のコンピューティングデバイスが、関連し得る。
ブロック902で、ユーザのモバイルデバイス(たとえば、iPhone(登録商標)、Android、タブレットデバイスなど)は、ワイヤレスアイデンティティ送信機とともに使用するためのアプリケーションをインストールすることができる。そのようなアプリケーション(または、「アプリ」)は、モバイルデバイスのプロセッサ上でバックグラウンドサービスとして実行することができるか、または代替的に、ユーザによって選択的に使用するためにアクティベートされ得る。本開示全体にわたって説明するように、そのようなアプリケーションは、モバイルデバイスが、受信された信号をブロードキャストメッセージとして識別すること、および、応答において中央サーバにロケーション情報を有するサイティングメッセージを中継することなどによって、近くのワイヤレスアイデンティティ送信機からの短距離ブロードキャストメッセージを処理することを可能にすることができる。
ブロック904で、モバイルデバイスは、ユーザ情報(たとえば、デバイスアイデンティティまたは「デバイスID」)とともに登録要求を送信することができる。登録要求は、中央サーバによって制御されるか、またはさもなければアクセス可能なウェブポータル、ウェブサイト、またはウェブサーバとのインターネット通信を介して、中央サーバに送られ得る。言い換えれば、モバイルデバイスは、インストールされたアプリを通して、ユーザ情報(たとえば、デバイスID)を提供することによって、または、中央サーバが登録要求をアカウントにバインドするために利用することができるデバイスID(deviceID)および他の情報を提供することによって、登録プロセスを呼び出すことができる。たとえば、ユーザのモバイルデバイスは、登録ウェブサイトにアクセスし、ユーザからの入力を受信し、図9を参照しながら上記で説明したように、ユーザ入力を、中央サーバによって使用するために登録ウェブサイトにデータとして送信することができる。
一実施形態では、ユーザ情報は、名前、住所、連絡先情報(たとえば、ソーシャルネットワークサイト、携帯電話番号、電子メールアドレス、電話番号など)、年齢、および他の人口統計学的情報など、ユーザについての個人情報、ならびに、ユーザのアカウントに関連付けられ得るワイヤレスアイデンティティ送信機および/または近接ブロードキャスト受信機についての識別する情報を含み得る。たとえば、中央サーバに送信されるユーザ情報は、ワイヤレスアイデンティティ送信機上のシリアル番号、および/または、ブロック902の動作によるアプリケーションのインストールに応答して、モバイルデバイスによって生成された確認コードを含み得る。ユーザ情報はまた、ユーザが選好する小売店、製品ライン、および、食事をする、または買い物をする、または仕事をするためのエリアなど、選好情報を含み得る。
ユーザ情報は、どのように個人情報が中央サーバによって分配または使用され得るかを示す、プライバシー許可をさらに含み得る。一実施形態では、ユーザは、中央サーバがユーザについてのいかなる識別する情報をも記憶しないように、匿名ユーザとして登録することができる。たとえば、目立たない私書箱、使い捨てセルラー電話番号、または、ユーザもしくはアカウントの所有者を直接識別しない他の連絡先情報にリンクされるアカウントが登録され得る。これは、中央サーバによって提供されるサービスを利用することを選ぶことができるが、プライベートまたは識別する情報の漏洩について心配する者にとって、重要であり得る。
ブロック912で、ユーザのモバイルデバイスは、中央サーバからの認証情報(たとえば、コード、メッセージ)、または所有されたワイヤレスアイデンティティ送信機に関連付けられたデバイスIDなど、アカウント情報を記憶することができる。
ブロック906で、中央サーバは、アカウント登録のためのユーザ情報を受信することができる。ブロック908で、中央サーバは、ユーザのためのアカウントを登録することができる。たとえば、中央サーバは、提供されたデバイス識別を含む、ユーザの情報を、すべての登録されたユーザのデータベース内に記憶することができる。ブロック910で、中央サーバは、アカウント作成情報をユーザに提供することができる。アカウント作成情報は、ユーザのモバイルデバイスが将来使用するために記憶することができる、認証コードまたは他の情報を含み得る。たとえば、中央サーバは、ユーザのモバイルデバイスによってアクセス可能なウェブサイト上で、アカウント作成の確認を表示することができるか、または代替的に、確認信号、テキストメッセージ、電子メール、または他の通信を、ユーザのモバイルデバイスに送信することができる。
ブロック201で、ワイヤレスアイデンティティ送信機は、ユーザによるバッテリーの挿入などに応答して、起動することができる。ワイヤレスアイデンティティ送信機がブートするとき、ナンスまたはカウンタ値が初期化され得る。たとえば、ワイヤレスアイデンティティ送信機は、0値から開始して、時間の経過を表す値をインクリメントし始めることができる。
ブロック913で、ワイヤレスアイデンティティ送信機は、符号化された(または、ローリング)識別子を含むメッセージ(すなわち、ブロードキャストメッセージ)をブロードキャストすることができる。たとえば、ワイヤレスアイデンティティ送信機は、数秒ごとにブロードキャストメッセージを送信することを開始することができる。ワイヤレスアイデンティティ送信機は、本明細書に組み込まれる関連出願において説明された実施形態の方法によって、ローリング識別子を生成することができる。一実施形態では、ブロードキャストメッセージは、初期またはデフォルト移動インジケータ値を含み得る。ブロードキャストメッセージは、擬似ランダム関数を実行することによって生成されたデータを含むペイロードを含み得る。たとえば、ワイヤレスアイデンティティ送信機は、ワイヤレスアイデンティティ送信機のデバイスIDの入力値、ナンスまたはカウンタ値、ならびに、ワイヤレスアイデンティティ送信機および中央サーバのみに知られている秘密鍵、シード、または他の値に基づいて、符号化されたデータを生成するために、擬似ランダム関数を実行することができる。一実施形態では、擬似ランダム関数は、ワイヤレスアイデンティティ送信機および中央サーバのみに知られている、ランダムに選択されたシード値を利用することができる多項式時間計算可能関数であってよく、擬似ランダム関数が、擬似ランダム関数と同じ範囲への出力をもつ同じ領域上で定義されたランダム関数とは計算的に区別不可能であり得るようになる。一実施形態では、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)が、擬似ランダム関数として使用され得る。
一実施形態では、ワイヤレスアイデンティティ送信機は、モバイルデバイスがブロック904の動作によって登録プロセスを開始する時間内のあらかじめ定義された秒数内にアクティベートされることが必要とされ得る。言い換えれば、ワイヤレスアイデンティティ送信機が、そのナンスまたはカウンタ値のインクリメントを開始すると、ユーザは、一定の期間内に中央サーバに登録しなければならない。これによって、中央サーバが、登録中にワイヤレスアイデンティティ送信機におけるナンスまたはカウンタ値を決定しようと試みるとき、一定数の値のみにおいて試みることが可能になる。
一実施形態では、ワイヤレスアイデンティティ送信機は、ブロードキャストメッセージのペイロード内のデータを調整することによって、初期ブロードキャストを示すことができる。たとえば、ワイヤレスアイデンティティ送信機は、中央サーバがワイヤレスアイデンティティ送信機のための初期化時間期間を示すものとして認識することができる、ブロードキャストメッセージ内のビットを変更することができる。ペイロード内に初期化インジケータがある場合、中央サーバは、中央サーバルックアップデータテーブル内のすでに登録された(または、認識された)ワイヤレスアイデンティティ送信機に対応するペイロードとの比較を回避することによって、受信されたペイロードと記憶されたペイロードとの間の比較を促進することができる。
ブロック914で、ユーザのモバイルデバイスは、ブロードキャストメッセージを受信することができる。言い換えれば、インストールされたアプリケーション(または、アプリ)に基づいて、モバイルデバイスは、近接ブロードキャスト受信機として機能することができる。ブロック902の動作によってインストールされたアプリなど、インストールされたアプリケーションは、登録要求を介した中央サーバへの登録動作の開始に応答して、そのようなブロードキャストメッセージを受信することを待機中であり得る。ブロック916で、モバイルデバイスは、ワイヤレスアイデンティティ送信機のローリング識別子、ならびに、記憶されたデバイスIDおよび認証情報などの他の情報を送信することができる。一実施形態では、モバイルデバイスは、テキスト比較および/または構文解析動作を使用することなどによって、受信されたブロードキャストメッセージから、符号化された情報を抽出することができる。たとえば、モバイルデバイスは、最上位ビット演算を実行することができる。
ブロック918で、中央サーバは、符号化された情報、ならびに認証情報およびデバイスIDをもつ、メッセージを受信することができる。ブロック920で、中央サーバは、モバイルデバイスから受信されたメッセージなどにおける、認証情報を検証することができる。具体的には、中央サーバは、認証情報を、ブロック908〜910の動作において生成された情報と比較することができる。
ブロック922で、中央サーバは、デバイスID、および可能なナンスまたはカウンタ値を使用して、ローリング識別子のセットを生成することができる。中央サーバは、そのセットの符号化された識別子を、モバイルデバイスから受信されたローリング識別子と比較することができる。一実施形態では、中央サーバは、デバイスID、およびいくつかのナンスまたはカウンタ値とともに、上記で説明したような擬似ランダム関数を使用することによって、符号化されたデータのセットを計算することができる。たとえば、中央サーバは、ワイヤレスアイデンティティ送信機と共有されたシード、モバイルデバイスによって示されたデバイスID、および、0で開始する多数のナンスまたはカウンタ値とともに、擬似ランダム関数を実行することができる。
ブロック924で、中央サーバが、受信されたローリング識別子を、生成されたセット内のローリング識別子のうちの1つとマッチングするとき、中央サーバは、WITに関して、関連するナンスまたはカウンタ値および時間を記憶することができる。中央サーバは、マッチするローリング識別子を生成するために必要とされるナンスまたはカウンタ値を使用して、ワイヤレスアイデンティティ送信機上で実行するナンスまたはカウンタと同期することができる。一実施形態では、中央サーバは、ワイヤレスアイデンティティ送信機を、正常に登録かつ/または同期されたとして記述する、インジケータを記憶することができる。
オプションのブロック926で、次いで、中央サーバは、メッセージをモバイルデバイスに送信することなどによって、登録結果メッセージをユーザに送信することができる。登録結果メッセージは、中央サーバが、受信された符号化された識別子を生成された識別子とマッチングすることが可能であったか否かを示すことができる。さらに、登録結果メッセージは、初期またはデフォルト移動インジケータ値を示すことができる。
オプションのブロック928で、モバイルデバイスは、登録結果メッセージを受信することができる。一実施形態では、登録結果メッセージは、登録プロセスが失敗した(たとえば、モバイルデバイスによって受信された、受信されたブロードキャストメッセージが、ユーザのワイヤレスアイデンティティ送信機に対応しなかった)ことを示し、モバイルデバイスは、別のブロードキャストメッセージを受信かつ中継することによって、登録を再び試みることができる。
特にブロック913〜924内で、上記で説明した動作は、様々なデバイスによって実行されるメッセージ処理動作、ならびにいかなる伝搬遅延も、ワイヤレスアイデンティティ送信機においてナンスまたはカウンタ値をインクリメント(または、更新)するために必要とされる時間よりもはるかに小さくなり得ると仮定する。これによって、ワイヤレスアイデンティティ送信機および中央サーバにおけるナンスまたはカウンタ値は、1よりも大きく異ならないことが保証される。
図10は、中央サーバが、近接ブロードキャスト受信機から受信されたサイティングメッセージを処理するための、一実施形態の方法1000を示す。上記で説明したように、中央サーバは、サイティングメッセージを処理するために、様々なモジュール、構成要素、回路、およびソフトウェアを利用するように構成され得る。決定ブロック1002で、中央サーバは、サイティングメッセージが受信されるかどうかを決定することができる。中央サーバは、受信回路、バッファ、キュー、または他のインジケータを評価して、いつメッセージが近接ブロードキャスト受信機などの様々なデバイスから受信されるかを決定することができる。一実施形態では、中央サーバは、上記で説明したようなネットワークモジュールを利用して、サイティングメッセージが受信されるかどうかを決定することができる。概して、サイティングメッセージは、インターネット上でセルラーネットワークを介して送信されたパケットなど、長距離通信を介して受信され得る。中央サーバがサイティングメッセージを受信しない場合(すなわち、決定ブロック1002=「No」)、中央サーバは、決定ブロック1002の動作を継続することができる。
中央サーバがサイティングメッセージを受信する場合(すなわち、決定ブロック1002=「Yes」)、ブロック1004で、中央サーバは、サイティングメッセージに基づいて、ワイヤレスアイデンティティ送信機情報と、近接ブロードキャスト受信機情報と、関連付けられたデータとを識別することができる。中央サーバは、受信されたサイティングメッセージ内の様々なデータおよび情報セグメントを、評価し、構文解析し、かつ場合によってはアクセス可能にすることができる。たとえば、中央サーバは、サイティングメッセージを構文解析して、ワイヤレスアイデンティティ送信機からの含まれたブロードキャストメッセージを識別することができる。別の例として、中央サーバは、ワイヤレスアイデンティティ送信機アイデンティティに対応する符号化されたデータ(すなわち、ローリング識別子)、近接ブロードキャスト受信機識別情報(たとえば、受信機ID)、ロケーション情報、タイムスタンプ情報、センサーデータ(たとえば、加速度計センサーデータなど)、近接ブロードキャスト受信機に関連付けられたアプリケーション(または、アプリ)の識別子(たとえば、インストールされたアプリケーションのリスト、近接ブロードキャスト受信機上で実行する関連アプリのための識別子など)を識別することができる。一実施形態では、中央サーバは、上記で説明したようなサイティングレゾルバモジュールを用いて、ブロック1004の動作を実行することができる。
ブロック1006で、中央サーバは、サイティングメッセージ内のローリング識別子に基づいて、ワイヤレスアイデンティティ送信機アイデンティティを取得することができる。中央サーバは、ローリング識別子を復号、逆スクランブル、解読、またはさもなければアクセス可能にするための動作を実行することができる。たとえば、中央サーバは、秘密鍵または復号アルゴリズムを適用して、ワイヤレスアイデンティティ送信機のアイデンティティを取得するための動作を実行することができる。一実施形態では、ブロック1006の動作は、上記で説明したようなローリングIDレゾルバ構成要素を介して、中央サーバによって実行され得る。たとえば、中央サーバは、復号されたワイヤレスアイデンティティ送信機識別子を取得するために、ローリングIDレゾルバ構成要素とデータを交換することを、サイティングレゾルバモジュールに行わせることができる。
ブロック1008で、中央サーバは、取得されたワイヤレスアイデンティティ送信機アイデンティティに基づいて、ワイヤレスアイデンティティ送信機ユーザ情報を取得する(または、取り出す)ことができる。たとえば、中央サーバは、人口統計学情報、前の行動を示す記憶されたデータ(たとえば、進行経路、ロケーション履歴など)、および最後の既知の移動インジケータなど、ワイヤレスアイデンティティ送信機に関係するユーザアカウント情報を取り出すことができる。一実施形態では、ブロック1008の動作は、上記で説明したような許可システムモジュールを介して、中央サーバによって実行され得る。たとえば、中央サーバは、ユーザ登録データベース内に保存されているようなユーザ情報を取得するために、ユーザポータル構成要素と、ワイヤレスアイデンティティ送信機アイデンティティ情報を交換することを、許可システムモジュールに行わせることができる。
ブロック1010で、中央サーバは、識別された近接ブロードキャスト受信機情報に基づいて、近接ブロードキャスト受信機ユーザ情報および関連サービスなど、近接ブロードキャスト受信機識別情報を取得する(または、取り出す)ことができる。たとえば、中央サーバは、受信されたサイティングメッセージを送信した近接ブロードキャスト受信機に関連付けられた商人アイデンティティ、近接ブロードキャスト受信機が参加するために登録されるサービス、ならびに、近接ブロードキャスト受信機への任意の他の関連情報を取り出すことができる。中央サーバは、サイティングメッセージ内の情報に基づいて、関係する近接ブロードキャスト受信機のユーザに関係する電子メールアドレス、MACアドレス、電話番号、および他の連絡先情報を取り出すことができる。たとえば、中央サーバは、関心のあるアイテムへの近接を示す電子メールまたはSMSテキストメッセージなど、中央サーバからの後続の送信のために使用され得る、近接ブロードキャスト受信機に関連付けられたユーザ連絡先情報を決定することができる。一実施形態では、中央サーバは、近接ブロードキャスト受信機の動作を実行するように構成されるスマートフォンのユーザのアイデンティティを決定することができる。
一実施形態では、ブロック1010の動作は、上記で説明したような許可システムモジュールを介して、中央サーバによって実行され得る。たとえば、中央サーバは、開発者登録データベース内に保存されているような関係する登録されたサービスについての情報(たとえば、商人、店、ベンダー、サービスなど)を取得するために、開発者(または、ユーザ)ポータル構成要素と、近接ブロードキャスト受信機情報を交換することを、許可システムモジュールに行わせることができる。
オプションのブロック1011で、中央サーバは、サイティングメッセージを認証することができる。受信されたサイティングメッセージ内の認証情報に基づいて、中央サーバは、既知の、またはさもなければ有効な近接ブロードキャスト受信機から来たものとして、サイティングメッセージの正当性を確認する、認証動作を実行することができる。上記で説明したように、サイティングメッセージは、有効な近接ブロードキャスト受信機のアイデンティティを確認するために使用され得る秘密コード、証明書、またはハッシュデータなどのデータを含み得る。
サードパーティが、登録されたサービスに関連付けられた近接ブロードキャスト受信機をスプーフィングすることを試みることがある(たとえば、不正なスパム業者が、詐欺的なサイティングメッセージを送ることによって、商人の店の近接ブロードキャスト受信機を模倣しようと試みることがある)ので、中央サーバは、サイティングメッセージ内の情報が有用であり、登録されたサービス(たとえば、登録された商人、有効な開発者、または、正当な近接ブロードキャスト受信機を配備する他のパーティ)に関係すると確認する、認証情報をチェックすることができる。たとえば、中央サーバは、登録された開発者として中央サーバ内で確立された商人に関係するサイティングメッセージ内の不明瞭にされたヘッダ情報を検出することができる。
サイティングメッセージが、あるビル内のすべての近接ブロードキャスト受信機が所有する特殊コードなど、中央サーバによって期待される認証情報を含まないか、または、中央サーバ内に記憶された情報にマッチしない認証情報を含むとき、中央サーバは、サイティングメッセージおよびすべての含まれた情報を無視することができる。たとえば、古いかもしくは不完全な認証情報をもつサイティングメッセージは、中央サーバによって無視されるか、または代替的に、潜在的に詐欺的な近接ブロードキャスト受信機のためのリスト内に記憶され得る。
オプションのブロック1012で、中央サーバは、取得かつ/または取り出されたデータに基づいて、ハッシュデータを生成することができる。一実施形態では、オプションのブロック1012の動作は、上記で説明したようなデータアノニマイザモジュールを介して、中央サーバによって実行され得る。ブロック1014で、中央サーバは、ワイヤレスアイデンティティ送信機アイデンティティに関して、サイティングメッセージに基づくデータを記憶することができる。たとえば、中央サーバは、ワイヤレスアイデンティティ送信機の復号されたアイデンティティに関して、データベース内で、サイティングメッセージからの識別された関連付けられたデータを記憶することができる。一実施形態では、ブロック1014の動作は、上記で説明したようなデータレイヤモジュールを介して、中央サーバによって実行され得る。
上記で説明したように、返信メッセージ、アラート(または、検索アクティベーションメッセージ)など、様々なメッセージが、中央サーバによって、ユーザに関連付けられたモバイルデバイスなどの様々な受信側に送信され得る。たとえば、中央サーバは、ユーザのタブレット、スマートフォン、ワイヤレス受信機コンピューティングデバイス、または他のコンピューティングデバイスに、メッセージを送信することができる。受信側はまた、モバイルデバイス上で実行するアプリケーションまたはアプリを含み得る。一実施形態では、中央サーバはまた、EMT、消防、地元の警察、小売店、商人コンピューティングデバイス、および広告サーバを含み得る、登録されたサービスなど、他のサードパーティ受信者またはデバイスに、メッセージを送信することもできる。
サイティングメッセージの受信に応答して、中央サーバによって送信されるメッセージは、ユーザによって携行されたモバイルフォンまたはモバイル近接ブロードキャスト受信機などのデバイスに、既知のワイヤレスアイデンティティ送信機の近接のロケーションを知らせるために送信され得る。たとえば、オフィス内の静止した近接ブロードキャスト受信機など、近接ブロードキャスト受信機が、ユーザに関連付けられたワイヤレスアイデンティティ送信機からブロードキャストメッセージを中継するとき、中央サーバは、ユーザがオフィスの受信機コンピューティングデバイスに近いことを示すメッセージを、ユーザのモバイルデバイスに返すように送信することによって、応答することができる。さらに、ユーザのデバイス上で実行するサードパーティアプリケーションは、メッセージ内の情報を使用することができる。たとえば、ユーザのスマートフォン上で実行する小売店アプリは、ユーザが小売店のビルの近接内のディスプレイエリアの近接内に移動したという通知を受信することができる。様々な他の実施形態では、サードパーティアプリケーションは、ワイヤレスアイデンティティ送信機に関連付けられた、所有されたアイテムを追跡するために利用され得る。たとえば、特定のサードパーティアプリケーションは、ユーザが、取り付けられたワイヤレスアイデンティティ送信機とともに、検索されたアイテムの近接内であるとき、呼出し音を実行することができる。
図10に戻ると、オプションの決定ブロック1052で、中央サーバは、サードパーティアプリケーション(または、アプリ)が、取得された近接ブロードキャスト受信機情報を有することが可能にされるかどうかを決定することができる。言い換えれば、ワイヤレスアイデンティティ送信機のユーザに関連付けられる、中央サーバ内に記憶されたデータに基づいて、中央サーバは、ユーザのデバイスに関連付けられる任意の登録されたサービスまたはサードパーティアプリケーションを検出することができる。たとえば、中央サーバは、データベース情報を評価して、ユーザが小売店に対応するサードパーティアプリケーションを自分のスマートフォン上にインストールしたことを識別することができる。近接ブロードキャスト受信機情報は、近接ブロードキャスト受信機識別(たとえば、IDコードまたは識別子)と、近接ブロードキャスト受信機のユーザアイデンティティとを含み得る。一実施形態では、中央サーバは、サードパーティが開発者もしくは登録されたサービスとして登録したときに示されたものなど、サードパーティの開発者権利に基づいて、または代替的に、中央サーバ内のユーザのプロファイル内に記憶されたユーザの許可設定に基づいて、サードパーティアプリケーションがそのような情報を可能にされるかどうかを識別することができる。一実施形態では、中央サーバは、受信されたサイティングメッセージ内で提供されたアプリケーション識別情報を使用して、ユーザのデバイス上のサードパーティアプリケーションが近接ブロードキャスト受信機情報を受信することができるかどうかを決定することができる。たとえば、サイティングメッセージは、サイティングメッセージに対応するアプリケーションのインジケータ(たとえば、アプリID)を含んでよく、したがって、中央サーバからのいかなる近接ブロードキャスト受信機情報を受信することも可能にされる。
サードパーティアプリが、取得された近接ブロードキャスト受信機情報を有することが可能にされない場合(すなわち、オプションの決定ブロック1052=「No」)、オプションのブロック1056で、中央サーバは、サイティングメッセージからのワイヤレスアイデンティティ送信機識別情報および関連付けられたデータのみを含むメッセージを、ユーザのデバイスに送信することができる。たとえば、中央サーバによって送信されたメッセージは、サイティングメッセージからの取得されたワイヤレスアイデンティティ送信機アイデンティティと、ユーザ情報と、タイムスタンプデータと、ロケーション情報とを含み得る。
サードパーティアプリが、取得された近接ブロードキャスト受信機情報を有することが可能にされる場合(すなわち、オプションの決定ブロック1052=「Yes」)、オプションのブロック1054で、中央サーバは、サイティングメッセージからのワイヤレスアイデンティティ送信機識別情報と、近接ブロードキャスト受信機情報と、関連付けられたデータとを含むメッセージを、ユーザのデバイスに送信することができる。たとえば、中央サーバによってユーザのスマートフォンに送信されたメッセージは、取得された近接ブロードキャスト受信機識別のインジケータ(たとえば、シリアルコード、グループ提携、商人カテゴリーなど)を含み得る。次いで、中央サーバは、決定ブロック1002の動作を継続することができる。一実施形態では、中央サーバは、図9を参照しながら上記で説明したようなアラートエンジンモジュールを利用して、様々なデバイスに送信するためのメッセージを送信かつ/または生成することができる。
図11は、中央サーバ内で実施され得る一実施形態の方法1100を示す。方法1100は、ワイヤレスアイデンティティ送信機によって最初にブロードキャストされた、符号化された、ローリングする、またはさもなければ保護されたデータを含む、近接ブロードキャスト受信機からのサイティングメッセージの受信に応答して、中央サーバによって実行され得る。ワイヤレスアイデンティティ送信機のユーザのプライバシーは、識別子が時間とともに変化するように、ワイヤレスアイデンティティ送信機ごとのローリングまたはランダムに変動する識別子を使用することによって、保護され得る。新しい識別子は、ワイヤレスアイデンティティ送信機が一定の回数もしくは一定の時間期間(たとえば、1時間)の間に識別子をブロードキャストするとき、または、1つもしくは複数のペアリング後など、周期的に、またはいくつかのイベントに基づいて生成され得る。この識別子のローリングは、ワイヤレスアイデンティティ送信機が依然として追跡され得るように、中央サーバとともに協調され得る。たとえば、ワイヤレスアイデンティティ送信機および中央サーバは、任意の所与の瞬間に、特定のワイヤレスアイデンティティ送信機によって送信されている識別子を、中央サーバが計算することができるように、共通の時間スケールにおいて識別子を生成するために使用される暗号論的擬似乱数生成器アルゴリズムを各々有することができる。
ローリング識別子を生成すること、または識別子を難読化する他の方法は、サードパーティからのスニッフィング攻撃を防止することができる点で重要である。たとえば、識別子が静的であった場合、サードパーティは、近接ブロードキャスト受信機になりすますことなどによって、識別子をスニッフィングし、次いで、その識別子を使用して、ワイヤレスアイデンティティ送信機を追跡することがあり得る。サードパーティが、擬似乱数生成器、または最新のローリング識別子を生成する他の手段を欠く場合、ローリング識別子は、そのような攻撃を不可能に妨害することができる。
ブロック1102で、中央サーバは、近接ブロードキャスト受信機からのサイティングメッセージ内で、ワイヤレスアイデンティティ送信機のローリング識別子を受信することができる。ブロック1104で、中央サーバは、共有された秘密鍵とともに、擬似ランダム関数または暗号化アルゴリズム(たとえば、AES-CTRなど)など、ワイヤレスアイデンティティ送信機と共有されたアルゴリズムによって計算されたコードと、ローリング識別子を比較することができる。アルゴリズムは、ある期間にわたってワイヤレスアイデンティティ送信機によって生成かつブロードキャストされたローリング識別子と整合するように期待されるコードを計算するために、中央サーバによって利用されるソフトウェア命令、ルーチン、アルゴリズム、回路、またはモジュールであり得る。様々な実施形態では、中央サーバは、いくつかの識別子が消失した場合に、次のいくつかのコードと、受信された識別子を比較することができる。受信された識別子が、中央サーバによって生成または期待されたいずれかのコードにマッチする場合、ブロック1106で、中央サーバは、マッチする識別子と任意の関連付けられたデータとを、ワイヤレスアイデンティティ送信機に対応するシリアルコードに関連付けることができる。このようにして、中央サーバが後に、子供によって携行されたワイヤレスアイデンティティ送信機の位置を特定するための親からの要求など、ワイヤレスアイデンティティ送信機のシリアルコードをもつユーザ要求を受信する場合、中央サーバは、あらゆる前のローリング識別子について検索する必要なしに、すべての事前のマッチおよび任意の関連付けられたデータを見つけることができる。
図12A〜図12Eは、ソフトウェア、ルーチン、および/または命令で構成された、スマートフォンまたはラップトップなどの近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機からの短距離ワイヤレス信号を処理するため、および、機能にアクセスするために様々な動作を実行するための、実施形態の方法1200、1250、1260、1280、1290を示す。たとえば、近接ブロードキャスト受信機は、ネットワーク、ウェブサイト、アプリケーション、デバイス、アカウントなどに自動ログインすること、または、動作もしくは構成モードを自動的に変更する(たとえば、スリープモード、セキュリティモードなどに入る/から出る)ことを行うように構成され得る。具体的には、近接ブロードキャスト受信機は、近接ブロードキャスト受信機がそのような動作にあらかじめ関連付けられた既知のロケーション内であるかどうかに基づいて、簡略認証動作(たとえば、ショートカット)、またはより複雑な認証動作(たとえば、ネットワークにログインするために完全なクレデンシャルを提供するなど)を実行するために、方法1200〜1290を実行することができる。たとえば、近接ブロードキャスト受信機が、オフィスにあらかじめ関連付けられたワイヤレスアイデンティティ送信機からブロードキャストメッセージを受信するとき、近接ブロードキャスト受信機は、オフィスのローカルエリアネットワークに自動的にログインするための動作を実行することができる。しかしながら、上記で説明したように、ワイヤレスアイデンティティ送信機は、それらの所有者によって、または不正な人々によってもなど、移動され得るので、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機を認証するため、かつ/または受信された信号内の移動インジケータを検証するために、方法1200〜1290内の追加の動作を実行することができる。
図12Aは、近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機(図12Aでは「WIT」と呼ばれる)からの短距離ワイヤレス信号を処理するため、かつ、ロケーションに関連付けられた機能にアクセスするために様々な動作を実行するための、一実施形態の方法1200を示す。ブロック1202で、近接ブロードキャスト受信機は、上記で説明したようなワイヤレスアイデンティティ送信機など、近くのワイヤレスアイデンティティ送信機から信号を受信することができる。受信された信号は、ワイヤレスアイデンティティ送信機に関連付けられたローリング識別子を含む、Bluetooth(登録商標)アドバタイズメントなど、ブロードキャストメッセージであり得る。代替的に、受信された信号は、ペアリングまたはボンディングされたデバイス間のBluetooth(登録商標)接続など、セキュアリンクを介して受信された通信であり得る。ブロック1204で、近接ブロードキャスト受信機は、受信された信号内の識別情報に基づいて、近くのワイヤレスアイデンティティ送信機を認証することができる。言い換えれば、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機が正確な情報を提供するために信頼され得るかどうかを決定するための動作を実行することができる。たとえば、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機のアイデンティティを認証するために、受信された信号からのローリング識別子をもつサイティングメッセージを、中央サーバに送信することができる。別の例として、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機を認証するために、受信された信号内のデバイス識別子を既知のデバイスのローカルデータベースと比較することができる。
ブロック1206で、近接ブロードキャスト受信機は、受信された信号を処理して、移動インジケータを取得することができる。たとえば、近接ブロードキャスト受信機は、受信された信号内の情報またはデータを構文解析、復号、解読、かつ場合によっては評価して、上記で説明したように、近くのワイヤレスアイデンティティ送信機が移動されたかどうかを表すコード、値、数、または他の情報を識別することができる。一実施形態では、近接ブロードキャスト受信機は、受信された信号に基づいたサイティングメッセージの送信に応答して、中央サーバから、移動インジケータなどの情報を取得することができる。たとえば、中央サーバは、近接ブロードキャスト受信機が、不明瞭にされた情報をローカルで復号するように構成されていないとき、近接ブロードキャスト受信機によって送信されたサイティングメッセージ(または、他のペイロード)内の不明瞭にされた情報からの復号された移動インジケータを返すことができる。
決定ブロック1208で、近接ブロードキャスト受信機は、取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチするかどうかを決定することができる。そのような記憶されたデータは、様々なワイヤレスアイデンティティ送信機の移動インジケータのレコードまたはエントリを含む、近接ブロードキャスト受信機上のデータベースなど、ローカルに記憶されたデータであり得る。たとえば、近接ブロードキャスト受信機は、受信された信号からの取得された移動インジケータを、近くのワイヤレスアイデンティティ送信機に関連付けられたデータベースエントリと比較して、取得された移動インジケータが記憶された情報にマッチするかどうかを決定することができ、それは、最後に移動インジケータが受信され、メモリ内に記憶されてから、ワイヤレスアイデンティティ送信機が移動されていないことを示すことになる。代替的に、記憶されたデータは、中央サーバ上に記憶され得る。たとえば、サイティングメッセージ内などの、中央サーバへの移動インジケータの送信に応答して、近接ブロードキャスト受信機は、移動インジケータが近くのワイヤレスアイデンティティ送信機について有効である(または、検証される)かどうかを示す、中央サーバからのメッセージを受信することができる。
取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチすると決定される場合(すなわち、決定ブロック1208=「Yes」)、受信された信号を送信した近くのワイヤレスアイデンティティ送信機は移動されておらず、したがって、受信された信号が、あらかじめ関連付けられた動作をトリガするために使用され得る。したがって、ブロック1210で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、簡略認証動作を実行することができる。簡略認証動作は、記憶されたパスワード、ログイン、構成、スクリプト、または他のセキュアな情報の自動的な使用を含み得る。たとえば、近接ブロードキャスト受信機は、記憶されたクレデンシャル(たとえば、ユーザ名、パスワード、PINなど)を使用して、既知のロケーション(たとえば、仕事場のオフィス)に関連付けられたWiFiルータ、ネットワーク、イントラネット、ウェブサイト、アプリケーションなどに自動的にログインすることができる。簡略認証動作を用いてアクセスされ得る機能は、ソフトウェア/ルーチン/アプリ/その他を実行すること、通信を送信すること、および/または近接ブロードキャスト受信機の動作もしくは構成モードを設定することを含み得る。たとえば、近接ブロードキャスト受信機は、自宅エリア内であると決定されるとき、セキュリティ構成モードが画面をアンロックすることを自動的に可能にすることができる。別の例として、近接ブロードキャスト受信機は、自宅またはオフィスのような、信頼できるロケーション内であると決定されるとき、ラップトップ上のログイン画面を自動的にバイパスすることができる。近接ブロードキャスト受信機は、様々な機能を既知のワイヤレスアイデンティティ送信機および/またはその識別子に関連付けるために、データテーブルまたは他の記憶された情報を記憶することができる。たとえば、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機の一意のデバイス識別子を使用して、データベース上でルックアップを実行して、仕事場のイントラネットの自動ログイン機能が関連付けられると決定することができる。そのような記憶された情報は、データベースエントリおよび関連付けを追加するために、ユーザ入力などを介して、ユーザによって定義され得る。一実施形態では、記憶された情報は、中央サーバなどの別のデバイスから、近接ブロードキャスト受信機にダウンロードされ得る。別の実施形態では、ワイヤレスアイデンティティ送信機が移動されていないと決定されるとき、特定の機能にアクセスするためにどのような簡略動作が実行され得るかを示す、ワイヤレスアイデンティティ送信機によってブロードキャストされたコード、スクリプト、数、または他のデータなどの受信された信号内で、機能が示され得る。
取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチしないと決定される場合(すなわち、決定ブロック1208=「No」)、受信された信号を送信した近くのワイヤレスアイデンティティ送信機は移動されており、したがって、受信された信号を、あらかじめ関連付けられた動作をトリガするために使用することができない。したがって、ブロック1212で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、通常認証動作を実行することができる。たとえば、近接ブロードキャスト受信機は、イントラネット、ウェブサイト、および/またはアプリケーションにログインするために、ユーザ名およびパスワードを入力するようにユーザに要求することができる。別の例として、近接ブロードキャスト受信機は、移動されていない既知のワイヤレスアイデンティティ送信機の近くではない(たとえば、近接ブロードキャスト受信機が、オフィス内とは対照的に公園内にあるなど)と決定したので、近接ブロードキャスト受信機は、仕事関係の電子メールクライアントアプリケーションを開く前に、指紋、顔認識入力、パスワード、または他のユーザにより供給された情報を必要とする、通常のセキュリティ構成モードで動作し続けることができる。
オプションのブロック1214で、近接ブロードキャスト受信機は、実行された認証動作に基づいて、ディスプレイをユーザに提示することができる。たとえば、近接ブロードキャスト受信機は、近接ブロードキャスト受信機がオフィス内にあるために、イントラネットへの自動ログインが実行されたことを示すメッセージを、取り付けられたLCDディスプレイ上でレンダリングすることができる。別の例として、近接ブロードキャスト受信機は、完全セキュリティモードが実施されていることを示すメッセージをユーザにレンダリングし、近接ブロードキャスト受信機がオフィス内ではない間に、ネットワークにログインするために、クレデンシャルおよび他の手動入力を必要とすることができる。近接ブロードキャスト受信機は、後続の信号を受信するために、ブロック1202の動作を継続することができる。
図12Bは、近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機(図12Bでは「WIT」と呼ばれる)からの短距離ワイヤレス信号を処理するため、かつ、ロケーションに関連付けられた機能にアクセスするために様々な動作を実行するための、一実施形態の方法1250を示す。方法1250は、ワイヤレスアイデンティティ送信機のための新しい移動インジケータを取得するための動作を含み得ることを除いて、上記で説明した方法1200と同様である。たとえば、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機の移動インジケータが有効であることを示すユーザ入力を受信することができる。これは、そのようなワイヤレスアイデンティティ送信機または他のビーコンデバイスが正当に移動され、ユーザが、期待されるロケーションに関連付けられた新しい移動識別子を認識するように、近接ブロードキャスト受信機を構成しなければならないとき、有益であり得る。
したがって、オプションのブロック1252で、近接ブロードキャスト受信機は、(たとえば、ユーザ入力を介して)既知のワイヤレスアイデンティティ送信機に関係する新しい移動インジケータを取得することができる。新しい移動インジケータは、ユーザがあるロケーション(たとえば、オフィスなど)のあるワイヤレスアイデンティティ送信機に関連付けられた新しいデータベースエントリを追加することなどによって、近接ブロードキャスト受信機上のユーザインターフェースに入力され得る。たとえば、セットアップまたは更新プロセス中に、近接ブロードキャスト受信機は、既知のロケーション(たとえば、自宅、オフィスなど)内の1つまたは複数のワイヤレスアイデンティティ送信機のための移動インジケータのための新しいまたは更新された値を受信することができる。代替的に、近接ブロードキャスト受信機は、中央サーバなど、別のデバイスから受信されたメッセージから、新しい移動インジケータを取得することができる。たとえば、中央サーバにおいて、ウェブポータルを介してユーザから受信された新しい情報に基づいて、近接ブロードキャスト受信機は、中央サーバから、更新された移動インジケータを受信することができる。オプションのブロック1254で、近接ブロードキャスト受信機は、取得された新しい移動インジケータを、既知のワイヤレスアイデンティティ送信機に関係する記憶されたデータとして記憶することができる。たとえば、近接ブロードキャスト受信機は、取得された新しい移動インジケータを、既知のワイヤレスアイデンティティ送信機に関連付けられたデータベースエントリ内に記憶することができる。オプションのブロック1256で、近接ブロードキャスト受信機は、取得された新しい移動インジケータを、既知のワイヤレスアイデンティティ送信機に関係する記憶されたデータとして、サーバに送信することができる。たとえば、新しい移動インジケータが、近接ブロードキャスト受信機に結合されたタッチスクリーン上のユーザ入力などを介して、最初にローカルで取得されるとき、新しい移動インジケータは、レコードを保つために、クラウドデータストレージデバイスまたはサーバに送信され得る。
上記で説明したように、ブロック1202で、近接ブロードキャスト受信機は、上記で説明したようなワイヤレスアイデンティティ送信機など、近くのビーコンデバイスから信号を受信することができ、ブロック1204で、受信された信号内の識別情報に基づいて、近くのワイヤレスアイデンティティ送信機を認証することができる。ブロック1206で、近接ブロードキャスト受信機は、受信された信号を処理して、移動インジケータを取得することができ、決定ブロック1208で、取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチするかどうかを決定することができる。取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチすると決定される場合(すなわち、決定ブロック1208=「Yes」)、ブロック1210で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、簡略認証動作を実行することができる。取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチしないと決定される場合(すなわち、決定ブロック1208=「No」)、ブロック1212で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、通常認証動作を実行することができる。オプションのブロック1214で、近接ブロードキャスト受信機は、実行された認証動作に基づいて、ディスプレイをユーザに提示することができ、新しい移動インジケータを取得するために、オプションのブロック1252の動作を継続することができる。
図12Cは、近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機(図12Cでは「WIT」と呼ばれる)からの短距離ワイヤレス信号を処理するため、かつ、ロケーションに関連付けられた機能にアクセスするために様々な動作を実行するための、一実施形態の方法1260を示す。方法1260は、特にワイヤレスアイデンティティ送信機からのブロードキャストメッセージを扱うための動作を含み得ることを除いて、上記で説明した方法1200、1250と同様である。具体的には、近接ブロードキャスト受信機は、中央サーバと通信して、近くのワイヤレスアイデンティティ送信機が認証される(すなわち、スプーフィングされていない)かどうかを決定し、したがって、近くのワイヤレスアイデンティティ送信機が移動されたか否かについての信頼できる情報を提供するための動作を実行するように構成され得る。
上記で説明したように、オプションのブロック1252で、近接ブロードキャスト受信機は、(たとえば、ユーザ入力を介して)既知のワイヤレスアイデンティティ送信機に関係する新しい移動インジケータを取得することができ、オプションのブロック1254で、取得された新しい移動インジケータを、既知のワイヤレスアイデンティティ送信機に関係する記憶されたデータとして記憶することができる。決定ブロック602で、近接ブロードキャスト受信機は、ブロードキャストメッセージが近くのワイヤレスアイデンティティ送信機から受信されるかどうかを決定することができる。近接ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック602=「No」)、近接ブロードキャスト受信機は、新しい移動インジケータを取得するためのオプションのブロック1252の動作を継続することができる。しかしながら、近接ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック602=「Yes」)、ブロック604で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからの情報(たとえば、ローリング識別子)、および他の関連付けられたデータに基づいて、サイティングメッセージを生成することができ、ブロック606で、サイティングメッセージを中央サーバに送信することができる。たとえば、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機のローリングデバイス識別子、および移動インジケータ、または単にローリングデバイス識別子を含む、サイティングメッセージを中央サーバに送信することができる。
決定ブロック1262で、近接ブロードキャスト受信機は、着信メッセージバッファを監視することなどによって、受信されたブロードキャストメッセージに関係するワイヤレスアイデンティティ送信機を認証するメッセージが、中央サーバから受信されるかどうかを決定することができる。言い換えれば、中央サーバは、ワイヤレスアイデンティティ送信機が近接ブロードキャスト受信機によって信頼され得るかどうかを検証または拒否するメッセージを送信することができる。中央サーバからのメッセージは、送信されたサイティングメッセージに関係するワイヤレスアイデンティティ送信機が認証されるかどうかを示す、コード、言語、フラグ、または他のデータを含み得る。たとえば、メッセージは、送信されたサイティングメッセージ内の情報に基づいて、中央サーバが、既知のワイヤレスアイデンティティ送信機のアイデンティティを解決することができるかどうかを示すように設定されるビットを含み得る。さらに、近接ブロードキャスト受信機は、着信メッセージ内の一意のコードまたは他の情報(たとえば、メタデータ、ヘッダ情報など)を比較して、それらのメッセージが、送信されたサイティングメッセージに関係するかどうかを決定することができる。近くのワイヤレスアイデンティティ送信機を認証する中央サーバからのメッセージが受信されると決定されない場合(すなわち、決定ブロック1262=「No」)、近接ブロードキャスト受信機は、新しい移動インジケータを取得するためのオプションのブロック1252の動作を継続することができる。
しかしながら、近くのワイヤレスアイデンティティ送信機を認証する中央サーバからのメッセージが受信されると決定される場合(すなわち、決定ブロック1262=「Yes」)、ブロック1264で、近接ブロードキャスト受信機は、ブロック1206を参照しながら上記で説明したものと同様の動作を実行することなどによって、受信されたブロードキャストメッセージを処理して、受信された信号から移動インジケータを取得することができる。決定ブロック1208で、近接ブロードキャスト受信機は、取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチするかどうかを決定することができる。取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチすると決定される場合(すなわち、決定ブロック1208=「Yes」)、ブロック1210で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、簡略認証動作を実行することができる。取得された移動インジケータが、近くのワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチしないと決定される場合(すなわち、決定ブロック1208=「No」)、ブロック1212で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、通常認証動作を実行することができる。オプションのブロック1214で、近接ブロードキャスト受信機は、実行された認証動作に基づいて、ディスプレイをユーザに提示することができ、新しい移動インジケータを取得するために、オプションのブロック1252の動作を継続することができる。
図12Dは、近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機(図12Dでは「WIT」と呼ばれる)からの短距離ワイヤレス信号を処理するため、かつ、ロケーションに関連付けられた機能にアクセスするために様々な動作を実行するための、一実施形態の方法1280を示す。方法1280は、中央サーバから、ワイヤレスアイデンティティ送信機の移動インジケータの検証を受信するための動作を含み得ることを除いて、上記で説明した方法1200、1250、1260と同様である。
上記で説明したように、決定ブロック602で、近接ブロードキャスト受信機は、ブロードキャストメッセージが近くのワイヤレスアイデンティティ送信機から受信されるかどうかを決定することができる。近接ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック602=「No」)、近接ブロードキャスト受信機は、新しいブロードキャストメッセージが受信されるかどうかを決定するための決定ブロック602の動作を継続することができる。しかしながら、近接ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック602=「Yes」)、ブロック604で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからの情報(たとえば、ローリング識別子)、および他の関連付けられたデータに基づいて、サイティングメッセージを生成することができ、ブロック606で、サイティングメッセージを中央サーバに送信することができる。
決定ブロック1262で、近接ブロードキャスト受信機は、着信メッセージバッファを監視することなどによって、受信されたブロードキャストメッセージに関係するワイヤレスアイデンティティ送信機を認証するメッセージが、中央サーバから受信されるかどうかを決定することができる。近接ブロードキャスト受信機が、近くのワイヤレスアイデンティティ送信機を認証する中央サーバからのメッセージが受信されないと決定する場合(すなわち、決定ブロック1262=「No」)、近接ブロードキャスト受信機は、新しいブロードキャストメッセージが受信されるかどうかを決定するための決定ブロック602の動作を継続することができる。しかしながら、近くのワイヤレスアイデンティティ送信機を認証する中央サーバからのメッセージが受信されると決定される場合(すなわち、決定ブロック1262=「Yes」)、決定ブロック1282で、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機に関連付けられた移動インジケータ(たとえば、受信されたブロードキャストメッセージを介して受信された移動インジケータ)が、中央サーバによって有効であると決定されたかどうかを決定することができる。言い換えれば、近接ブロードキャスト受信機は、中央サーバにおいて記憶された、記憶されたデータが、近くのワイヤレスアイデンティティ送信機によってブロードキャストされた移動インジケータにマッチすることを示す、中央サーバからのコードまたは他の情報を、中央サーバからの返信または応答メッセージ内などで受信することができる。
受信されたメッセージに基づいて、移動インジケータが中央サーバによって検証されると決定される場合(すなわち、決定ブロック1282=「Yes」)、オプションのブロック1284で、近接ブロードキャスト受信機は、ローカルデータベースを更新することなどによって、近くのワイヤレスアイデンティティ送信機のための検証された移動インジケータを記憶することができ、ブロック1210で、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、簡略認証動作を実行することができる。受信されたメッセージに基づいて、移動インジケータが中央サーバによって検証されないと決定される場合(すなわち、決定ブロック1282=「No」)、ブロック1212で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、通常認証動作を実行することができる。オプションのブロック1214で、近接ブロードキャスト受信機は、実行された認証動作に基づいて、ディスプレイをユーザに提示することができ、新しいブロードキャストメッセージが受信されるかどうかを決定するための決定ブロック602の動作を継続することができる。
図12Eは、近接ブロードキャスト受信機が、ワイヤレスアイデンティティ送信機(図12Eでは「WIT」と呼ばれる)からの短距離ワイヤレス信号を処理するため、かつ、ロケーションに関連付けられた機能にアクセスするために様々な動作を実行するための、一実施形態の方法1290を示す。方法1290は、図2Bを参照しながら上記で説明したような、単一の識別子(たとえば、ローリングデバイス識別子)のみがワイヤレスアイデンティティ送信機によって送信されるときのシナリオのために、近接ブロードキャスト受信機によって実行され得ることを除いて、上記で説明した方法1200、1250、1260、1280と同様である。言い換えれば、近接ブロードキャスト受信機は、単一のブロードキャスト識別子が記憶されたデータにマッチするかどうかに基づいて、ロケーションに関連付けられたワイヤレスアイデンティティ送信機が移動されたかどうかを決定するために、方法1290の動作を実行することができる。
ブロック1202'で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機からブロードキャストメッセージを受信することができる。決定ブロック1292で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージが、前に認証された識別子を含むかどうかを決定することができる。近接ブロードキャスト受信機は、受信されたブロードキャストメッセージから抽出された、ローリングデバイス識別子、暗号化されたコード、または他のデータなどのデータを、既知の(または、認証された)ワイヤレスアイデンティティ送信機に対応する記憶されたデータと比較することができる。たとえば、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからのデバイス識別子が、近接ブロードキャスト受信機のユーザの関心のあるロケーションに関連付けられたデバイスの記憶されたデータテーブル内にあるかどうかを決定することができる。様々な実施形態では、前に認証された識別子は、方法1290の前の実行において中央サーバから、またはさもなければ、近接ブロードキャスト受信機上で実行するユーザインターフェースもしくはアプリケーションを介したアイデンティティのユーザ確認などのユーザ入力から、受信されていることがある。決定ブロック1292の動作は、移動されるときのみ、異なる識別子をブロードキャストするように構成される、既知のビーコンデバイスを認証するための、中央サーバへの不必要な通信を回避する際に有益であり得る。
受信されたブロードキャストメッセージが、前に認証された識別子を含まないと決定される場合(すなわち、決定ブロック1292=「No」)、ブロック604で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージからの情報(たとえば、ローリング識別子)、および他の関連付けられたデータに基づいて、サイティングメッセージを生成することができ、ブロック606で、サイティングメッセージを中央サーバに送信することができる。決定ブロック1262で、近接ブロードキャスト受信機は、受信されたブロードキャストメッセージに関係するワイヤレスアイデンティティ送信機を認証するメッセージが、中央サーバから受信されるかどうかを決定することができる。ワイヤレスアイデンティティ送信機を認証するメッセージが、中央サーバから受信されると決定される場合(すなわち、決定ブロック1262=「Yes」)、ブロック1294で、近接ブロードキャスト受信機は、ローカルで記憶されたデータベースを更新することなどによって、近くのワイヤレスアイデンティティ送信機のための認証された識別子を記憶することができる。
受信されたブロードキャストメッセージが、前に認証された識別子を含むと決定される場合(すなわち、決定ブロック1292=「Yes」)、または、ブロック1294の動作が実行された場合、ブロック1210で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、簡略認証動作を実行することができる。ワイヤレスアイデンティティ送信機を認証するメッセージが、中央サーバから受信されないと決定される場合(すなわち、決定ブロック1262=「No」)、ブロック1212で、近接ブロードキャスト受信機は、近くのワイヤレスアイデンティティ送信機に関連付けられた機能にアクセスするために、通常認証動作を実行することができる。オプションのブロック1214で、近接ブロードキャスト受信機は、実行された認証動作に基づいて、ディスプレイをユーザに提示することができ、新しいブロードキャストメッセージを受信するために、ブロック1202'の動作を継続することができる。
図13A〜図13Bは、中央サーバが、ワイヤレスアイデンティティ送信機の近くの近接ブロードキャスト受信機に認証する情報を送信するための実施形態の方法1300、1350を示す。方法1300、1350は、図12A〜図12Eを参照しながら上記で説明したような、識別子(たとえば、ローリングデバイス識別子など)の認証、および/または、近接ブロードキャスト受信機によって受信された移動インジケータの検証を返すために有益であり得る。具体的には、中央サーバは、ワイヤレスアイデンティティ送信機(または、他の同様のビーコンデバイス)によって送信されたブロードキャストメッセージ内の難読化または不明瞭にされた情報を復号、解読、かつ場合によってはそれにアクセスすること、ならびに、記憶されたレコードを評価して、識別子が真正(たとえば、登録されたビーコンデバイスからのものである)および/または最新であるかどうかを決定することを行うように構成され得る。たとえば、中央サーバは、秘密鍵およびアルゴリズムを使用して、近接ブロードキャスト受信機から中継されたローリングデバイス識別子を評価して、ローリング識別子が正当であるかスプーフィングされているかを決定することができる。さらに、中央サーバは、オフィス内に位置することが知られているワイヤレスアイデンティティ送信機の最新の有効な移動インジケータなど、関係するデバイスについての最新の情報を維持するように構成される、リソースまたはデータハブ(たとえば、クラウドサーバ)であり得る。このようにして、中央サーバは、既知のロケーション内であることに基づいて、ブロードキャスト情報が信頼され得ること、および/または動作が実行され得ることを示す確実性を、近接ブロードキャスト受信機に提供するように構成され得る。
図13Aは、中央サーバが、ワイヤレスアイデンティティ送信機の識別子の受信に応答して、近接ブロードキャスト受信機に認証する情報を送信するための一実施形態の方法1300を示す。方法1300は、認証情報を近接ブロードキャスト受信機に返すための動作を含むことを除いて、図10の動作と同様であり得る。ブロック1302で、中央サーバは、ワイヤレスアイデンティティ送信機のローリングデバイス識別子を含むサイティングメッセージなど、近接ブロードキャスト受信機からのサイティングメッセージを受信することができる。ブロック1004で、中央サーバは、受信されたサイティングメッセージに基づいて、ローリング識別子と、近接ブロードキャスト受信機情報と、関連付けられたデータ(たとえば、タイムスタンプ情報、アプリID、およびロケーション情報)とを識別することができる。ブロック1006で、中央サーバは、受信されたサイティングメッセージ内のローリング識別子に基づいて、ワイヤレスアイデンティティ送信機アイデンティティを取得することができる。
決定ブロック1304で、中央サーバは、ワイヤレスアイデンティティ送信機がサイティングメッセージに基づいて認証されるかどうかを決定することができる。言い換えれば、アイデンティティが、サイティングメッセージ内のデータに基づいて正常に見つかる(すなわち、ローリング識別子が、登録されたワイヤレスアイデンティティ送信機の既知のデバイス識別子を明らかにするために復号され得る)とき、中央サーバは、サイティングメッセージに関係するワイヤレスアイデンティティ送信機が近接ブロードキャスト受信機にとって信頼できることを認証していることがある。したがって、ワイヤレスアイデンティティ送信機が、受信されたサイティングメッセージに基づいて認証されないと決定される場合(すなわち、決定ブロック1304=「No」)、オプションのブロック1305で、中央サーバは、関係するブロードキャストメッセージを送信したワイヤレスアイデンティティ送信機が認証されないことを示すメッセージを、近接ブロードキャスト受信機に送信することができる。オプションのブロック1305の動作はオプションであってよく、その理由は、デフォルトにより、反対の情報があらかじめ定義された期間内に中央サーバから受信されない限り、近接ブロードキャスト受信機は、ワイヤレスアイデンティティ送信機が認証されないと決定することができるからである。しかしながら、ワイヤレスアイデンティティ送信機が、受信されたサイティングメッセージに基づいて認証されると決定される場合(すなわち、決定ブロック1304=「Yes」)、ブロック1306で、中央サーバは、ワイヤレスアイデンティティ送信機が認証されることを示すメッセージを、近接ブロードキャスト受信機に送信することができる。
一実施形態では、中央サーバが、受信されたサイティングメッセージ内のデバイス識別子がローリングされたか、またはさもなければそのデフォルトの(もしくは、最後に認証された)値から変更されたと決定するとき、ワイヤレスアイデンティティ送信機は認証されなくてよい。たとえば、ワイヤレスアイデンティティ送信機が、加速度計センサーデータに基づく動きアクティビティの検出に応答して、その識別子をローリングするように構成されるとき、中央サーバは、ワイヤレスアイデンティティ送信機が移動されるために認証されないと決定することができる。
図13Bは、中央サーバが、ワイヤレスアイデンティティ送信機の識別子の受信に応答して、近接ブロードキャスト受信機に認証する情報を送信するための一実施形態の方法1350を示す。方法1350は、ワイヤレスアイデンティティ送信機に関係する、デバイス識別子のための認証情報と移動インジケータのための検証情報とを返すための動作を含むことを除いて、上記で説明した方法1300と同様であり得る。
オプションのブロック1352で、中央サーバは、既知のワイヤレスアイデンティティ送信機に関係する新しい移動インジケータをもつメッセージを受信することができ、オプションのブロック1354で、取得された新しい移動インジケータを、関係するデータベースエントリを更新することなどによって、既知のワイヤレスアイデンティティ送信機に関係する記憶されたデータとして記憶することができる。新しい移動インジケータをもつメッセージは、上記で説明したオプションのブロック1256の動作などに応答して、近接ブロードキャスト受信機から受信され得る。代替的に、新しいまたは更新された移動インジケータは、ユーザがインターネットに接続されたコンピュータを使用して、中央サーバに関係するウェブサービスにアクセスするときなど、ウェブポータルを介して受信され得る。
上記で説明したように、ブロック1302で、中央サーバは、ワイヤレスアイデンティティ送信機のローリングデバイス識別子を含むサイティングメッセージなど、近接ブロードキャスト受信機からのサイティングメッセージを受信することができる。ブロック1004で、中央サーバは、受信されたサイティングメッセージに基づいて、ローリング識別子と、近接ブロードキャスト受信機情報と、関連付けられたデータ(たとえば、タイムスタンプ情報、アプリID、およびロケーション情報)とを識別することができる。ブロック1006で、中央サーバは、受信されたサイティングメッセージ内のローリング識別子に基づいて、ワイヤレスアイデンティティ送信機アイデンティティを取得することができる。決定ブロック1304で、中央サーバは、ワイヤレスアイデンティティ送信機がサイティングメッセージに基づいて認証されるかどうかを決定することができる。ワイヤレスアイデンティティ送信機が、受信されたサイティングメッセージに基づいて認証されないと決定される場合(すなわち、決定ブロック1304=「No」)、ブロック1305で、中央サーバは、関係するブロードキャストメッセージを送信したワイヤレスアイデンティティ送信機が認証されないことを示すメッセージを、近接ブロードキャスト受信機に送信することができる。
ワイヤレスアイデンティティ送信機が、サイティングメッセージに基づいて認証されると決定される場合(すなわち、決定ブロック1304=「Yes」)、決定ブロック1358で、中央サーバは、受信されたサイティングメッセージ内の、ならびに関係する記憶されたデータ内に記憶された、移動インジケータがあるかどうかを決定することができる。たとえば、中央サーバは、表現(たとえば、64ビットの移動インジケータ)がサイティングメッセージ内にあるかどうかを決定することができ、また、取得されたアイデンティティを使用して、登録されたワイヤレスアイデンティティ送信機に関連付けられたデータベース上でルックアップを実行し、デフォルトまたは更新された移動インジケータがワイヤレスアイデンティティ送信機について記憶されているかどうかを決定することもできる。言い換えれば、中央サーバは、移動インジケータを検証するために利用可能な十分な情報を有するかどうかを決定し、したがって、ワイヤレスアイデンティティ送信機が移動したかどうかを決定することができる。サイティングメッセージ内の移動インジケータと、中央サーバ内に記憶された関係するデータの両方がないと決定される場合(すなわち、決定ブロック1358=「No」)、ブロック1306で、中央サーバは、ワイヤレスアイデンティティ送信機のいずれかの移動があったかどうかを検証することなしに、ワイヤレスアイデンティティ送信機が認証されることのみを示すメッセージを、近接ブロードキャスト受信機に送信することができる。
サイティングメッセージ内の移動インジケータと、中央サーバ内に記憶された関係するデータの両方があると決定される場合(すなわち、決定ブロック1358=「Yes」)、決定ブロック1360で、中央サーバは、受信されたサイティングメッセージ内の移動インジケータが、取得されたアイデンティティに関連付けられたデータベースエントリ内の最後に記憶された移動インジケータなど、ワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチするかどうかを決定することができる。受信されたサイティングメッセージ内の移動インジケータが、ワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチすると決定される場合(すなわち、決定ブロック1360=「Yes」)、ブロック1362で、中央サーバは、ワイヤレスアイデンティティ送信機が認証されること、および移動インジケータが有効であることを示すメッセージを、近接ブロードキャスト受信機に送信することができる。受信されたサイティングメッセージ内の移動インジケータが、ワイヤレスアイデンティティ送信機に関係する記憶されたデータにマッチしないと決定される場合(すなわち、決定ブロック1360=「No」)、ブロック1364で、中央サーバは、ワイヤレスアイデンティティ送信機が認証されるが、移動インジケータが有効ではないことを示すメッセージを、近接ブロードキャスト受信機に送信することができる。
図14A〜図14Cは、上記で説明した様々な実施形態において使用するのに好適な、近接ブロードキャスト受信機138と、ワイヤレスアイデンティティ送信機110と、中央サーバ120との間の例示的なシグナリングを示す。図14Aで、ワイヤレスアイデンティティ送信機110(または、別の同様のビーコンデバイス)は、ワイヤレスアイデンティティ送信機110の近接内の近接ブロードキャスト受信機138によって受信され得る、デバイス識別子と、オプションで移動インジケータ(たとえば、値の64ビット表現)とを含む、Bluetooth(登録商標)アドバタイズメントパケットなどのメッセージ1402をブロードキャストすることができる。近接ブロードキャスト受信機138は、メッセージ1402内のデータを復号、構文解析、かつ場合によっては評価することなど、受信されたブロードキャストメッセージを処理するために、様々な動作1404を実行することができる。動作1404に基づいて、近接ブロードキャスト受信機138は、オプションのサイティングメッセージ1406を中央サーバ120に送信することができる。それに応答して、中央サーバは、ワイヤレスアイデンティティ送信機110をローリングデバイス識別子に基づいて識別することなど、オプションのサイティングメッセージ1406内の情報を処理するために、オプションの動作1407を実行することができ、ワイヤレスアイデンティティ送信機110がオプションの動作1407に基づいて認証されるかどうかを示す、オプションの応答メッセージ1408を送信することができる。
図14Bは、中央サーバ120が、ワイヤレスアイデンティティ送信機110がオプションの動作1407に基づいて認証されるかどうかと、ワイヤレスアイデンティティ送信機110に関係し、オプションのサイティングメッセージ1406内に含まれる移動インジケータが有効であるかどうかの両方を示す、オプションの応答メッセージ1452を、近接ブロードキャスト受信機138に送信することができることを除いて、図14Aを参照しながら上記で説明したものと同様の、近接ブロードキャスト受信機138と、ワイヤレスアイデンティティ送信機110と、中央サーバ120との間のシグナリングを示す。
図14Cは、ワイヤレスアイデンティティ送信機110が、セキュアリンク1472(たとえば、ペアリングされたデバイス間のBluetooth(登録商標)リンク)を介してその移動インジケータを送信することができることを除いて、図14Aおよび図14Bを参照しながら上記で説明したものと同様の、近接ブロードキャスト受信機138と、ワイヤレスアイデンティティ送信機110と、中央サーバ120との間のシグナリングを示す。さらに、中央サーバ120は、ワイヤレスアイデンティティ送信機110に関係し、オプションのサイティングメッセージ1406内に含まれる移動インジケータが有効であるかどうかのみを示す、オプションの応答メッセージ1476を、近接ブロードキャスト受信機138に送信することができる。ワイヤレスアイデンティティ送信機の認証は、図14Cに示すシナリオにおいて必要とされなくてよく、その理由は、近接ブロードキャスト受信機138およびワイヤレスアイデンティティ送信機110が、ペアリングまたはボンディングされ得、したがって、それらのアイデンティティまたは信頼性が問題ではないからである。
図15は、動きまたは移動を検出するように構成された、ビーコンデバイス、中央サーバ、および受信機デバイスによって実行される、一実施形態のシグナリングおよび動作を示す。そのような実施形態では、上記で説明したようなビーコンデバイスおよび受信機デバイスの役割が逆になり得る。具体的には、ビーコンデバイスは、デバイスが符号化されたデバイス識別子(すなわち、ローリング識別子)を周期的にブロードキャストすることができるように、少なくともワイヤレスアイデンティティ送信機として動作するように構成された、ユーザのモバイルデバイスであり得る。さらに、受信機コンピューティングデバイスは、ユーザのモバイルデバイスからブロードキャストメッセージを受信し、そのような情報を処理するために、サイティングメッセージ内で中央サーバに中継することができる、静止した近接ブロードキャスト受信機であり得る。静止した近接ブロードキャスト受信機は、移動インジケータをサイティングメッセージ内で送信して、上記で説明したものと同様に、静止した近接ブロードキャスト受信機が移動されたかどうかを示すことができる。モバイルデバイスは、移動インジケータの評価に基づいて、静止した近接ブロードキャスト受信機が既知のロケーション内であると信頼され得るかどうかを示すメッセージを、中央サーバから受信することができる。
一例として、典型的に静止し得るラップトップコンピューティングデバイスは、オフィス内であり、静止した近接ブロードキャスト受信機として動作するように構成され得る。さらに、ユーザのスマートフォンは、典型的にモバイルであり(すなわち、ユーザによってあちらこちらに携行され)、ワイヤレスアイデンティティ送信機として動作するように構成され得る。ユーザが自分のスマートフォンをオフィス内に携行するとき、ラップトップコンピューティングデバイスは、スマートフォンからブロードキャストメッセージを受信し、ブロードキャストメッセージからの符号化された識別子と、ラップトップにおいてローカルに維持された移動インジケータとを含む、サイティングメッセージを中央サーバに送信することができる。移動インジケータが期待された値または初期値にマッチすると決定した後、中央サーバは、ラップトップコンピューティングデバイスが依然として、前にあった同じ位置にあることを確認するメッセージを、スマートフォンに(たとえば、セルラーネットワーク接続を介して)送信することができ、そのため、スマートフォンは、ローカルアクセスポイント(たとえば、WiFiルータ)にアクセスするために、簡略認証動作を実行することができる。
図15を参照すると、静止した近接ブロードキャスト受信機(または、図15では「PBR」)のプロセッサは、図3のブロック302の動作を参照しながら上記で説明したものと同様のブロック302'で、移動インジケータを初期化することができる。初期化動作は、移動インジケータを、0などの初期値(または、開始値)に設定することができる。ブロック1502で、静止した近接ブロードキャスト受信機のプロセッサは、インターネットプロトコルを使用して送信されたメッセージなど、初期移動インジケータを含むメッセージを、中央サーバに送信することができる。送信されたメッセージは、メッセージを中央サーバによって記憶されたプロファイルに関連付けるために使用され得る、プロファイルID番号または他の識別および/もしくは認証情報など、静止した近接ブロードキャスト受信機および/またはその関係する登録されたユーザを識別する他の情報を含み得る。ブロック1512で、中央サーバのプロセッサは、静止した近接ブロードキャスト受信機から、初期移動インジケータをもつメッセージを受信することができ、ブロック1514で、移動インジケータを記憶することができる。たとえば、中央サーバは、静止した近接ブロードキャスト受信機および/または関係する登録されたユーザのためのプロファイルに関連付けられたデータテーブルエントリ内の値として、移動インジケータを記憶することができる。
決定ブロック252'では、静止した近接ブロードキャスト受信機のプロセッサは、移動が、静止した近接ブロードキャスト受信機内に収容された加速度計センサーからの加速度計センサーデータなど、センサーデータに基づいて検出されるかどうかを決定することができる。決定ブロック252'の動作は、図2Bのワイヤレスアイデンティティ送信機の移動検出動作を参照しながら上記で説明したものと同様であり得る。移動が、静止した近接ブロードキャスト受信機によって、センサーデータに基づいて検出される場合(すなわち、決定ブロック252'=「Yes」)、ブロック308'で、静止した近接ブロードキャスト受信機のプロセッサは、図3を参照しながらブロック308において上記で説明したものと同様に、移動インジケータを調整すること(たとえば、値をインクリメントするなど)ができる。
図9のブロック913、または図2Aのブロック202を参照しながら上記で説明したものと同様に、ブロック913'で、ユーザのモバイルデバイスのプロセッサは、符号化された(または、ローリング)デバイス識別子を含むメッセージをブロードキャストすることができる。上記で説明したように、ワイヤレスアイデンティティ送信機(または、トランシーバ)として動作しながら、ユーザのモバイルデバイスは、このメッセージ(または、信号)をブロードキャストすることができ、符号化された識別子は、定期的または周期的(たとえば、数秒ごと、数分ごとなど)に調整(または、ローリング)され得る。たとえば、ユーザのモバイルデバイスは、周期的にローリングされるデバイス識別子をもつ信号をブロードキャストするための動作を実行することができる。
移動が、静止した近接ブロードキャスト受信機によって、センサーデータに基づいて検出されない場合(すなわち、決定ブロック252'=「No」)、または、ブロック308'の動作が実行される場合、ブロック914'で、静止した近接ブロードキャスト受信機のプロセッサは、ワイヤレスアイデンティティ送信機として動作するように構成されたユーザのモバイルデバイスから、ブロードキャストメッセージを受信することができる。ブロック308'の動作は、図3のブロック308を参照しながら上記で説明したものと同様であり得る。ブロードキャストメッセージの受信に応答して、ブロック1520で、静止した近接ブロードキャスト受信機のプロセッサは、少なくとも、受信されたブロードキャストメッセージからのモバイルデバイスの符号化されたデバイス識別子と、静止した近接ブロードキャスト受信機の現在の移動インジケータとを含む、サイティングメッセージを送信することができる。サイティングメッセージは、図6Aを参照しながら上記で説明したような、他のデータを含み得る。
ブロック1302で、中央サーバのプロセッサは、近接ブロードキャスト受信機からのサイティングメッセージを受信することができる。ブロック1004'で、中央サーバのプロセッサは、図11を参照しながら上記で説明したようなブロック1004の動作と同様に、受信されたサイティングメッセージに基づいて、符号化されたデバイス識別子と、静止した近接ブロードキャスト受信機の情報(たとえば、識別コードまたはIDなど)と、移動インジケータとを識別することができる。ブロック1530で、中央サーバのプロセッサは、受信された移動インジケータが、静止した近接ブロードキャスト受信機のための記憶された(または、期待された)移動インジケータにマッチするかどうかを決定することができ、ブロック1532で、ユーザのモバイルデバイスにその決定を送信することができる。たとえば、中央サーバは、静止した近接ブロードキャスト受信機が移動したかどうかと、したがって、静止した近接ブロードキャスト受信機が既知のロケーションを示すために信頼され得るかどうかとを示すメッセージを、ワイドエリアネットワークを介して送信することができる。ブロック1540で、ユーザのモバイルデバイスのプロセッサは、中央サーバから送信されたメッセージを受信することができる。言い換えれば、ユーザのモバイルデバイスは、ユーザのモバイルデバイスのブロードキャスト信号を受信した、静止した近接ブロードキャスト受信機が移動されたかどうかを示すメッセージを受信することができる。それに応答して、ブロック1542で、ユーザのモバイルデバイスのプロセッサは、受信されたメッセージに基づいて、簡略認証動作または通常認証動作のいずれかを実行することができる。ブロック1542の認証動作は、図12Aのブロック1210および/またはブロック1212を参照しながら上記で説明したものと同様であると見なされ得る。たとえば、受信されたメッセージが、静止した近接ブロードキャスト受信機が移動したと中央サーバが決定したことを示すとき、ユーザのモバイルデバイスは、ローカルアクセスポイント(たとえば、WiFiルータ)にログインするための完全なクレデンシャルを必要とし得る。別の例として、受信されたメッセージが、静止した近接ブロードキャスト受信機が移動していないと中央サーバが決定したことを示すとき、ユーザのモバイルデバイスは、ローカルアクセスポイント(たとえば、WiFiルータ)への高速または自動ログインを実行することができる。
上述のように、様々な実施形態では、ユーザのモバイルデバイスは、ワイヤレスアイデンティティトランシーバとして動作するように構成されてよく、したがって、図2A〜図2B、図3、図4、図6A〜図6B、図7、図12A〜図12Eを参照しながら上記で説明したように、ワイヤレスアイデンティティ送信機とモバイル近接ブロードキャスト受信機の両方の動作を実行するように構成され得る。
図16は、例示的なワイヤレスアイデンティティ送信機110の構成要素を示す。ワイヤレスアイデンティティ送信機110は、マイクロコントローラ1601(または、プロセッサ)と、アンテナ1606に結合された短距離無線1604(たとえば、Bluetooth(登録商標)無線またはトランシーバ)と、メモリ1602と、バッテリー1610とを含み得る。これらの構成要素は、共通接続によってリンクされるように図示されているが、様々な方法で相互接続され、構成され得る。たとえば、ワイヤレスアイデンティティ送信機110は、マイクロコントローラ1601が、メモリ1602の内容に基づいて、いつメッセージを送信するべきかを決定することができるように構成され得る。一実施形態では、マイクロコントローラ1601は、Bluetooth(登録商標)システムオンチップユニットであり得る。メモリ1602はまた、マイクロコントローラ1601からのコマンドに基づいて、アンテナ1606を介して短距離無線1604によって送信されるべき1つまたは複数のメッセージまたはメッセージ部分を含み得る。バッテリー1610は、他の構成要素によって必要とされるような電力を供給することができる。また、いくつかの実装形態では、マイクロコントローラ1601、短距離無線1604、および/またはメモリ1602は、単一の集積回路として一緒に集積され得る。これらの構成要素は、標準または市販品の構成のマイクロチップであり得るので、図16では、例示的な実施形態の構造に一致するブロックとして表されている。
ワイヤレスアイデンティティ送信機110は、ブレスレットなどの様々な物体と結合されるか、またはそれに内蔵され得る。たとえば、例示的なワイヤレスアイデンティティ送信機110は、腕時計バンドまたは犬の首輪などのストラップに容易に取り付けられた形態であり得る。代替実施形態は、ワイヤレスアイデンティティ送信機110を、追跡を必要とし得るモバイルの物体に、または机などの静止した物体上などに組み込むことができる。
ワイヤレスアイデンティティ送信機110は、スリープと、ワイヤレスアイデンティティ送信機110の識別コードをもつパケットのブロードキャストとを一定の間隔で交互に行うなど、周期的に電力節約モードに入るか、またはスリープすることによって、電力を節約することができる。様々な実施形態は、スリープの期間の間に数秒ごとまたは数分ごとにウェイクしてブロードキャストするなど、より高いまたはより低い頻度でブロードキャストするいくつかの実施形態など、ブロードキャストおよびスリープの異なるサイクルを含み得る。
一実施形態では、バッテリー1610は、交換可能なボタン電池であり得る。別の実施形態では、ワイヤレスアイデンティティ送信機110は、アンテナ1606を利用して、送信間隔および/または送信電力を構成するなどの構成動作において記憶し、使用するための更新ソフトウェア、命令、または他のデータを受信することができる。ワイヤレスアイデンティティ送信機110はまた、上記で説明したように、ローリングコードまたは識別子を生成するためのソフトウェア、アルゴリズム、命令、コード、または他のルーチンを記憶し、実行することもできる。一実施形態では、ワイヤレスアイデンティティ送信機は、時間(たとえば、UTC)情報を維持しないことがあるが、代わりに、30ppm、16kHzの水晶をクロックとして使用することができる。クロックとしての水晶のそのような使用によって、毎年約40秒のタイミングドリフトが生じ得る。
代替的に、メモリ1602は、別個の処理ユニットをも含み得るマイクロコントローラ1601内に含まれ得る。短距離無線1604は、デバイスIDを含むメッセージもしくは信号をブロードキャストすることが可能な送信機、または代替的に、RF信号を送信かつ受信するように構成されたトランシーバであってよく、通信プロトコルを利用する他のデバイスとの通信を可能にする。たとえば、ワイヤレスアイデンティティ送信機110は、スマートフォンなどの他の短距離無線対応デバイスと通信するように構成され得る。一実施形態では、短距離無線1604は、Bluetooth(登録商標)、LTE-D、ピアツーピアLTE-D、およびWiFi-Directなど、様々な低エネルギーのワイヤレス通信プロトコルを介して通信するように構成され得る。
一実施形態では、ワイヤレスアイデンティティ送信機110は、近接ブロードキャスト受信機によって受信されること、および/またはユーザによって聞かれることが可能な音を発するように構成された、スピーカー(図示せず)を含み得る。たとえば、ワイヤレスアイデンティティ送信機110は、リッスンしている近接ブロードキャスト受信機にその存在を示し得る、可聴の通信を発することができる。別の実施形態では、ワイヤレスアイデンティティ送信機110は、変動する信号強度で信号を送信し、それによって、ワイヤレスアイデンティティ送信機110からのブロードキャストが近接ブロードキャスト受信機によって受信され得る範囲を変動させるように構成され得る。
加えて、ワイヤレスアイデンティティ送信機110は、様々な条件および変数を測定するための1つまたは複数のセンサーを含み得る。一実施形態では、ワイヤレスアイデンティティ送信機110は、加速度計1615(または、ジャイロスコープもしくは比重計などの任意の他の動きセンサー)を含んでよく、加速度計1615は、ワイヤレスアイデンティティ送信機110に関連付けられた資産の動きを示すデータを収集することができる。たとえば、加速度計1615は、ワイヤレスアイデンティティ送信機110を携行する子供の移動を記述する動きデータを生成することができる。様々な実施形態では、ワイヤレスアイデンティティ送信機110は、湿度センサー、マイクロフォン、カメラ、熱センサー、圧力センサー、光センサーなど、他のセンサー(図示せず)の任意の組合せを含み得る。これらの他の潜在的なセンサーは、ワイヤレスアイデンティティ送信機110に統合され得るセンサーのタイプの例にすぎず、他のタイプのセンサーが含まれ得る。オプションの一実施形態では、ワイヤレスアイデンティティ送信機110はまた、メモリ1602内に記憶された現在のレジスタ値のレンダリングなど、ユーザ入力および/またはディスプレイ情報を受信することが可能なボタンおよびディスプレイなど、様々なユーザインターフェース1616を含み得る。
パーソナルコンピュータおよびラップトップコンピュータを含む、他の形のコンピューティングデバイスは、様々な実施形態を実装するために使用され得る。そのようなコンピューティングデバイスは、典型的に、図17に示す構成要素を含み、図17は、近接ブロードキャスト受信機、または単にインターネットにアクセスするためのデバイスとして動作するように構成され得る、例示的なラップトップコンピューティングデバイス124を示す。多くのラップトップコンピューティングデバイス124は、コンピュータのポインティングデバイスとして働くタッチパッドタッチ面1714を含み、したがって、タッチスクリーンディスプレイを備えたモバイルコンピューティングデバイス上で実施されるものと同様のドラッグ、スクロール、およびフリックジェスチャーを受信することができる。そのようなラップトップコンピューティングデバイス124は、一般に、揮発性内部メモリ1702と、ディスクドライブ1706などの大容量不揮発性メモリとに結合された、プロセッサ1701を含む。ラップトップコンピューティングデバイス124はまた、プロセッサ1701に結合されたコンパクトディスク(CD)および/またはDVDドライブ1708を含む場合がある。ラップトップコンピューティングデバイス124はまた、プロセッサ1701をネットワークに結合するためのネットワーク接続回路などの、データ接続を確立し外部メモリデバイスを受け入れるための、プロセッサ1701に結合されたいくつかのコネクタポート1710を含む場合がある。ラップトップコンピューティングデバイス124は、本明細書で説明するようなワイヤレス信号を送信かつ受信するための1つまたは複数の短距離無線信号トランシーバ1718(たとえば、Peanut(登録商標)、Bluetooth(登録商標)、Zigbee(登録商標)、RF無線)とアンテナ1720とを有し得る。トランシーバ1718およびアンテナ1720は、様々なワイヤレス送信プロトコルスタック/インターフェースを実装するために、上記の回路とともに使用され得る。ラップトップまたはノートブック構成では、コンピュータのハウジングは、タッチパッドタッチ面1714と、キーボード1712と、ディスプレイ1716とを含み得、すべてはプロセッサ1701に結合される。ラップトップコンピューティングデバイス124の他の構成は、よく知られているように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含んでよく、それらもまた、様々な実施形態とともに使用され得る。加えて、ラップトップコンピューティングデバイス124は、プロセッサ1701に結合されたGPS受信機チップ1715を含み得る。一実施形態では、ラップトップコンピューティングデバイス124はまた、セルラーネットワークを介する通信を可能にし、プロセッサ1701に結合される、セルラーネットワークワイヤレスモデムチップ(図示せず)を含み得る。一実施形態では、ラップトップコンピューティングデバイス124はまた、ラップトップコンピューティングデバイス124の動きを示すデータを収集することができる、加速度計1750(または、ジャイロスコープもしくは比重計など、任意の他の動きセンサー)など、様々な条件および変数を測定するための1つまたは複数のセンサーを含み得る。
図18は、例示的なモバイルコンピューティングデバイス138を示す。上記で説明したように、そのようなコンピューティングデバイス138は、近接ブロードキャスト受信機(または、モバイル近接ブロードキャスト受信機)として動作するように構成され得る。様々な実施形態では、コンピューティングデバイス138は、タッチスクリーンコントローラ1804および内部メモリ1802に結合されたプロセッサ1801を含み得る。プロセッサ1801は、汎用または特定の処理タスクに指定された1つまたは複数のマルチコアICであり得る。内部メモリ1802は揮発性または不揮発性メモリであってよく、また、セキュアおよび/もしくは暗号化メモリであっても、または非セキュアおよび/もしくは非暗号化メモリであっても、あるいはそれらの任意の組合せであってもよい。タッチスクリーンコントローラ1804およびプロセッサ1801は、抵抗感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンパネル1812にも結合され得る。コンピューティングデバイス138は、互いにおよび/またはプロセッサ1801に結合された、1つまたは複数の無線信号トランシーバ1808(たとえば、Peanut(登録商標)、Bluetooth(登録商標)、Zigbee(登録商標)、Wi-Fi、RF無線)と、送受信のためのアンテナ1810とを有することができる。トランシーバ1808およびアンテナ1810は、様々なワイヤレス送信プロトコルスタックおよびインターフェースを実装するために、上述した回路とともに使用され得る。コンピューティングデバイス138は、セルラーネットワークを介する通信を可能にし、プロセッサ1801に結合される、セルラーネットワークワイヤレスモデムチップ1816を含むことができる。コンピューティングデバイス138は、プロセッサ1801に結合された周辺デバイス接続インターフェース1818を含み得る。周辺デバイス接続インターフェース1818は、1つのタイプの接続を受け入れるように単独で構成され得、または、USB、FireWire、Thunderbolt、もしくはPCIeなどの、共通または独自の様々なタイプの物理的接続および通信接続を受け入れるように多様に構成され得る。周辺デバイス接続インターフェース1818は、同様に構成された周辺デバイス接続ポート(図示せず)に結合される場合もある。コンピューティングデバイス138はまた、オーディオ出力を提供するためのスピーカー1814を含み得る。コンピューティングデバイス138はまた、本明細書で説明する構成要素の全部または一部を含むための、プラスチック、金属、または材料の組合せから構成されたハウジング1820を含み得る。コンピューティングデバイス138は、使い捨てバッテリーまたは充電式バッテリーなど、プロセッサ1801に結合された電源1822を含み得る。充電式バッテリーはまた、コンピューティングデバイス138の外部のソースから充電電流を受け取るために、周辺デバイス接続ポートに結合され得る。加えて、コンピューティングデバイス138は、プロセッサ1801に結合されたGPS受信機チップ1815を含み得る。一実施形態では、コンピューティングデバイス138はまた、コンピューティングデバイス138の動きを示すデータを収集することができる、加速度計1850(または、ジャイロスコープもしくは比重計など、任意の他の動きセンサー)など、様々な条件および変数を測定するための1つまたは複数のセンサーを含み得る。
図19は、本開示の様々な実施形態を実施するのに好適なサーバ120のシステムブロック図である。サーバ120は、市販のサーバデバイスであり得る。そのようなサーバ120は通常、揮発性メモリ1902と、ディスクドライブ1903のような大容量の不揮発性メモリとに結合された、プロセッサ1901を含む。サーバ120はまた、プロセッサ1901に結合されたフロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ1906を含み得る。サーバ120はまた、他のシステムコンピュータおよびサーバに結合されたローカルエリアネットワークのような、ネットワーク1905とのデータ接続を確立するための、プロセッサ1901に結合されたネットワークアクセスポート1904を含み得る。
プロセッサ1601、1701、1801、1901は、上記で説明した様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのデバイスでは、ワイヤレス通信機能専用の1つのプロセッサ、および他のアプリケーションの実行専用の1つのプロセッサなどの、複数のプロセッサが設けられる場合がある。通常、ソフトウェアアプリケーションは、アクセスされてプロセッサ1601、1701、1801、1901にロードされる前に、内部メモリ1602、1702、1802、1902に記憶され得る。プロセッサ1601、1701、1801、1901は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
上記の方法の説明およびプロセスフロー図は、例示的な例として与えられるものにすぎず、様々な実施形態のステップが、提示された順序で実行されなければならないことを要求または示唆するものではない。当業者によって諒解されるように、前述の実施形態におけるステップの順序は、任意の順序で実行されてよい。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は方法の説明を通して読者を導くために使用されるにすぎない。さらに、たとえば冠詞「a」、「an」、または「the」を使用する、単数形での請求項の要素への任意の言及は、要素を単数形に限定すると解釈されるべきではない。
本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示した実施形態に関して説明した様々な例示的論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装もしくは実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に特有の回路によって実行され得る。
1つまたは複数の例示的な実施形態では、説明した機能が、ハードウェア、ソフトウェア、プロセッサ実行可能ソフトウェア命令(もしくは、プロセッサ実行可能命令)、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令またはコードとして非一時的コンピュータ可読またはプロセッサ可読媒体において記憶または送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、非一時的プロセッサ可読記憶媒体またはコンピュータ可読記憶媒体(すなわち、プロセッサ実行可能命令を記憶している非一時的プロセッサ可読記憶媒体)上に存在し得る、プロセッサ実行可能ソフトウェアモジュールにおいて具現化され得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。ディスク(disk)およびディスク(disc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、もしくはそのセットとして存在し得る。
開示した実施形態の先行する説明は、当業者が本発明を実施または使用することを可能にするために与えられる。これらの実施形態に対する様々な修正が当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、以下の特許請求の範囲、ならびに本明細書で開示した原理および新規な特徴と一致する最も広い範囲が与えられるべきである。