本出願はまた、本出願と同時に出願され、その内容全体が参照によって本明細書に組み込まれる、「Platform for Wireless Identity Transmitter and System Using Short−Range Wireless Broadcasts」という表題の米国特許出願第 / , 号(代理人整理番号第113445)に関する。
[0047]様々な実施形態が添付の図面を参照して詳細に説明される。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号が使用される。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
[0048]「例示的」という単語は、本明細書では、「例、事例、または例示として機能すること」を意味するために使用される。「例示的」として本明細書で説明されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
[0049]「モバイルデバイス」という用語は、携帯電話、スマートフォン(たとえば、iPhone(登録商標))、ウェブパッド、タブレットコンピュータ、インターネット対応携帯電話、WiFi(登録商標)対応電子デバイス、携帯情報端末(PDA)、ラップトップコンピュータ、パーソナルコンピュータ、および、短距離無線(たとえば、Bluetooth無線、Peanut(登録商標)無線、WiFi無線など)とワイドエリアネットワーク接続(たとえば、LTE、3Gまたは4Gワイヤレスワイドエリアネットワーク送受信機またはインターネットへの有線接続)とに対応した同様の電子デバイスのうちの、任意の1つまたはすべてを指すために本明細書で使用される。モバイルデバイスであるとして特定のタイプのコンピューティングデバイスに言及することは、特定のタイプのモバイルデバイスが特許請求の範囲において列挙されていない限り、特許請求の範囲を限定するものではない。
[0050]「ブロードキャストメッセージ」という用語は、ワイヤレス識別送信機(以下で定義される)および/またはそのユーザと関連付けられる識別情報(すなわち、識別子)を含み得るワイヤレス識別送信機によってブロードキャストされる短距離ワイヤレスブロードキャスト信号を指すために使用される。そのような識別子は、定期的に変更され暗号化され得る(すなわち、ローリング識別子)。様々な実施形態において、ブロードキャストメッセージは、Bluetooth(登録商標)MACアドレスおよびカウンタのような他の識別情報を含んでよく、この識別情報も符号化され得る。加えて、ブロードキャストメッセージは、メタデータと、送信しているワイヤレス識別送信機の特性(たとえば、デバイスタイプ)、センサデータ、および/またはコマンドもしくは他の命令のような、他のデータとを含み得る。様々な実施形態において、ブロードキャストメッセージは、Bluetooth Low Energy、WiFi、WiFi Direct、Zigbee(登録商標)、Peanut(登録商標)、および他のRFプロトコルのような、ワイヤレス通信プロトコルを介して送信され得る。様々な実施形態において、いくつかの短距離送信チャネルの信頼性が低いので、ブロードキャストメッセージは、あるサイズ(たとえば、80ビット、10バイト、20バイトなど)に制限された単一のパケット送信であり得る。たとえば、ある実施形態のブロードキャストメッセージのペイロードは、全体で80ビットであってよく、バッテリ状態情報を示す4ビットとローリング識別子を示す76ビットとを含む。別の例として、ある実施形態のブロードキャストメッセージは、ノンスまたはカウンタを表す20ビットと、擬似ランダム関数または暗号化アルゴリズムにより生成されるようなローリング識別子を表す60ビットとを含み得る。
[0051]「ワイヤレス識別送信機」という用語は、短距離ワイヤレス送信機を介してブロードキャストメッセージを定期的に送信するように構成される小型デバイスを指すために本明細書で使用される。ワイヤレス識別送信機は、運ばれる場合、または動いている人もしくはアイテムに付随する場合などに、モバイルであってよく、または代替的に、建物内に設置される場合などに、固定式であってよい。ワイヤレス識別送信機は、工場IDのような固有のデバイス識別子(すなわち、「deviceID」)を記憶してよく、かつそれと関連付けられてよい。ある実施形態では、固有のデバイス識別子は56ビットの長さのコードであってよい。様々な実施形態において、セキュリティの目的で、この固有のデバイス識別子は、「ローリング識別子」としてブロードキャストメッセージ内に含まれる場合、他のデータ(たとえば、ノンス値またはカウンタ値)とともに、符号化され、暗号化され、または別様にぼんやりされ得る。ワイヤレス識別送信機は、30ppm 16kHzの水晶振動子を時計として使用することなどによって、不正確な時間(たとえば、UTC)情報を保持するように構成され得る。ワイヤレス識別送信機は、特に図26A〜図26Bを参照して、本開示全体で説明される。本開示の様々な図面および略図において、ワイヤレス識別送信機は、「WIT」または「WITs」と呼ばれ得る。
[0052]「近隣ブロードキャスト受信機」という用語は、ワイヤレス識別送信機によって送信されるようなブロードキャストメッセージを受信するように構成されるデバイスを指すために本明細書で使用される。様々な実施形態において、近隣ブロードキャスト受信機は、あらゆる場所(たとえば、建物、小売店など)に永続的に配置された固定式のデバイス(または「固定式の近隣ブロードキャスト受信機」)であってよく、または代替的に、近隣ブロードキャスト受信機(または「モバイル近隣ブロードキャスト受信機」)として動作するように構成されるモバイルデバイスであってよい。たとえば、スマートフォンは、ブロードキャストメッセージを受信し、モバイル近隣ブロードキャスト受信機として動作するように構成され得る。近隣ブロードキャスト受信機であるとして特定のタイプのコンピューティングデバイスに言及することは、特定のタイプのデバイスが特許請求の範囲において列挙されていない限り、特許請求の範囲を限定するものではない。さらに、別段示されない限り、本開示全体での近隣ブロードキャスト受信機への言及は、特定のタイプの近隣ブロードキャスト受信機デバイス(たとえば、ワイヤレスまたは固定式)に任意の方法またはシステムを限定するものではない。近隣ブロードキャスト受信機は、特に図27A〜図27Bを参照して、本開示全体で説明される。本開示の様々な図面および略図において、近隣ブロードキャスト受信機は「PBR」または「PBRs」と呼ばれることがあり、モバイル近隣ブロードキャスト受信機は図面において「MPBR」または「MPBRs」と呼ばれる。
[0053]「識別送受信機」および「ワイヤレス識別送受信機」という用語は、ブロードキャストメッセージを受信し送信するように構成されるデバイスを指すために本明細書で使用される。言い換えると、識別送受信機は、近隣ブロードキャスト受信機と識別送信機の両方として機能し得る。たとえば、スマートフォンは、固有の識別子を含む短距離信号をブロードキャストし、さらに、近隣にあるワイヤレス識別送信機からブロードキャストメッセージを受信するように構成され得る。本開示全体で、様々な動作が、ワイヤレス識別送信機と近隣ブロードキャスト受信機のいずれかによって別個に実行されるものとして説明され得るが、識別送受信機として動作するように構成されるデバイスは、同じ動作のいずれかまたはすべてを実行するように構成され得るので、ワイヤレス識別送信機と近隣ブロードキャスト受信機のいずれに関しても交換可能であり得ることを当業者は諒解されたい。
[0054]「サイティングメッセージ」という用語は、ワイヤレス識別送信機からブロードキャストメッセージを受信したことに応答して、近隣ブロードキャスト受信機によって中心サーバに送信される報告、信号、および/またはメッセージを指すために本明細書で使用される。サイティングメッセージは、ワイヤレス識別送信機の識別子のような、任意の不明瞭にされた情報または暗号化された情報を含む、受信されたブロードキャストメッセージ中で符号化される情報の一部またはすべてを含む送信であり得る。加えて、サイティングメッセージは、メタデータと他の情報(または「関連するデータ」)、たとえば、送信している近隣ブロードキャスト受信機の識別情報(たとえば、デバイスID、第三者との提携など)、近隣ブロードキャスト受信機がワイヤレス識別送信機とペアリングされているかどうか、送信コンテキスト情報(たとえば、サイティングメッセージが警告または登録されたデバイスに関するかどうかを示すコード)、近隣ブロードキャスト受信機上で実行されるソフトウェアまたはアプリケーションに関する情報(たとえば、アプリケーションID)、位置情報、ある場所の中の既知のエリアに対する近接情報、およびタイムスタンプデータを含み得る。ある実施形態では、サイティングメッセージはまた、サイティングメッセージを送信する近隣ブロードキャスト受信機の識別(すなわち識別情報)を確認するために中心サーバによって使用され得る、認証情報(たとえば、秘密鍵、パス、特別なコード、デジタル証明書など)を含み得る。たとえば、サイティングメッセージは、送信している近隣ブロードキャスト受信機が特定の登録されたサービスと関連付けられることを確実にするための、中心サーバによって復号され得るハッシュ関数からのコードを含み得る。様々な実施形態において、サイティングメッセージは、ブロードキャストの受信の後(たとえば、警告と関連するとき)に直ちに送信され、バッファリングされ、他のスケジューリングされた送信とともにスケジューリングされ得る。
[0055]様々な実施形態は、符号化され、暗号化され、さもなければぼんやりされた識別子の短距離ワイヤレスブロードキャストを介してワイヤレス識別送信機の位置決定または追跡のための方法、デバイス、およびシステムとを提供する。暗号化された識別子を含むブロードキャストは、1つまたは複数の中心サーバと通信できる、携帯電話、モバイルデバイス、または固定式の近隣ブロードキャスト受信機のような、近隣ブロードキャスト受信機のネットワークによって受信され得る。様々な実施形態において、ワイヤレス識別送信機は、短距離ワイヤレスブロードキャストの範囲内の任意の近隣ブロードキャスト受信機によって受信され得るフォーマットで、識別コードを伴うパケットを送信するように構成される、小型デバイスであり得る。ワイヤレス識別送信機は短距離ワイヤレスシグナリング(たとえば、Bluetooth Low Energyパケット、光信号、音声信号などのような短距離無線信号)を利用して、識別子を含むブロードキャストメッセージを送信するので、近隣にある近隣ブロードキャスト受信機のみが、そのようなブロードキャストメッセージを受信することができる。したがって、近隣ブロードキャスト受信機自体の位置が、ブロードキャストメッセージの受信の時間におけるワイヤレス識別送信機の概略的な位置を与えることができる。ワイヤレス識別送信機からブロードキャストメッセージを受信する各近隣ブロードキャスト受信機は、暗号化されたワイヤレス識別送信機の識別子を含むサイティングメッセージを、処理のために中心サーバに渡すことができる。中心サーバは、受信されたサイティングメッセージ内のローリング識別子を含む暗号化された情報または不明瞭にされた情報を復号することができる。
[0056]様々な実施形態において、ワイヤレス識別送信機は、デバイス識別子が符号化/暗号化される方式を定期的に変更し、または、送信機を追跡することを難しくしつつ、ワイヤレス識別送信機のユニークなデバイス識別子(および他の識別情報)を中心サーバが復号(decode)、復号(decrypt)、さもなければ認識することを可能にするような方式で、識別子自体を変更するように構成され得る(本明細書では「ローリング識別子」と呼ばれる)。たとえば、ワイヤレス識別送信機は、ワイヤレス識別送信機のデバイス識別子(すなわち、deviceID)の符号化されたバージョンを含むBluetoothパケットを定期的にブロードキャストするように構成され得る。ブロードキャストメッセージ中で示される識別子のそのような暗号化は、中心サーバがブロードキャストメッセージの発信元のワイヤレス識別送信機を信頼性をもって特定することを可能にしつつ、第三者(たとえば、受動的な攻撃者)に想像のみによってブロードキャストメッセージの発信元を決定することを強いるために必要とされ得る。たとえば、識別子が不変であれば、第三者は、たとえば、近隣ブロードキャスト受信機になりすますことによって識別子を探り出し、次いで、その識別子を使用してワイヤレス識別送信機を追跡することができる。ローリング識別子は、第三者が暗号化された識別子を生成する手段を欠いていれば、そのような攻撃を不可能にできる。
[0057]単一パケットのブロードキャストメッセージは、従来の非対称鍵暗号化の暗号文に適合し得るペイロードをサポートしないことがあるので、標準的な非公開/公開の鍵ペア暗号化は、様々な実施形態において使用可能ではないことがある。加えて、ワイヤレス識別送信機は一般にブロードキャスト専用デバイスであるので、従来の暗号化方式で通常必要とされるバックチャネルがない。したがって、様々な実施形態における中心サーバは、各ワイヤレス識別送信機にユニークに共有される秘密鍵を事前に準備することによって、暗号化されたメッセージペイロードを処理することができる。そのような秘密鍵は、中心サーバにおいて各ワイヤレス識別送信機のユニークなデバイス識別子と関連付けられてよく、各ワイヤレス識別送信機によって符号化されたデータ(たとえば、識別子)を復号するために使用されてよい。
[0058]ある実施形態の方法を実行して、ワイヤレス識別送信機は、ストリーミングライク(streaming-like)暗号化アルゴリズム(たとえば、AES−CTR)を使用して、デバイス識別子と、共有される秘密鍵と、ノンスまたはカウンタとを暗号化することができ、暗号化されていない(in the clear)ノンスまたはカウンタを伴う暗号化されたデータを含むペイロードをブロードキャストする。別の実施形態の方法を実行して、ワイヤレス識別送信機は、擬似ランダム関数を使用して、デバイス識別子と、共有される秘密鍵と、ノンスまたはカウンタとを暗号化することができ、暗号化されていないノンスまたはカウンタを伴わない暗号化されたデータを含むペイロードをブロードキャストする。別の実施形態の方法を実行して、ワイヤレス識別送信機は、ストリーミングライクの暗号化と擬似ランダム関数による暗号化との組合せを使用して、ブロードキャストするペイロードを生成することができる。ある実施形態では、ワイヤレス識別送信機および中心サーバは、共通のタイムスケールで識別子を生成するために使用される暗号学的に安全な擬似乱数生成器またはアルゴリズムを各々有し得るので、任意の所与の瞬間に、中心サーバは、特定のワイヤレス識別送信機によって送信されている識別子を計算することができる。
[0059]様々な実施形態において、ワイヤレス識別送信機は、時間の経過を表すために定期的にインクリメントし様々な暗号化方法において使用され得る、ノンスまたはカウンタ(または時計(clock)データ)を保持することができる。ワイヤレス識別送信機の電源がオンにされると(またはバッテリが交換されると)、ノンスまたはカウンタは、0のような既知の初期値に設定され得る。ワイヤレス識別送信機が機能している間、ノンスまたはカウンタは定期的に増え得る(たとえば、数秒/数分/数時間ごとに1だけインクリメントする)。ワイヤレス識別送信機の電力が途切れると(たとえば、バッテリが取り出され、または交換されると)、ノンスまたはカウンタはリセットされ得る。そのようなノンスまたはカウンタを使用して、ワイヤレス識別送信機は、変化するとともに暗号化されるデバイス識別情報を含む暗号化されたペイロードを伴うメッセージを定期的にブロードキャストするように構成され得る。ある実施形態では、暗号化されたペイロードは、デバイスのユニークな識別子(すなわち、deviceID)と、そのワイヤレス識別送信機の現在のノンス値またはカウンタ値とを連結したものを含み得る。ある実施形態では、ワイヤレス識別送信機は、秘密鍵を使用して連結されたデータを暗号化することができる。ペイロードは、変化する周波数でブロードキャストされてよく、処理のために近隣ブロードキャスト受信機または中心サーバによって受信されてよい。
[0060]ある実施形態では、中心サーバは、受信された暗号化されたペイロードを、登録されたワイヤレス識別送信機に対応する事前に生成されたペイロード(またはモデルペイロード)と照合することによって、ワイヤレス識別送信機を識別するように構成され得る。中心サーバとワイヤレス識別送信機との間の登録動作の間に取得される情報に基づいて、中心サーバは、各ワイヤレス識別送信機についての固有の情報を記憶することができる。たとえば、中心サーバは、登録通信に基づいて、ワイヤレス識別送信機の秘密鍵と、デバイス識別子(またはdeviceID)と、初期のノンス値またはカウンタ値とを知り得る。そのような記憶された情報を使用して、中心サーバは、ワイヤレス識別送信機がある時間期間、たとえば24時間の期間内にブロードキャストすることが予測される(またはその可能性が高い)一連のモデルペイロードを生成することができる。中心サーバが、これらのモデルペイロードのいずれかと一致するペイロードを受信すると、中心サーバは、発信元のワイヤレス識別送信機の識別情報、さらに、ワイヤレス識別送信機内の概ね正確な(loosely-accurate)ノンス値またはカウンタ値を決定することができる。モデルペイロードは、各々の登録されたワイヤレス識別送信機に対する現在の同期されたノンスまたはカウンタ(すなわち、現在のモデルペイロード)に基づいて生成され得る。ある実施形態では、中心サーバはまた、モデルペイロードのウィンドウを保つことによって、ワイヤレス識別送信機のクロックスキュー(clock skew)を調整することができる。たとえば、中心サーバは、予想されるノンスまたはカウンタの前および後の、時間を表すノンス値またはカウンタ値を使用してペイロードを生成することができる。中心サーバはまた、時間とともに受信されたペイロードが変化するのを監視することによって、ワイヤレス識別送信機時計の期間を決定することができる。ある実施形態では、中心サーバは、ワイヤレス識別送信機の報告されたノンス値またはカウンタ値の変化を追跡することができ、特定のクロック期間に対してデバイス時計がどの程度不正確であるかを報告することができる。
[0061]モデルペイロードはまた、登録動作の間に各々の登録されたワイヤレス識別送信機によって報告される初期のノンス値またはカウンタ値(すなわち、初期モデルペイロード)に基づいて生成され得る。ワイヤレス識別送信機の電源がオフされ再びオンされると(たとえば、一時停止、バッテリ交換など)、ワイヤレス識別送信機は、最初のまたは初期のノンス値またはカウンタ値へリセットし得る。中心サーバにおいて受信された暗号化されたペイロードが現在のモデルペイロードのいずれにも一致しない場合、中心サーバは、受信された暗号化されたペイロードを、記憶された初期モデルペイロードと比較することができる。初期モデルペイロードが受信された暗号化されたペイロードと一致することを中心サーバが発見すると(たとえば、ワイヤレス識別送信機がリセットされた場合)、中心サーバは、対応するワイヤレス識別送信機のノンスまたはカウンタがリセットされたことを示すためにデータベースを更新することができるので、リセットされたワイヤレス識別送信機の時計と再び同期する。
[0062]ワイヤレス識別送信機がある時間期間停止するが、暗号化されたペイロードを生成するために使用されるノンスまたはカウンタをリセットしない状況では、ワイヤレス識別送信機によってその後生成されるペイロードは、中心サーバに記憶された予想されるペイロード(たとえば、現在のモデルペイロードおよび初期モデルペイロード)と一致しないことがある。この状況に対応するために、中心サーバは、モデルペイロードおよび/またはノンス値もしくはカウンタ値が受信された暗号化されたペイロードと一致しないとき、一時停止が発生したと決定することができる。中心サーバは、データベース中で表されるすべての既知のおよび/または登録されたワイヤレス識別送信機の力づくの探索を実行することによって、ワイヤレス識別送信機を識別し、記録された秘密鍵およびデバイス識別情報に基づいて、受信された暗号化されたペイロードを復号することができる。ある実施形態では、力づくの探索は、中心サーバによって最近受信されたペイロードをブロードキャストしていないワイヤレス識別送信機のみを含み得る。
[0063]本開示では、不明瞭にされた識別情報(たとえば、ローリング識別子)を復号(encode)、解読(decrypt)、さもなければアクセスするための様々な実施形態の方法は、そのような情報を登録されたユーザおよび/または登録されたデバイスと関連付けるために中心サーバによって実行されているものとして説明される。しかしながら、認証を有する任意のコンピューティングデバイスが、そのような動作を実行して、ワイヤレス識別送信機によってブロードキャストされた不明瞭にされた識別情報を復号(decipher)するように構成され得ることを、当業者は諒解されたい。たとえば、ユーザにより利用されるモバイル近隣ブロードキャスト受信機(たとえば、スマートフォン)は、やはりそのユーザにより所有されるワイヤレス識別送信機と関連付けられるローリング識別子を復号(decrypt)、復号(decode)、さもなければアクセスするための、様々な方法を利用することができる。
[0064]中心サーバと関連付けられるデータベースに対するハッカーの攻撃などの、セキュリティの侵害から保護し、さらに、登録されたユーザ(たとえば、業者、親、子供など)に、安心と、プライバシーが完全に保護され得るという信頼とを与えるために、さらなる対策が重要であり得る。そのようなプライバシー保護対策は、ユーザのデバイス情報および/または近接情報を追跡することに関する他の情報とは別個に、識別情報(たとえば、名前、住所、金融情報、医療情報など)を記憶することによって、実施形態のシステムに登録される関係者に提供され得る。特に、登録された業者、顧客、子供、または個人の個人情報の意図されない漏洩を防ぐために、実施形態のシステムは「二重目隠し(double-blind)」アーキテクチャを利用することができる。たとえば、そのような二重目隠しアーキテクチャは、登録されたユーザのデバイス(たとえば、ワイヤレス識別送信機、近隣ブロードキャスト受信機、識別送受信機、モバイルデバイスなど)の近接情報または他の位置ベースのデータに関する情報を記憶し、その情報に対するアクセス権を有する、第1のユニット(たとえば、サーバ、データベース、または他のコンピューティングハブ)を使用することができる。言い換えると、第1のユニットは、様々なユーザのデバイスの概略的な位置/近接を示すサイティングメッセージと関連付けられる情報を入手することができる。しかしながら、第1のユニットは、ユーザの名前、住所、および/または社会保障番号のような、一意に個人を識別する個人情報を記憶することはできない。代わりに、第2のユニットが、第1のユニットによって使用されるような任意の位置/近接情報をアクセスするように構成されることなく、個人を識別する情報を記憶することができる。第1のユニットおよび第2のユニットは、いずれかのユニットに記憶された保護された情報を示すことなく、2つのユニット内に記憶されたデータをつなぐ匿名の識別子を使用することができる。ある実施形態では、第1のユニットおよび第2のユニットは、別個のエンティティ(たとえば、サービス提供者)によって管理されてよく、さらに、そのようなエンティティの少なくとも1つが、識別情報を提供する登録されたユーザにより信頼され得る。
[0065]さらなる実施形態では、ワイヤレス識別送信機は、近隣ブロードキャスト受信機からの入来する送信を受信するように構成され得る。入来する送信は、ワイヤレス識別送信機の挙動を調整するための、ファームウェアの更新またはアップグレードと、ソフトウェア命令と、構成情報と、他のデータとを含み得る。ワイヤレス識別送信機は、時計信号、ユーザ入力データ(たとえば、ボタンの押下)、または受信された信号に基づいて、入来する送信を選択的に受信するように構成(またはスケジューリング)され得る。たとえば、近隣ブロードキャスト受信機から受信されたトリガ信号が、後続のメッセージを受信するために受信機をアクティブ化するように、ワイヤレス識別送信機に命令することができる。具体的には、ワイヤレス識別送信機は、近隣デバイス(たとえば、構成設定値を送信するように構成される近隣ブロードキャスト受信機)から構成設定を受信するように構成され得る。そのような構成設定は、どの程度頻繁に、かつ/またはどの程度の送信電力で、識別子がワイヤレス識別送信機によってブロードキャストされるかを変化させる、パラメータを設定することができる。
[0066]様々な実施形態は、すでに整備されているモバイルデバイスの巨大なインフラストラクチャを利用する。スマートフォンのような多くの現在のモバイルデバイスは、Bluetooth無線のような短距離無線を含む複数の無線を装備しているので、モバイル近隣ブロードキャスト受信機として実行し、近隣ワイヤレス識別送信機から識別コードを受信するように構成され得る。モバイルデバイスはまた、現在時刻を提供し得る時計と、ワイヤレス識別送信機の識別子が受信されたときに常に現在の位置を提供し得るGPS受信機とを装備することが多い。モバイルデバイスは、これらの識別コードと、時間と、位置とを、サイティングメッセージを介して、セルラー無線接続のようなより長距離のネットワーク接続を通じて中心サーバに伝えることができる。したがって、すでに使用されている、またはまもなく使用されることになる多数のモバイルデバイスの多くが、様々な実施形態のシステムの範囲を拡張するためのモバイル近隣ブロードキャスト受信機として包含され得る。
[0067]近隣ブロードキャスト受信機の長距離無線または他のサービスを使用して、受信されたブロードキャストメッセージの位置と時間と(または「サイティング」)を中心サーバに報告することによって、ワイヤレス識別送信機は、Bluetooth(登録商標)LE送受信機のような短距離無線とバッテリとを含むものにすぎない、比較的小型で、安価で、単純なデバイスになり得る。様々な実施形態では、ワイヤレス識別送信機はまた、Peanut(登録商標)無線のような追加の短距離無線を含み得る。様々な実施形態において、ワイヤレス識別送信機は、ユーザインターフェース、複数の無線、全地球測位システム(GPS)受信機、またはモバイルデバイスに一般的な他の特徴を含まなくてよい。実施形態のワイヤレス識別送信機はまた、非常に少量の電力しか消費しないことがあり、頻繁に再充電または交換されることを必要とすることなくそれらが展開されることを可能にする。これらの特性は、多種多様な使用法および種々の物理的構成における実装に対して、それらを理想的なものにする。たとえば、ワイヤレス識別送信機は、ボタン、腕時計、靴、ブリーフケース、バックパック、IDバッジ、衣服、製品のパッケージングなどのような、多くの異なる個人の持ち物の中に、簡単に隠されまたは組み込まれ得る。
[0068]実施形態の方法、デバイス、およびシステムは、広範な目的のために使用され得る。たとえば、様々な実施形態は、行方不明の子供、精神病の患者、ペット、アルツハイマー病の患者、自然災害の被災者、および彼らを救助しようとする最初の応答者などを追跡するために使用され得る。さらなる実施形態は、物流システムにおいて高価値の資産を追跡することと、境界エリアの通過(たとえば、建設現場へ入る通過/建設現場から出る通過)を監視することと、資産がこれまでに盗まれたかどうか、行方不明になったと報告されたかどうかを追跡することとのために、高価値の資産に設置され得る。実施形態はまた、管理されたエリアに入る、またはそこから出る人々を監視するために使用され得る。様々な実施形態は、アンバーアラートシステムを支援もしくは補助し、または警察官に情報を提供することができる。実施形態はまた、価値のある情報を、私的な人または業者に与えることができる。
[0069]ワイヤレス識別送信機はまた、情報(たとえば、センサデータ)を伝えるように機能し、または、特定の動作を行うように近隣ブロードキャスト受信機に促すように機能することができる。いくつかの実施形態では、ワイヤレス識別送信機は、携帯電話のような近隣ブロードキャスト受信機によって実行されるべき1つまたは複数の挙動を示すブロードキャストメッセージを送信することができ、この場合、ブロードキャストメッセージはまた、コマンド(すなわち、コマンド識別子)またはワイヤレス識別送信機のタイプ(すなわち、デバイスタイプ識別子またはデバイスタイプ情報)に対応する2次セグメントを含み得る。ブロードキャストメッセージを受信する近隣ブロードキャスト受信機は、識別コードまたは2次コードに基づいて動作を行うことができる。あるいは、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージを中心サーバに送信することができ、中心サーバは、実行されるべき挙動を示すために、命令または別のコードを近隣ブロードキャスト受信機に返すことができる。
[0070]さらなる実施形態では、ワイヤレス識別送信機は、アイテムを追跡し、資産(assets)が近隣ブロードキャスト受信機の前(または近隣)から離れるとき、またはそこに入るときを示すために、使用され得る。たとえば、個人のジオフェンス(geofence)が、ユーザにより運ばれる近隣ブロードキャスト受信機の周りで確立され得るので、関連するワイヤレス識別送信機が近隣ブロードキャスト受信機の受信範囲から離れるとき、またはそこに入るときに、警告またはリマインダーメッセージが送信され得る。ワイヤレス識別送信機に近接していることのそのような指示は、鎖のように動作することができ、子供、荷物、財布または小銭入れ、駐車場の車などを追跡するのに有用であり得る。別の実施形態では、ワイヤレス識別送信機のチェーン・オブ・カストディ(chain of custody)は、近接している近隣ブロードキャスト受信機を決定することおよび/または、追跡されるアイテムが近隣ブロードキャスト受信機の受信範囲からいつ除去されるかを確定する入力データに基づいて、中心サーバ内で決定され記憶され得る。
[0071]さらなる実施形態では、ワイヤレス識別送信機および近隣ブロードキャスト受信機は、LTE−D、ピアツーピアLTE−D、WiFi、およびWiFi Directのような様々なワイヤレス技術を使用して送信を交換するように構成され得る。ある実施形態では、ワイヤレス識別送信機は、WiFi送受信機を伴う近隣ブロードキャスト受信機がブロードキャストメッセージを受信できるように、WiFi無線を介してメッセージをブロードキャストするように構成され得る。そのような実施形態では、ワイヤレス識別送信機は、WiFi送信を利用して、WiFiアクセスポイントのブロードキャストアドバタイズメントと同様の識別情報をブロードキャストすることができる。たとえば、受信範囲が制限されるように、WiFi無線を含むワイヤレス識別送信機は、低電力のWiFi送信を介してブロードキャストメッセージを送信するように構成されてよく、これによって、Bluetooth LE送信の範囲と同様の範囲を伴う短距離無線信号を提供する。様々なワイヤレスブロードキャスト技術と、ワイヤレス識別送信機との通信プロトコルとを利用する際に、限られた能力を有する近隣ブロードキャスト受信機は依然として、ワイヤレス識別送信機からのブロードキャストメッセージを受信し処理することが可能であり得る。たとえば、モバイル近隣ブロードキャスト受信機として動作するように構成され、WiFi送受信機を含むが、Bluetooth LE無線を含まないスマートフォンが、WiFi無線により短距離信号をブロードキャストするように構成されるワイヤレス識別送信機からのブロードキャストメッセージを受信し処理することができる。ある実施形態では、より多くのモデルの近隣ブロードキャスト受信機(たとえば、より多くのタイプのスマートフォン)がサイティングを受信し中継することを可能にするために、ワイヤレス識別送信機は、Bluetooth LE送受信機および低電力WiFi送受信機のような複数の無線を通じてブロードキャストすることができる。
[0072]他の実施形態では、ワイヤレス識別送信機は、ブロードキャストメッセージ中に符号化され得るセンサデータを生成するセンサを含み得る。そのようなセンサは、マイクロフォン、カメラ、圧力センサ、熱センサ、加速度計、湿度センサ、温度センサ、CO2センサなどを含み得る。そのようなセンサからのデータは、近隣ブロードキャスト受信機からのサイティングメッセージを介して、データを受信する近隣ブロードキャスト受信機または中心サーバによって使用または記憶され得る。
[0073]様々な実施形態の方法は、短距離ワイヤレスブロードキャストメッセージの受信に基づいて、ワイヤレス識別送信機が近隣ブロードキャスト受信機の近隣にあること、およびその逆であることを決定し得る。さらに、実施形態は、ワイヤレス識別送信機および/または近隣ブロードキャスト受信機の正確な位置を決定することを必要とはしないことがあり、代わりに、デバイスの概略的な位置および/または互いの相対的な位置を決定することができる。したがって、本開示全体での位置および/または距離の決定に対する言及は、シグナリングしているデバイスの間の近接度を決定することを目的とするものであり得る。
[0074]様々な実施形態において、会社、組織、および施設(たとえば、学校、店舗、公園、空港、ショッピングモール、オフィスビルなど)が、固定式の近隣ブロードキャスト受信機を配備して、ユーザのワイヤレス識別送信機からのブロードキャストメッセージを受信し中継することができる。あるいは、複数の場所が固定式のワイヤレス識別送信機を配備してよく、ユーザのモバイル近隣ブロードキャスト受信機がブロードキャストメッセージを受信し中継してよい。さらなる実施形態では、複数の場所が近隣ブロードキャスト受信機とワイヤレス識別送信機の両方を配備して、ワイヤレス識別送信機を運ぶユーザおよび/またはモバイル近隣ブロードキャスト受信機を運ぶユーザの両方からのデータを受信し、中継し、処理することができる。ブロードキャストメッセージの発信源とは無関係に、中心サーバ(またはローカルコンピューティングデバイス)は、受信されたサイティングメッセージに基づいて、近隣ブロードキャスト受信機とワイヤレス識別送信機との間の概略的な近接度を決定することができる。
[0075]加えて、近隣ブロードキャスト受信機および受信されたサイティングメッセージに関するワイヤレス識別送信機の識別情報に基づいて、中心サーバは、どのデバイスが登録されたサービス(たとえば、小売店)に関するかということと、どれがユーザ(たとえば、ユーザ)に関連するかということとを決定するように構成され得る。「登録されたサービス」という用語は、中心サーバに対して登録された、認証された、有効である、さもなければ知られており、かつ、サイティングメッセージと関連し得る、関係者またはサービスを指すために本明細書で使用され得る。登録されたサービスは、業者、小売店、サービス、店舗(たとえば、大規模小売店、ローカルのコーヒーショップなど)、および、中心サーバに登録された様々な他の第三者を含み得る。登録されたサービスはまた、既知のルーチン、動作、または中心サーバによって管理されるサービス、たとえば、特定の探索または能動的な警告、または代替的に、モバイルデバイス上で実行され得るアプリケーション(たとえば、第三者のアプリ)を含み得る。ある実施形態では、登録されたサービスはさらに、中心サーバに開発者として登録している任意の第三者を含み得る。たとえば、登録されたサービスは、近隣ブロードキャスト受信機を中心サーバに登録している業者に対応し得る。ある実施形態では、他者のワイヤレス識別送信機(たとえば、小売店内に配置された業者の固定式の識別情報送信機)からブロードキャストメッセージを受信したことに応答してサイティングメッセージを送信するモバイル近隣ブロードキャスト受信機を利用する登録されたユーザ(たとえば、ユーザ)も、登録されたサービスであると中心サーバにより見なされ得る。
[0076]例示の目的で、会計の列に並んでいるユーザが持ち運ぶモバイル近隣ブロードキャスト受信機(たとえば、近隣ブロードキャスト受信機として動作するように構成されるスマートフォン)は、小売店内のキャッシュレジスタpoint−of−saleデバイスの上部に配置されたワイヤレス識別送信機からブロードキャストメッセージを受信することができ、サイティングメッセージを中心サーバに送信することができる。サイティングメッセージを受信すると、中心サーバは、ワイヤレス識別送信機が、ローリング識別子に対応するプロファイルに基づく小売店に属していることと、モバイル近隣ブロードキャスト受信機が、サイティングメッセージ中のメタデータ内に含まれる近隣ブロードキャスト受信機の識別子に基づいてユーザプロファイルと関連付けられることとを、決定することができる。この情報から、中心サーバは、マーケティング情報をユーザに送信することができる。
[0077]図1は、様々な実施形態において使用され得る例示的なシステム100を示す。一般に、中心サーバ120は、ワイヤレス識別送信機110に対応するデータを受信し、記憶し、さもなければ処理するように構成され得る。中心サーバ120は、近隣ブロードキャスト受信機142、モバイル近隣ブロードキャスト受信機138、第三者のシステム101、ならびに他のサポートシステムおよび/またはサービス102のような様々なデバイスと、インターネット103を介して通信を交換するように構成され得る。ワイヤレス識別送信機110は、短距離ワイヤレス信号を介して近くの近隣ブロードキャスト受信機142および/またはモバイル近隣ブロードキャスト受信機138によって受信され得るメッセージをブロードキャストすることができる。近隣ブロードキャスト受信機142、138は、長距離通信を利用して、インターネット103を介して、受信されたブロードキャストメッセージをサイティングメッセージとして中心サーバ120に中継することができる。たとえば、近隣ブロードキャスト受信機142およびモバイル近隣ブロードキャスト受信機は、セルラーネットワーク121を利用して、サイティングメッセージを中心サーバ120に送信することができる。第三者のシステム101は、業者のサーバ、小売店のコンピューティングデバイス、緊急サービスと関連付けられるコンピューティングデバイスを含み得る。他のサポートシステムおよび/またはサービス102は、登録情報を提供するためにユーザにより利用されるコンピューティングデバイス、ユーザ関連のコンテンツを配信するシステム(たとえば、Qualcomm Gimbal(商標))、および、位置に特有の情報を提供するサービス(たとえば、Qualcomm IZat(商標))のような、様々な技術と関連付けられるコンピューティングデバイスを含み得る。
[0078]中心サーバ120は、データ、たとえば、近隣ブロードキャスト受信機142、138、第三者のシステム101、または他のサポートシステムおよび/もしくはサービス102から受信されるデータを処理するための様々な動作を実行するためのいくつかのコンポーネント104〜109を含み得る。具体的には、中心サーバ120は、長期データ(たとえば、保管されたユーザデータ、過去の位置情報など)を記憶し得る、データ保管コンポーネント104を含み得る。中心サーバ120はまた、ユーザポータルのアクセス、スクリプト、ツール(たとえば、ソフトウェアユーティリティ、ルーチンなど)、および中心サーバ120を管理するための任意の他の要素と関連付けられるソフトウェアを管理し、処理し、および/または記憶し得る、運用、管理および保守(またはOA&M)コンポーネント105を含み得る。中心サーバ120はまた、開発者のアカウントデータを記憶し、登録、アカウント管理、開発者と関連付けられる警告(または通知)管理ルーチンを実行し得る開発者ポータルコンポーネント106を含んでよく、開発者はたとえば、ワイヤレス識別送信機110のユーザと対話するために登録するベンダーまたは業者である。中心サーバ120はまた、ワイヤレス識別送信機110と関連付けられるファクトリ鍵を記憶し、さらに、受信されたサイティングメッセージ内の暗号化された、符号化された、ローリングされた、さもなければ難読化された識別情報を、付随するユーザデータと照合するための動作、ソフトウェア、またはルーチンを実行することができる、ローリング識別子(またはID)リゾルバコンポーネント107を含み得る。中心サーバ120はまた、ユーザアカウントのデータを記憶し、登録、アカウント管理を実行し、ユーザと関連付けられるルーチンを探索し得る、ユーザポータルコンポーネント109を含んでよく、ユーザはたとえば、ワイヤレス識別送信機110と関連付けられる人である。中心サーバ120はまた、サイティングメッセージを処理し、警告または通知エンジンモジュールを実行し、アプリケーションプログラミングインターフェース(API)コマンドを処理し、中心サーバ120内の他のコンポーネントとデータを交換することができる、コアコンポーネント108を含み得る。コアコンポーネント108は、図13を参照して以下で説明される。
[0079]様々な実施形態において、コンポーネント104〜109は、中心サーバ120に含まれ、接続され、または別様に関連付けられる、コンピューティングデバイス、サーバ、ソフトウェア、および/または回路によって有効にされ得る。たとえば、コアコンポーネント108は、中心サーバ120内に含まれるサーバブレードまたはコンピューティングユニットであってよい。別の例として、データ保管コンポーネント104は、中心サーバ120がインターネットプロトコルを介して通信する遠隔のクラウドストレージデバイスであってよい。
[0080]ある実施形態では、近隣ブロードキャスト受信機142およびモバイル近隣ブロードキャスト受信機138は、近隣ブロードキャスト受信機142、138が、近接するワイヤレス識別送信機110からの受信されたブロードキャストメッセージを処理することを可能にする、ソフトウェア、命令、ルーチン、アプリケーション、動作、または他の回路であり得る、コアクライアントモジュール115を実行するように構成され得る。コアクライアントモジュール115はまた、近隣ブロードキャスト受信機142、138と中心サーバ120との間の通信を処理することができ、たとえば、サイティングメッセージを送信し、中心サーバ120から返信メッセージを受信する。さらに、モバイル近隣ブロードキャスト受信機138は、ソフトウェア命令、ルーチン、アプリケーション、または様々な第三者によって提供される他の動作(たとえば、業者のアプリ)を実行することに関し得る、第三者アプリケーションモジュール116を実行するように構成され得る。ある実施形態では、中心サーバ120に登録されたサービスとして構成される場合、第三者のアプリケーションモジュール116は、コアクライアントモジュール115から様々なデータを受信することができる。たとえば、中心サーバ120に登録された第三者のアプリケーションは、モバイル近隣ブロードキャスト受信機138のユーザが特定の場所(たとえば、ジオフェンス、小売店など)に入ったとき、そこにとどまったとき、および/またはそこから離れたときに、コアクライアントモジュール115から通知を受信するように構成され得る。
[0081]別の実施形態では、モバイル近隣ブロードキャスト受信機138は、ブロードキャストメッセージを受信し送信するように構成されてよく、「ワイヤレス識別情報送受信機」とも呼ばれ得る。たとえば、ユーザは、近くのワイヤレス識別送信機110からのブロードキャストメッセージ、さらには、ユーザと関連付けられる識別情報を含むブロードキャスト信号を受信するように構成される、スマートフォンを利用することができる。
[0082]図2は、様々な実施形態において使用され得る例示的な通信システム200を示す。通信システム200は、ワイヤレス識別送信機110(たとえば、Bluetooth(登録商標)LE送信機)が、直接の通信リンクをネゴシエートする必要なく、複数のモバイル近隣ブロードキャスト受信機138および/または固定式の近隣ブロードキャスト受信機142を介して、識別情報を含むブロードキャストメッセージを中心サーバ120に送信することを、実質的に可能にする。そのようなブロードキャストメッセージは、ワイヤレス識別送信機の近隣(またはブロードキャスト範囲)にある任意の近隣ブロードキャスト受信機によって自動的に収集され得る。たとえば、ある近隣の範囲内にあるモバイル近隣ブロードキャスト受信機138は、ワイヤレス識別送信機110内のBluetooth(登録商標)無線によって送信されるブロードキャストメッセージを受信することができる。
[0083]通信システム200は、ワイヤレス識別送信機110を含み得る。ワイヤレス識別送信機110は、様々な物体に結合され得る。たとえば、ワイヤレス識別送信機110は、ブレスレットに埋め込まれ得る。ワイヤレス識別送信機110は、上で説明されたようなブロードキャストメッセージなど、短距離ワイヤレス信号114を送信することができる。たとえば、この短距離ワイヤレス信号114は、パケットの定期的なブロードキャストであってよく、これは、ワイヤレス識別送信機の識別コードを含む。あるいは、短距離ワイヤレス信号114は、近隣ブロードキャスト受信機として動作している可能性のある複数のモバイルデバイス138のいずれかとのワイヤレス通信リンクを確立するための試みであり得る。短距離ワイヤレス信号114は、固定式の近隣ブロードキャスト受信機142および/またはモバイル近隣ブロードキャスト受信機138のような、近接した近隣ブロードキャスト受信機によって受信され得る。
[0084]短距離ワイヤレス信号114は、Bluetooth(登録商標)、Bluetooth LE(登録商標)、Wi−Fi(登録商標)、赤外線ワイヤレス、誘導ワイヤレス、ウルトラワイドバンド(UWB)、ワイヤレスユニバーサルシリアルバス(USB)、Zigbee(登録商標)、Peanut(登録商標)、または、(たとえば、送信電力を制約することによって)有効通信範囲を比較的短距離(たとえば、約100メートル以内)に制限しなければならない、または制限するように修正され得る他の短距離ワイヤレス技術もしくはプロトコルのような、種々の通信プロトコルのいずれかに従ったものであり得る。いくつかの実施形態では、ワイヤレス識別送信機110は、Bluetooth(登録商標)4.0プロトコル(またはより後のバージョン)において標準化された低エネルギー技術を使用し得る。たとえば、いくつかの実施形態のシステムでは、ワイヤレス識別送信機110は、Bluetooth(登録商標)4.0プロトコルに記載されるようなアドバタイザとして構成される識別パケットを定期的にブロードキャストすることができ、近接した近隣ブロードキャスト受信機142、138は、そのプロトコルに従ってスキャナとして動作するように構成され得る。
[0085]BluetoothプロトコルおよびBluetoothデバイス(たとえば、Bluetooth LEデバイス)は、比較的短い有効通信範囲を有し、配備されている通信デバイスおよびコンピューティングデバイスにおいて広く使用されており、様々な実施形態の発見および報告のニーズを満たす標準的なアドバタイズ手順またはペアリング手順を有し、低い消費電力を示し、これは、様々な実施形態の多くの用途に対してプロトコルを理想的なものにする。この理由で、BluetoothおよびBluetooth LEのプロトコルおよびデバイスが、例示の目的で、本明細書の例の多くで言及される。しかしながら、クレームの範囲において特に記載されていない限り、クレームの範囲は、BluetoothまたはBluetooth LEのデバイスおよびプロトコルに限定されるべきではない。たとえば、Peanut(登録商標)送受信機が、ワイヤレス識別送受信機110内に含まれてよく、Peanut(登録商標)短距離無線送信を利用するようにも構成される近隣ブロードキャスト受信機142、138との双方向通信を送信するために使用されてよい。
[0086]通信システム200は、ある領域、建物、または場所の全体に、機関、業者、または様々な第三者によって配備され得る、複数の固定式の近隣ブロードキャスト受信機142を含み得る。そのような固定式の近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110に対して特別に設計され得る(または、交通信号、ユーティリティ変圧器(utility transformer)などのような、他の基本的機能に加えて、そのような追跡機能を含み得る)。固定式の近隣ブロードキャスト受信機142は、ある地区内の戦略的な位置に配置されてよく、たとえば、ある地域の境界を形成し、かつ/または交通量の多いエリア(たとえば、主要な交差点および高速道路の入口)に配置される。固定式の近隣ブロードキャスト受信機142は、インターネット103への接続148を提供するインターネットアクセスサーバ140を含み得る、WiFiネットワークのようなローカルエリアネットワーク202と通信していてよい。固定式の近隣ブロードキャスト受信機142は、有線リンクまたはワイヤレスリンク146によってローカルエリアネットワーク202に接続され得る。様々な実施形態において、固定式の近隣ブロードキャスト受信機142は、インターネットアクセスサーバ140内に含まれてよく、またはインターネットアクセスサーバ140の近くに位置してよい。たとえば、固定式の近隣ブロードキャスト受信機142は、インターネットアクセスサーバ140内のコンポーネントであってよく、または代替的に、インターネットアクセスサーバ140の上部または側部に配置されてよい。ある実施形態では、固定式の近隣ブロードキャスト受信機142は、ある地区内の戦略的な位置に配置されてよく、たとえば、ある地域の境界を形成し、かつ/または交通量の多いエリアに(たとえば、小売店の通路に沿って、建物の入口に、など)配置される。ある実施形態では、固定式の近隣ブロードキャスト受信機142は、追加の機能を有し得る。たとえば、固定式の近隣ブロードキャスト受信機142はまた、キャッシュレジスタ、point−of−salesデバイス、および/または小売店内のディスプレイユニットとして機能してよく、またはそれらに含まれてよい。
[0087]通信システム200はまた、モバイル近隣ブロードキャスト受信機138として動作するように構成される1つまたは複数のモバイルデバイスを含み得る。モバイル近隣ブロードキャスト受信機138は、有線接続またはワイヤレス接続158によって1つまたは複数のネットワーク運用センター132に結合される1つまたは複数の基地局134への長距離ワイヤレスリンク136を介してセルラーネットワーク121と通信する、一般的なモバイルデバイスまたはスマートフォンであり得る。そのようなセルラーネットワーク121は、3G、4G、およびLTEのような様々な技術を利用することができる。ネットワーク運用センター132は、セルラーネットワーク121を通る音声呼とデータトラフィックとを管理し、通常は、有線接続またはワイヤレス接続156によって1つまたは複数のサーバ130を含んでよく、またはそれに接続されてよい。サーバ130は、インターネット103への接続154を提供することができる。様々な実施形態において、モバイル近隣ブロードキャスト受信機138は、インターネット103によってワイヤレス識別送信機110(すなわち、サイティングメッセージ)から中心サーバ120への受信されたブロードキャストメッセージの報告を中継するための近隣ブロードキャスト受信機として動作するように、アプリケーションまたは他のソフトウェアモジュールによって構成されるモバイルデバイスであり得る。ある実施形態では、固定式の近隣ブロードキャスト受信機142はまた、基地局134への長距離ワイヤレスリンク136を介して、セルラーネットワーク121と通信することができる。
[0088]近隣ブロードキャスト受信機138、142は、ワイヤレス識別送信機110との接続(またはサイティング)を、インターネット103を介して中心サーバ120に報告するように構成され得る。たとえば、近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110のユーザのアイデンティティに対応するローリング識別子を含むサイティングメッセージを中心サーバ120に送信することができる。近隣ブロードキャスト受信機138、142がワイヤレス識別送信機110から識別子を受信するたびに、識別子は、接続の時間および近隣ブロードキャスト受信機138、142の位置と関連付けられ、この情報は、サイティングメッセージ内などで、中心サーバ120に送信され得る。いくつかの実施形態では、たとえば中心サーバ120によってブロードキャストまたはマルチキャストされるクエリメッセージに応答して、接続の識別子、時間、および位置が、後で報告するために、近隣ブロードキャスト受信機138、142(または中間のサーバ130、140)のメモリに記憶され得る。また、中心サーバ120は、サイティングメッセージによって報告された位置情報をデータベースに記憶することができ、この位置情報は、位置決め、追跡、さもなければワイヤレス識別送信機110の動きを監視するために使用され得る。
[0089]ある実施形態では、モバイル近隣ブロードキャスト受信機138は、固定式の受信機デバイス142と短距離ワイヤレス信号189を交換するように構成され得る。言い換えると、モバイル近隣ブロードキャスト受信機138は、ワイヤレス識別送信機110から短距離ワイヤレス信号114(すなわち、ブロードキャストメッセージ)を受信し、さらに、近隣ブロードキャスト受信機142による受信のために短距離ワイヤレス信号189を送信することが可能な、ワイヤレス識別送受信機として動作するように構成され得る。
[0090]ある実施形態では、近隣ブロードキャスト受信機138、142は、ローカルエリアネットワーク202の一部のようなワイヤレスルータ185にワイヤレス信号188を送信することができ、ワイヤレスルータ185はインターネット103への接続187を提供することができる。たとえば、固定式の近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110によってWiFiワイヤレスルータ185に送信されるブロードキャストメッセージからのデータを含む、サイティングメッセージを送信することができる。
[0091]中心サーバ120はまた、インターネット103に接続されてよく、これによって、近隣ブロードキャスト受信機142、138と中心サーバ120との間の通信が可能になる。上で説明されたように、中心サーバ120は、複数のコンポーネント、ブレード、または、近隣ブロードキャスト受信機142、138から受信されたサイティングメッセージとデータとを処理するための他のモジュールを含み得る。さらなる実施形態は、中心サーバ120と、ネットワーク運用センター132のようなモバイルデバイスネットワークコンポーネントのいずれかとの間に直接の接続(図示せず)を提供して、近隣ブロードキャスト受信機142、138および中心サーバ120へ、より直接的に接続することができる。
[0092]通信システム200はまた、自宅または職場のパーソナルコンピュータのようなコンピューティング端末124を含んでよく、ユーザはこれを通じて、インターネット103を介して中心サーバ120と通信し得る。そのような端末124は、親、警察、消防、主治医、および他の認証された機関などのユーザが、デバイス(たとえば、ワイヤレス識別送信機110)を登録し、中心サーバ120上の追跡記録にアクセスし、かつ/または、中心サーバ120が特定のワイヤレス識別送信機110に対する探索を開始することを要求することを、可能にし得る。ある実施形態では、ユーザは、そのような端末124を使用して、たとえば、ウェブポータルおよび/または中心サーバ120と関連付けられるユーザアカウントにアクセスすることによって、ワイヤレス識別送信機110、近隣ブロードキャスト受信機142、138(たとえば、中心サーバと関連付けられるクライアントソフトウェアを実行するように構成されるスマートフォン)、および/または識別送受信機(図示せず)を登録することができる。同様に、業者のような第三者が、端末124を使用して、ワイヤレス識別送信機110、近隣ブロードキャスト受信機142、138(たとえば、クライアントソフトウェアを実行しブロードキャストを中心サーバに中継するように構成される固定式の受信機)、および/または識別送受信機(図示せず)を登録することができる。
[0093]ある場所の中での近隣ブロードキャスト受信機138、142の位置に基づいて、複数の近隣ブロードキャスト受信機138、142は、ワイヤレス識別送信機110のブロードキャストエリア内にあってよく、ブロードキャストメッセージを同時に受信することができる。中心サーバ120は、近隣ブロードキャスト受信機138、142が、ワイヤレス識別送信機からのブロードキャストメッセージの受信を示すサイティングメッセージを同時に(またはある時間期間内に)送信するときを検出することができる。そのような同時のサイティングメッセージは、ブロードキャストの時点でワイヤレス識別送信機に関するより正確な近接情報を決定するために使用され得る。
[0094]通信システム200は、パッシブ情報収集モードおよび/またはアクティブ探索モードで動作することができる。パッシブ情報収集モードでは、近隣ブロードキャスト受信機138、142は、任意のワイヤレス識別送信機110からのブロードキャストを継続的にリッスンし、サイティングメッセージ(たとえば、識別子と、時間と、位置とを含む送信)を介してすべての識別子受信イベントを中心サーバ120に報告し得る。アクティブ探索が実行中ではない場合(すなわち、ある特定のワイヤレス識別送信機110を誰も探していない場合)、ワイヤレス識別送信機110のサイティングまたはワイヤレス識別送信機110からの受信されたブロードキャストメッセージは、より後の時点でのアクセスのために、近隣ブロードキャスト受信機138、142または中心サーバ120のメモリに記憶され得る。プライバシーを守るために、そのような記憶されたデータは、追跡されている人物または資産(asset)に応じて、1日、1周間、または1カ月などの、ある限られた時間の期間記憶され得る。そして、人物または資産が行方不明であることが発見されると、記憶されたデータは、関連するワイヤレス識別送信機110を突き止め(locate)追跡するために、または少なくとも最後に報告された位置を決定するために、直ちにアクセスされ得る。
[0095]パッシブ追跡モードの修正において、各近隣ブロードキャスト受信機138、142は、ある限られた時間の期間、ワイヤレス識別送信機110から受信されたブロードキャストメッセージ(または接触(コンタクト))に対応するIDと、時間と、位置とを記憶することができる。あるいは、そのような情報は、そのような近隣ブロードキャスト受信機138、142に接続されるサーバ130、140に記憶され得る。そして、ワイヤレス識別送信機110と関連付けられる人物または資産が行方不明であることが発見されると、中心サーバ120が、近隣ブロードキャスト受信機138、142(またはサーバ130、140)に、分析および中心サーバ120のデータベースへの記憶ために記憶されたデータ(たとえば、ワイヤレス識別送信機110との接触を示すデータベース)をダウンロードするように問い合わせることによって、探索が開始され得る。
[0096]ある実施形態では、モバイル近隣ブロードキャスト受信機138として動作するように構成される市民のモバイルデバイスに対する要求を制限するために、パッシブ追跡モードは、固定式の近隣ブロードキャスト受信機142上でのみ実施され得る。そのようなデバイスの数がより少ないことは、ワイヤレス識別送信機110の追跡の有効性がより低い可能性があるということを意味するが、この実施形態はそれでも、ブロードキャストメッセージの受信を可能にし得るので、交差点、高速道路の出入口、バス停、空港のような交通量の多いゾーンを通るワイヤレス識別送信機110の追跡を可能にし得る。
[0097]パッシブ情報収集モード/実施形態では、ユーザは、通信システム200を使用して、たとえば、要求を端末124から中心サーバ120に送信することによって、特定のワイヤレス識別送信機110の位置を要求することができる。たとえば、母親が、自宅のコンピュータ端末124にログインして、子供のバックパックの中にあるワイヤレス識別送信機110の位置を要求することができる。要求は、シリアル番号、コード、または、ワイヤレス識別送信機110に対応する他の識別子を含み得る。中心サーバ120は、シリアル番号、コード、または他の識別子について、記憶された識別メッセージを検索し、入力された情報に一致する任意の報告された位置を、そのような位置がサイティングメッセージを介して報告された時間とともに、返すことができる。さらなる実施形態では、親により入力されるシリアル番号またはコードは、要求されたワイヤレス識別送信機110がブロードキャストメッセージ中で伝え、近隣ブロードキャスト受信機138、142によって出されるサイティングメッセージ中で中心サーバ120に中継される、識別子と相互参照され得る。このようにして、データが継続的に収集されている場合でも、認証されたユーザ(すなわち、アクセスコード、パスワード、またはある特定のワイヤレス識別送信機110と関連付けられる他の秘密コードを知っている誰か)のみが、所与のワイヤレス識別送信機110に関する情報を取得することができる。
[0098]能動探索モード/実施形態では、中心サーバ120は、特定のワイヤレス識別送信機110(すなわち、「ターゲットの」ワイヤレス識別送信機)をアクティブに探索するように、近隣ブロードキャスト受信機138、142に指示することができる。アクティブ探索は、端末124から受信された要求に応答して開始され得る。そのような要求は、特定のワイヤレス識別送信機110の識別子、または、ワイヤレス識別送信機110の識別子と相互にリンクされる、もしくは相互にリンクされ得るアカウント番号/アカウント名を含み得る。中心サーバ120は、ブロードキャストまたはマルチキャストなどを介して、アクティブ化メッセージを近隣ブロードキャスト受信機138、142に送信することができ、アクティブ化メッセージは、特定のワイヤレス識別送信機110を探索するように近隣ブロードキャスト受信機138、142に指示することができ、ターゲットのワイヤレス識別送信機110の識別子(すなわち、ターゲットデバイスID)を含み得る。たとえば、ターゲットのワイヤレス識別送信機110に対するアクティブ探索に対応するアクティブ化メッセージは、ワイヤレス識別送信機110が予測不可能かつ中心サーバ120に知られている方式で定期的に変更するローリング識別子を含み得る。ある実施形態では、中心サーバ120によって送信され、ブロードキャストされ、またはマルチキャストされるアクティブ化メッセージは、特定のセクタ内、または特定の位置からの所与の距離内の近隣ブロードキャスト受信機138、142のみに送信され得る。あるいは、アクティブ化メッセージは、特定のセクタ、またはある特定の位置からの距離を特定して、近隣ブロードキャスト受信機138、142が、自身の既知の位置に基づいてアクティブ化メッセージが自身に適用可能かどうかを決定することを可能にし得る。このようにして、探索は、たとえば、ワイヤレス識別送信機110の最後の既知の位置または目撃のサイティングを包含するセクタのような、所与のエリアに集中させられ得る。このように探索を集中化させることによって、探索のセクタ内にない近隣ブロードキャスト受信機138、142は、アクティブ化される必要がない。
[0099]アクティブ探索モード/実施形態では、ターゲットデバイスIDを含む中心サーバ120からのアクティブ化メッセージを受信し、ターゲットデバイスIDが探索の特定されたセクタ内にあると決定したことに応答して、近隣ブロードキャスト受信機138、142は、識別子を有するブロードキャストメッセージをリッスンするように短距離無線(たとえば、Bluetooth無線)を構成することができる。言い換えると、近隣ブロードキャスト受信機138、142は、探索、および、アクティブ化メッセージに含まれる識別子(すなわち、ターゲットデバイスID)を探す識別子とのペアリング試行について、アクティブ化されたと見なされ得る。ワイヤレス識別送信機とのペアリングを利用しない実施形態では、受信されたブロードキャストメッセージ内の識別子をアクティブ化メッセージ内のターゲットデバイスIDと照合する近隣ブロードキャスト受信機138、142は、有線リンク146または長距離ワイヤレスリンク136を介して送信されるサイティングメッセージを介して、イベントを中心サーバ120に直ちに報告し得る。ワイヤレス識別送信機と近隣ブロードキャスト受信機との間でのメッセージのペアリングまたは交換を利用する実施形態では、近隣ブロードキャスト受信機138、142は、ターゲットデバイスIDをブロードキャストするデバイスとの通信ハンドシェイキングまたはペアリングをリッスンし、それのみを完了し、他のペアリング試行を無視することができる。この代替的な実施形態では、近隣ブロードキャスト受信機138、142は、アクティブ探索モードにある間、認証されていないデバイスとのペアリングから保護され得る。また、近隣ブロードキャスト受信機138、142は、デバイスIDが受信されるとすぐに通信リンクを終了するように、アクティブ探索モードにおけるペアリングプロセスを修正することができ、アクティブ探索モードにおける認証されないデバイスとのペアリングからさらに保護する。アクティブ探索モード/実施形態では、ターゲットデバイスIDを受信する近隣ブロードキャスト受信機138、142は、インターネット103への有線リンクまたはワイヤレスリンクを介して、そのイベントを中心サーバ120に直ちに報告することができる。上で言及されたように、そのような報告は、近隣ブロードキャスト受信機138、142の位置と、報告が直ちに送信されなかった場合の識別子が受信された時間とを含み得る。アクティブ探索モード/実施形態では、中心サーバ120によって受信された各サイティングメッセージは、たとえば、地図上で更新位置インジケータを示すウェブページの形式で、関心のある人物または機関に報告され得る。
[0100]さらに、アクティブ探索モード/実施形態では、警察、FBI、消防/救急、または他の権限をもつ人物などの、認証されたユーザは、通信システム200を使用して、たとえば、中心サーバ120にターゲットデバイスIDを与えて、探索されるべき位置またはセクタを探索するために端末124を使用することによって、特定のワイヤレス識別送信機110に対する探索をアクティブ化することができる。たとえば、子供が行方不明になったことを発見した母親は、警察に電話して、子供の衣服に隠されているワイヤレス識別送信機110の識別子を警察に教えることができる。探索がアクティブ化されると、中心サーバ120は、最初のターゲットの探索セクタ内の近隣ブロードキャスト受信機138、142に、警告(または、ワイヤレス識別送信機に対する探索がアクティブ化されたことを示すメッセージ)を送信することができる。関連するサイティングメッセージが受信されると報告される位置情報が地図上に表示されるように、中心サーバ120は次いで、探索エリアの地図を提示しほぼリアルタイムで管理され得るウェブページをアクティブ化することができる。認証されたユーザは次いで、ウェブサイト(またはサーバによって提供される他の情報)にアクセスして、直接の探索の努力に協力することができる。
[0101]当然、パッシブモードで近隣ブロードキャスト受信機138、142または中心サーバのデータベースに収集され記憶された情報は、たとえば、初期探索位置またはセクタを特定し、最近の位置と動きとを追跡し、ほぼリアルタイムの探索報告と組み合わされ得るサイティングメッセージによって報告される位置の履歴を提供/表示するために、アクティブ探索が開始されると使用され得る。
[0102]図3は、ワイヤレス識別送信機110(図3では「WIT」と呼ばれる)において実施するためのある実施形態の方法300と、近隣ブロードキャスト受信機142と、中心サーバ120とを示す。ブロック302において、ワイヤレス識別送信機110は、上で説明されたようなブロードキャストメッセージのような識別子を含むメッセージをブロードキャストし得る。たとえば、ワイヤレス識別送信機110は、本明細書で説明されるようなローリング識別子を含む、Bluetooth LEアドバタイズパケットをブロードキャストし得る。これは、ワイヤレス識別送信機110内のマイクロコントローラが、識別子をブロードキャストする時間になったと決定し、適切なブロードキャストメッセージ(たとえば、Bluetooth(登録商標)4.0プロトコルにおいてBluetooth LEデバイスに対して規定されるようなアドバタイズメントパケット)を構成し、そのパケットを短距離無線を介して送信することによって、ブロック302において達成され得る。
[0103]様々な実施形態において、ワイヤレス識別送信機(すなわち、ブロードキャストメッセージ)によってブロードキャストされるメッセージは、ローリング識別子のような識別子セグメントを含み得る。様々な実施形態において、ブロードキャストメッセージはまた、タイプセグメントのような追加のセグメントを含み得る。タイプセグメントは、ワイヤレス識別送信機のタイプを示し得る。たとえば、ワイヤレス識別送信機は、子供の安全のためのデバイス、犬の首輪、または店舗のセキュリティタグのような、様々な目的で販売され得る。ワイヤレス識別送信機は、意図される目的に基づいて、異なるタイプのセグメントを有し得る(たとえば、子供の安全のためのデバイスに対して1つのコード、犬の首輪に対して第2のコードなど)。タイプセグメントは、不変であり製造業者によって設定され得るが、識別子の残りの部分は各デバイスに固有であってよく、以下で説明されるようにローリングしてよい。タイプセグメントはまた、たとえば、ワイヤレス識別送信機が様々な目的または用途のためにリセットされたときなどに、ユーザによって変更され得る。
[0104]他の実施形態では、ブロードキャストメッセージはまた、近隣ブロードキャスト受信機によって実施されるべき命令またはコマンドを有する1つまたは複数の不変のまたは動的なセグメントを含み得る。そのようなコマンドセグメントはまた、中心サーバまたは他のネットワークデバイスに指示するために伝えられ得る。コマンドセグメントは、タイプセグメントと同様に、設定されるものもしくは不変であってよく、または、1つまたは複数の近隣ブロードキャスト受信機からのペアリングまたはデータのような様々な条件に基づいて、時間とともに変化してよい。そのようなコマンド設定はまた、ワイヤレス識別送信機のユーザによって構成され得る。第2のまたは追加のセグメントはまた、ワイヤレス識別送信機の状態を示し得る。たとえば、第2のセグメントは、残りの電力、またはバッテリが切れるまでの推定される残り時間を示し得る。近隣ブロードキャスト受信機または中心サーバは、この状態を解釈し、それに従って応答することができる。
[0105]図3に戻ると、ブロック304において、ワイヤレス識別送信機110はスリープモードに入り得る。たとえば、識別子を有するブロードキャストメッセージをブロードキャストした後で、ワイヤレス識別送信機110は、所定の時間の期間継続し得る電力節減状態に入るように構成され得る。様々な実施形態において、ワイヤレス識別送信機110は、所定の時間の間スリープ状態になってよく、スリープ状態に決してならなくてよく、または、様々な入力に基づいて決定される変化する時間の間スリープ状態になってよい。ブロック306において、ワイヤレス識別送信機110は、たとえば所定の期間が満了した後、スリープモードから起動(ウェイクアップ)する。ブロック308において、ワイヤレス識別送信機110は、ローリング識別子アルゴリズムのようなあるアルゴリズムから、新たなデバイス識別子を生成する。たとえば、ワイヤレス識別送信機110は、以下で説明されるように、擬似ランダム関数またはストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR)を使用して、ローリング識別子を生成する。ワイヤレス識別送信機110は次いで、ブロック302に戻り再びブロードキャストする。ある実施形態では、ブロードキャストメッセージは、ワイヤレス識別送信機がメッセージを受信することが可能かどうかを示す、タイミング、カウンタ、カウントダウン、またはスケジューリング情報を含み得る。たとえば、ブロードキャストメッセージは、ワイヤレス識別送信機がある規定された時間枠内に入来する構成メッセージを受け入れることを示し得る。様々な実施形態において、ブロック302〜308における動作は、識別情報送受信機(たとえば、識別送信機と近隣ブロードキャスト受信機の両方として動作するように構成されるスマートフォン)によって実行され得る。
[0106]上で言及されたように、ブロック308において使用されるアルゴリズム(またはローリング識別子アルゴリズム)は、ワイヤレス識別送信機110のアイデンティティ(たとえば、MACまたはBluetooth ID)、復号鍵、および/またはローリング識別子を生成するために使用されるアルゴリズムのいずれも知らないデバイスまたはシステムにより予測または認識するのが非常に困難である、ローリング識別子を生成し得る。図19に関して以下で論じられるように、アルゴリズム(または復号アルゴリズム)または復号鍵によって構成され、ワイヤレス識別送信機110アイデンティティを保持する中心サーバ120は、ローリング識別子を使用して、対応するアカウントまたはデバイスアイデンティティを決定することができる。方法300は、一例として、起動(ウェイク)およびブロードキャスト周期ごとに変化するローリング識別子を示すが、他の実施形態では、識別子は、1分に1回、1時間に1回などのように、より稀に変更されてよい。そのような実施形態では、ブロック308における新たな識別子を生成する動作は、指定された間隔のみで実行され得るので、それ以外の起動(ウェイクアップ)のとき(すなわち、ブロック306)には、ワイヤレス識別送信機110はブロック302に戻り識別子をブロードキャストし得る。ローリング識別子または他の符号化された識別子を生成するための様々なアルゴリズムが、以下で論じられる。
[0107]方法300はまた、近隣ブロードキャスト受信機142において実施され得る動作を示す。ブロック312において、近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110からブロードキャストメッセージを受信することができる。近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110の近隣(すなわち、通信範囲内)にあるとき、ブロードキャストメッセージを受信することができる。識別子が含まれているブロードキャストされたメッセージが受信されると、近隣ブロードキャスト受信機142は、受信されたブロードキャストメッセージ内のヘッダまたはメタデータを分析し、さらに、ブロードキャストメッセージ内の様々なデータを解析し評価することができる。ある実施形態では、ブロードキャストメッセージは、暗号化されたデータと暗号化されていないデータとを含んでよく、これらのデータを、近隣ブロードキャスト受信機142は、復号(decrypt)そうでなければアクセスするように構成されることもされないこともある。ブロック314において、近隣ブロードキャスト受信機142は、識別子と、位置情報と、ブロードキャストメッセージの受信に対応する時間とを含む、サイティングメッセージを中心サーバ120に送信し得る。この送信は、インターネットに結合されたセルラーデータネットワークのような、ワイヤレスワイドエリアネットワークを介して達成され得る。様々な実施形態において、ブロック312および314の動作は、固定式の近隣ブロードキャスト受信機、モバイル近隣ブロードキャスト受信機、または代替的に、識別送受信機(たとえば、送信機と受信機の両方として動作するように構成されるスマートフォン)によって実行され得る。
[0108]一般に、サイティングメッセージは、受信されたブロードキャストメッセージ(たとえば、メッセージサイズ、主題のインジケータなど)、近隣ブロードキャスト受信機の識別情報(たとえば、コード、ユーザ名など)のような近隣ブロードキャスト受信機142、近隣ブロードキャスト受信機142がサーバに関して連携しているサービスの指示(たとえば、近隣ブロードキャスト受信機142が、特定のベンダー、業者、エリアなどのための追跡プログラミングに参加している)、さらには、ブロードキャストメッセージの受信の時点での条件を表し得る、メタデータまたはヘッダ情報を含み得る。たとえば、サイティングメッセージは、受信されたブロードキャストメッセージの信号強度情報を含み得る。ある実施形態では、サイティングメッセージは、全般的な話題、主題、またはサイティングメッセージの理由を表す、コード、フラグ、または他のインジケータを各々含み得る。たとえば、サイティングメッセージは、アクティブな警告に対する関係を示すフラグを含み得る。
[0109]加えて、サイティングメッセージは、近隣ブロードキャスト受信機142の位置情報を含み得る。特に、サイティングメッセージは、位置に関するネットワーク固有情報を示し得る。たとえば、サイティングメッセージは、セルサイト(たとえば、セルサイトID)、セルラーネットワークタワー(たとえば、セルタワーID)、または、モバイル近隣ブロードキャスト受信機がブロードキャストメッセージの受信の時点で通信していた他のワイヤレスネットワークを示し得る。さらに、サイティングメッセージは、近隣ブロードキャスト受信機142に含まれる全地球測位システム(GPS)またはチップからのデータに基づく、より精緻な位置情報を含み得る。たとえば、近隣ブロードキャスト受信機142は、ブロードキャストメッセージの受信の時点での近隣ブロードキャスト受信機142のGPS情報(すなわち、GPS座標)を決定し得、その座標を対応するサイティングメッセージ中の座標を含ませる。ある実施形態では、サイティングメッセージはまた、加速度計、ジャイロスコープ、磁力計などのような、近隣ブロードキャスト受信機142内の様々なセンサからのセンサデータを含み得る。さらに、サイティングメッセージは、サイティングメッセージの正当性を、既知の、登録された、さもなければ有効な近隣ブロードキャスト受信機142から来たものとして確認し得る、認証情報を含み得る。たとえば、サイティングメッセージに含まれる認証情報は、近隣ブロードキャスト受信機と中心サーバ120との間で共有される、秘密コード、証明書、またはハッシュデータを含み得る。
[0110]様々な実施形態において、近隣ブロードキャスト受信機142は、ワイヤレス識別送信機110から受信されたブロードキャストメッセージにデータと様々な情報とを付加することによって、サイティングメッセージを生成する。ある実施形態では、サイティングメッセージは、受信されたブロードキャストメッセージの全体を含んでよく、または代替的に、近隣ブロードキャスト受信機142が重要であると決定する受信されたブロードキャストメッセージの部分のみを含んでよい。たとえば、近隣ブロードキャスト受信機142は、対応するサイティングメッセージを生成する前に、ブロードキャストメッセージから特定のヘッダまたはメタデータ情報を抽出する。別の例として、近隣ブロードキャスト受信機142は、ブロードキャストメッセージ内のデータを圧縮し、縮約し、切り取り、および/または要約する。別の実施形態では、近隣ブロードキャスト受信機142は、受信されたブロードキャストメッセージを中心サーバに単にリダイレクトし、中継し、または再送信する。
[0111]サイティングメッセージは、インターネットプロトコル、長距離無線通信リンク、または短距離無線を介して通信するように構成される、ワイヤレスセルラーネットワーク、ローカルエリアネットワークのようなワイヤレス通信リンクまたは有線通信リンクを介して送信され得る。たとえば、近隣ブロードキャスト受信機142は、インターネットを介してセルラーネットワークを通じてサイティングメッセージを中心サーバに送信する。別の例として、近隣ブロードキャスト受信機142は、有線イーサネット(登録商標)接続を介してサイティングメッセージを送信する。
[0112]図3を参照すると、方法300はまた、中心サーバ120において実装され得る動作を示す。ブロック322において、中心サーバ120は、近隣ブロードキャスト受信機142からサイティングメッセージを受信し得る。ブロック324において、中心サーバ120は、サイティングメッセージによって示される識別子をワイヤレス識別送信機110と関連付けることができる。中心サーバ120は、サイティングメッセージ内の識別子を、ユーザによって登録/作成されたアカウントと関連付けることができる。識別子を特定のワイヤレス識別送信機110またはユーザアカウントと関連付けることは、識別子をワイヤレス識別送信機110またはユーザアカウントに対応するコードのデータベースと比較して、サイティングメッセージからの情報(たとえば、位置情報)が記憶されるべきデータベース記録を決定することによって、達成され得る。いくつかの実施形態では、ワイヤレス識別送信機110の識別子は頻繁に変化する(ローリングする)ので、この処理は、サイティングメッセージにおいて受信された識別子を、擬似乱数生成器アルゴリズムによって生成されるいくつかの可能なシリアルコードと比較すること、または、受信された識別子を入力として使用し対応するアカウント番号を出力する逆方向アルゴリズムを適用することを伴い得る。ブロック326において、中心サーバ120は、位置情報および時間データのようなサイティングメッセージからのデータを、データベースに記憶することができる。たとえば、中心サーバ120は、受信されたサイティングメッセージを評価することに基づいて、ブロードキャストメッセージが受信されたときの近隣ブロードキャスト受信機142の位置を決定し、ワイヤレス識別送信機110またはそのユーザ/所有者とリンクされたデータベースにそのデータを記憶することができる。
[0113]ブロック340において、中心サーバ120は、サイティングメッセージに応答して動作を実行し得、たとえば、メッセージを受信者に送信し、クーポンを送信し、および/または報酬を計算する。ある実施形態では、中心サーバ120は、近隣ブロードキャスト受信機142のような受信者に返信メッセージを送信し、返信メッセージは、近隣ブロードキャスト受信機142が受信されたブロードキャストメッセージに対しどのように応答し得るかを示す、命令、ソフトウェア、またはコードを含む。たとえば、返信メッセージは、リンクアドバタイズメントメッセージを送信するように、近隣ブロードキャスト受信機142に指示する。中心サーバからのそのようなメッセージの受信者は、登録されたサービス(たとえば、業者、救急隊員)のコンピューティングデバイス、ユーザのモバイルデバイス、および近隣ブロードキャスト受信機(たとえば、ブロードキャストメッセージを受信した近隣ブロードキャスト受信機142)を含む、様々なデバイスと関係者とを含み得る。別の実施形態では、中心サーバ120は、記憶されたデータを使用して、ある指定されたエリアにワイヤレス識別送信機110が入ったとき、その中にいるとき、および/またはそこから離れたときを特定することができる。言い換えると、中心サーバ120は、ワイヤレス識別送信機110が近隣の範囲内に来たとき、近隣の範囲内にとどまっているとき、または近隣ブロードキャスト受信機142の近隣から離れたときを、特定することができる。
[0114]図4Aは、起動(ブートアップ)動作を実行した後に構成設定を受信する、ワイヤレス識別送信機(図4Aでは「WIT」と呼ばれる)のためのある実施形態の方法400を示す。通常、ワイヤレス識別送信機は、片方向の通信のみを実行することができ、近隣ブロードキャスト受信機による受信のために信号をブロードキャストする。しかしながら、ワイヤレス識別送信機は、同様の短距離ワイヤレスシグナリング能力を有する他のデバイス(たとえば、Bluetooth LE送受信機)との双方向通信に選択的に関与するように構成され得る。具体的には、初期化動作(または「起動」)の際に、ワイヤレス識別送信機は、近隣ブロードキャスト受信機からの入来する短距離ワイヤレス通信を受信するように構成され得る。たとえば、バッテリが交換されるとき、または初めて装着されるとき、ワイヤレス識別送信機は、ある事前に定義された時間の期間、たとえば60秒間、入来するBluetoothパケットを受け入れることができる。あるいは、ワイヤレス識別送信機は、電力周期の一部として入来するメッセージを受信する(たとえば、ワイヤレス識別送信機の再起動(リブート)の後の60秒間受信する)ことができる。
[0115]そのような入来する短距離ワイヤレス通信は、様々な機能を実行するためにワイヤレス識別送信機によって利用される構成パラメータの値を設定するための、命令、ソフトウェア、ファームウェア、コマンド、または他のコードを含み得る。具体的には、入来する通信は、ワイヤレス識別送信機が、ワイヤレス識別送信機の識別情報を含むブロードキャストメッセージを送信することと関連付けられる確立された構成パラメータを設定または修正するために使用し得る、構成設定(または値)を含み得る。ある実施形態では、構成設定を含む入来する通信は、送信者と受信者(すなわち、ワイヤレス識別送信機)との間のペアリング動作を必要としないことがある、Bluetooth信号(たとえば、セッタまたはゲッタ)であり得る。言い換えると、入来する通信は、ペアリングしていないBluetoothアドバタイズメントであり得る。
[0116]構成パラメータは、ブロードキャストメッセージを送信するための送信間隔(すなわち、どの程度頻繁にワイヤレス識別送信機が、そのアイデンティティを含むパケットをブロードキャストすべきか)と、ブロードキャストメッセージを送信するための送信電力(すなわち、ブロードキャストするときにどのような信号強度を使用するか)とを含み得る。たとえば、受信された構成設定は、ワイヤレス識別送信機の正確な追跡を支援しつつバッテリの電力を節減するように構成される方式で、ワイヤレス識別送信機が識別子をブロードキャストする間隔(すなわち、ブロードキャスト頻度)を変化させることができる。送信電力構成パラメータを設定することは、ワイヤレス識別送信機のバッテリ動作時間に影響を与え得る(たとえば、より長い間隔はより長いスリープモードを含み得るので、消費電力が少なくなる)ので、上記のことは重要であり得る。ある実施形態では、構成パラメータはまた、製造業者または管理関係者(たとえば、中心サーバ)によって設定または修正され得る、デバッグパラメータを含み得る。デバッグパラメータは、ワイヤレス識別送信機によって実行されるソフトウェアまたはアルゴリズムによって利用されてよく、ワイヤレス識別送信機がいつブロードキャストすべき新たな識別子を生成すべきか(たとえば、新たなローリング識別子またはBluetooth MACアドレス識別子を生成するための間隔)を示し得る。別の実施形態では、構成設定を伴う入来する通信は、たとえば符号化モードに入る/符号化モードから出ることなどによって、ブロードキャストメッセージ内で表されるデータを変更するようにワイヤレス識別送信機に指示するコマンドを含み得る。あるいは、入来する通信は、近距離無線通信(NFC)を模擬するようにブロードキャスト信号範囲を短くするための、ワイヤレス識別送信機に対する命令を含み得る。
[0117]ブロック402において、ワイヤレス識別送信機が起動(ブートアップ)し得る。言い換えると、ワイヤレス識別送信機は、休止状態、スリープ状態、休眠状態、さもなければ非アクティブ化された状態から動作するように、活性化され、初期化され、さもなければ構成され得る。様々な実施形態において、起動動作は、ユーザ入力(たとえば、ボタンの押下)、ワイヤレス識別送信機へのバッテリの装着、または短距離ワイヤレス信号(たとえば、アクティブ化信号)の受信に応答して、実行され得る。ブロック403において、ワイヤレス識別送信機の短距離無線が、アクティブ化され得る。このアクティブ化は、タイマーによって、または、起動動作が実行されてからある期間が満了したとマイクロコントローラが決定することによって、または、起動動作と同時に達成され得る。ある実施形態では、短距離無線のアクティブ化は、ブロック402における起動動作内のルーチンであり得る。
[0118]ブロック404において、ワイヤレス識別送信機は、ワイヤレス識別送信機において設定され得る構成パラメータが存在することを示す、構成メッセージをブロードキャストすることができる。たとえば、構成メッセージは、ワイヤレス識別送信機のアイデンティティ(または識別子)、さらには、ある数またはタイプの構成パラメータが後続の短距離ワイヤレス信号によって設定され、修正され、または初期化され得るという指示、を含み得る。ある実施形態では、構成メッセージは、送信間隔のような、設定されることが可能な構成パラメータのリストを含み得る。
[0119]ある代替的な実施形態では、構成メッセージは、ワイヤレス識別送信機が構成設定を受信することが可能であることのインジケータを含み得る。そのような実施形態では、近接した近隣ブロードキャスト受信機のような任意の応答するデバイスが、構成パラメータのリストを要求する応答(たとえば、Bluetooth LE信号)を送信することができる。そのような要求を受信したことに応答して、モバイル近隣ブロードキャスト受信機は、構成パラメータのリストを含む第2のメッセージを送信し得る。
[0120]決定ブロック406において、ワイヤレス識別送信機は、たとえば近接した近隣ブロードキャスト受信機または識別送受信機からの短距離ワイヤレス信号において、構成設定が受信されるかどうかを決定することができる。ワイヤレス識別送信機は、短距離無線を監視して、応答が近接したデバイスから受信されるかどうかを決定することができる。応答は、ワイヤレス識別送信機のマイクロコントローラが認識できる単純な応答パケットまたはパルスの形式、または代替的に、Bluetooth LEプロトコルに従ったアドバタイズメントの形式であり得る。構成設定が受信されると(すなわち、決定ブロック406=「はい」)、ブロック408において、ワイヤレス識別送信機は、受信された構成設定に基づいてパラメータを設定し得る。たとえば、ワイヤレス識別送信機は、ワイヤレス識別送信機がどの程度頻繁にブロードキャストメッセージを送信するかを示す値を設定することができる。構成設定が受信されない場合(すなわち、決定ブロック406=「いいえ」)、または、ワイヤレス識別送信機がブロック408において動作を実行する場合、決定ブロック410において、ワイヤレス識別送信機は、構成期間が経過したかどうかを決定することができる。たとえば、ワイヤレス識別送信機は、カウンタまたはタイマーを評価して、起動(ブートアップ)動作が実行されてから事前に定義された秒数(たとえば、60秒)が経過したかどうかを決定することができる。構成期間が経過していない場合(すなわち、決定ブロック410=「いいえ」)、オプションのブロック411において、ワイヤレス識別送信機は、数ミリ秒、数秒などのようなある期間待機し、次いで、ブロック404において動作を継続することができる。
[0121]しかしながら、構成期間が経過した場合(すなわち、決定ブロック410=「はい」)、ブロック302’において、ワイヤレス識別送信機は、構成パラメータに基づいて識別子を含むメッセージをブロードキャストし得る。たとえば、ワイヤレス識別送信機は、近くの近隣ブロードキャスト受信機から構成設定(または値)を受信したことに応答して、構成パラメータセットによって示される信号強度でブロードキャストメッセージを送信し得る。オプションのブロック412において、ワイヤレス識別送信機は、送信間隔構成パラメータのような構成パラメータに基づくある期間、スリープ状態になることができる。ブロック308において、ワイヤレス識別送信機は、あるアルゴリズムから新たなデバイス識別子(たとえば、ローリング識別子)を生成し、ブロック302’の動作を継続することができる。
[0122]代替的な実施形態では、ワイヤレス識別送信機は、クロックタイミング(または時計信号)、ユーザからの検出された入力(たとえば、検出されたボタンの押下)、または、以前に受信された信号の中の情報に基づいて、近隣ブロードキャスト受信機から入来するメッセージを受信するように構成され得る(たとえば、近隣ブロードキャスト受信機からの受信されたメッセージは、特定の今後の時間において後続のメッセージのために利用可能になるようにワイヤレス識別送信機に指示し得る)。
[0123]図4Bは、起動(ブートアップ)動作を実行した後に構成設定を受信し、構成設定に基づいてメッセージをブロードキャストする、ワイヤレス識別送信機(図4Bでは「WIT」と呼ばれる)のためのある実施形態の方法450を示す。ワイヤレス識別送信機が、近接している近隣ブロードキャスト受信機からの構成メッセージによって設定され得る構成パラメータに基づいて様々な識別子(たとえば、ローリング識別子)および/またはBluetoothマシンアドレス(すなわち、BT MACアドレス)を生成するように構成され得ることを除き、方法450は上で説明された方法400と同様である。一般に、ワイヤレス識別送信機がBluetooth無線(たとえば、Bluetooth LEなど)を介してブロードキャストメッセージを送信するように構成される場合、Bluetooth信号またはパケットは、信号を送信するために使用されるBluetooth装置を示す情報を含み得る。近接している近隣ブロードキャスト受信機から受信されるデバッグセット値に基づいて、ワイヤレス識別送信機は、可変の間隔でブロードキャストメッセージ内で示される識別子および/またはBluetooth MACアドレスを変更するように構成され得る。
[0124]ブロック402において、ワイヤレス識別送信機が起動(ブートアップ)し得る。ブロック403において、ワイヤレス識別送信機の短距離無線が、アクティブ化され得る。ブロック404において、ワイヤレス識別送信機は、ワイヤレス識別送信機において設定され得る構成パラメータが存在することを示す、構成メッセージをブロードキャストすることができる。決定ブロック406において、ワイヤレス識別送信機は、たとえば近接した近隣ブロードキャスト受信機または識別送受信機からの短距離ワイヤレス信号において、構成設定が受信されるかどうかを決定することができる。構成設定が受信されると(すなわち、決定ブロック406=「はい」)、ブロック408において、ワイヤレス識別送信機は、受信された構成設定に基づいてパラメータを設定し得る。構成設定が受信されない場合(すなわち、決定ブロック406=「いいえ」)、または、ワイヤレス識別送信機がブロック408において動作を実行する場合、決定ブロック410において、ワイヤレス識別送信機は、構成期間が経過したかどうかを決定し得る。構成期間が経過していない場合(すなわち、決定ブロック410=「いいえ」)、オプションのブロック411において、ワイヤレス識別送信機は、数ミリ秒、数秒などのようなある期間待機し、次いで、ブロック404において動作を継続し得る。しかしながら、構成期間が経過した場合(すなわち、決定ブロック410=「はい」)、ブロック302’において、ワイヤレス識別送信機は、構成パラメータに基づいて識別子を含むメッセージをブロードキャストし得る。
[0125]決定ブロック452において、ワイヤレス識別送信機は、それが新たなBluetooth MACアドレスを必要とするかどうかを決定することができる。言い換えると、ワイヤレス識別送信機は、構成パラメータを評価して、Bluetooth LEプロトコルを使用するブロードキャストメッセージとともに使用するための新たなBluetooth MACアドレスを生成しなければならない頻度を決定し得る。したがって、ワイヤレス識別送信機は、ローリングBluetooth MACアドレスを利用するように構成され得る。ある実施形態では、ワイヤレス識別送信機は、最後に生成されたBluetooth MACアドレスから経過した時間(またはブロードキャストの数)を示す記憶された情報を比較し得る。あるいは、ワイヤレス識別送信機は、各ブロードキャストのために新たなBluetooth MACアドレスを生成し得る。新たなBluetooth MACアドレスが必要である場合(すなわち、決定ブロック452=「はい」)、ブロック454において、ワイヤレス識別送信機は、新たなBluetooth MACアドレスを生成し得る。ある実施形態では、ワイヤレス識別送信機は、Bluetoothプロトコル内で提供されるコマンド(たとえば、APIコールまたはコマンド)を利用して、新たなBluetooth MACアドレスを生成し得る。加えて、新たなBluetooth MACアドレスは、解決不可能、またはランダムであることがあり、さもなければ、ワイヤレス識別送信機と接触(コンタクト)するために任意の受信デバイスが使用し得る情報を欠いていることがある。たとえば、Bluetooth MACアドレスは、ブロードキャストメッセージ中で示される場合、応答送信を指示するため、またはワイヤレス識別送信機とペアリングするために、近隣ブロードキャスト受信機によって使用され得ない。
[0126]別の実施形態では、近隣ブロードキャスト受信機とワイヤレス識別送信機との間のペアリング通信(たとえば、Bluetoothペアリングを介した)に対応するために、新たなBluetooth MACアドレスは、ブロードキャストメッセージを受信する受信者近隣ブロードキャスト受信機がワイヤレス識別送信機の実際のBluetooth MACアドレスを決定できるように、あるアルゴリズムによって生成され得る。言い換えると、新たなBluetooth MACアドレスは、既知のアルゴリズム、秘密鍵、暗号化、または、ワイヤレス識別送信機と、ワイヤレス識別送信機とのペアリングされた通信を確立することが認証されている認証されたまたは関連付けられた近隣ブロードキャスト受信機とに知られている、他の技法を使用して、生成され得る。様々な実施形態において、図20〜図24Bを参照して以下で説明される方法は、ワイヤレス識別送信機および中心サーバがローリング識別子を復号し得るのと同様の方法で、ブロードキャストメッセージ中で示される難読化されたBluetooth MACアドレスを復号するために、ワイヤレス識別送信機および近隣ブロードキャスト受信機によって実行され得る。
[0127]新たなBluetooth MACアドレスが必要ではない場合(すなわち、決定ブロック452=「いいえ」)、または新たなBluetooth MACアドレスがブロック454において生成される場合、決定ブロック456において、ワイヤレス識別送信機デバイスは、新たなデバイス識別子(たとえば、ローリング識別子)が必要であるかどうかを決定することができる。新たなBluetooth MACアドレスと同様に、ワイヤレス識別送信機は、構成パラメータを評価して、新たなローリング識別子をいつ生成するかを決定し得る。たとえば、記憶された構成パラメータは、新たなデバイスローリング識別子が1秒ごと、1分ごと、または1時間後に必要とされることを示し得る。新たな識別子が必要である場合(すなわち、決定ブロック456=「はい」)、ブロック308において、ワイヤレス識別送信機は、あるアルゴリズムから新たなデバイス識別子(たとえば、ローリング識別子)を生成し得る。新たなデバイス識別子が必要ではない場合(すなわち、決定ブロック456=「いいえ」)、または新たなデバイス識別子がブロック308においてそのアルゴリズムから生成された場合、オプションのブロック412において、ワイヤレス識別送信機は、構成パラメータに基づいてある期間スリープ状態になり、ブロック302’の動作を継続することができる。
[0128]図5は、近隣ブロードキャスト受信機との双方向ワイヤレス通信を実行する、ワイヤレス識別送信機のためのある実施形態の方法550を示す。上で説明されたように、ワイヤレス識別送信機は通常、近隣ブロードキャスト受信機が受信し、使用し、中継するためのブロードキャストメッセージを送信することのような、片方向のシグナリングのために使用され得る。しかしながら、ワイヤレス識別送信機は、何らかの動作(たとえば、センサのアクティブ化)を実行するように送信機に指示するファームウェア、ソフトウェア命令、またはトリガ信号、構成データ、および、ブロードキャストメッセージを送信するためにワイヤレス識別送信機が使用し得る他の情報を受信するために、双方向通信を行うように構成され得る。そのような双方向通信は、Bluetooth無線のような短距離無線送受信機を含むワイヤレス識別送信機に対して利用可能であり得る。しかしながら、ワイヤレス識別送信機は、電力消費を最小化しバッテリ動作時間を最大化するように、近隣ブロードキャスト受信機との双方向通信に選択的に関与するように構成され得る。ある実施形態では、ワイヤレス識別送信機は、ワイヤレス識別送信機が近隣ブロードキャスト受信機からのメッセージを受信するために利用可能であり得る時間の期間を近隣ブロードキャスト受信機に示すメッセージをブロードキャストし、ある限られた、または事前に定められた時間の期間、メッセージを受信し得る。
[0129]ブロック552において、ワイヤレス識別送信機は、ワイヤレス識別送信機がメッセージを受信できない期間の始まり(または初期化)を示すためのカウンタ変数のような、カウンタをリセットし得る。カウンタは、値0にリセットされ得、方法550の動作の間、予め定められた数へとインクリメントされる。あるいは、カウンタは、予め定められた数へとリセットまたは初期化され、値0へとデクリメントされてもよい。カウンタ変数の使用は、ワイヤレス識別送信機がメッセージを受信するためにいつ自身を構成するかを決定するための、非限定的で例示的な技法にすぎない。代替的な実施形態では、ワイヤレス識別送信機は代わりに、クロックタイミング(または時計信号)、ユーザからの検出された入力(たとえば、検出されたボタンの押下)、以前に受信された信号の中の情報(たとえば、近隣ブロードキャスト受信機からの受信されたメッセージは、特定の今後の時間において後続のメッセージのために利用可能になるようにワイヤレス識別送信機に指示し得る)、または、パワーサイクリング(たとえば、1つのそのような時間は、ワイヤレス識別送信機の最初の起動(ブートアップ)または再起動(リブート)の後の60秒間であり得る)に基づいて、入来するメッセージを受信することがいつ可能であるべきかを、決定し得る。
[0130]ある実施形態では、ワイヤレス識別送信機は、様々な近隣ブロードキャスト受信機(たとえば、スマートフォン、ある場所の全体をリッスンする無線など)、および/または中心サーバによって知られており大まかに追跡されているノンスまたはカウンタ変数を保持するか、または、大まかにクロック同期し得る。たとえば、ワイヤレス識別送信機がアクティブ化されると(たとえば、オンされる、バッテリの装着によって初期化されるなど)、ユーザは、中心サーバがワイヤレス識別送信機内のノンス値またはカウンタ値またはクロックタイミングを推定することを可能にする情報とともにワイヤレス識別送信機の識別情報を記憶する中心サーバに、ワイヤレス識別送信機を登録し得る。ある実施形態では、そのようなノンスまたはカウンタ変数、またはクロック同期は、ワイヤレス識別送信機アイデンティティを明確にするために使用されてよく、かつ/または、難読化されたもしくは符号化されたメッセージのための暗号鍵として使用されてよい。そのような登録および同期の動作は、以下でさらに説明される。
[0131]ブロック554において、ワイヤレス識別送信機は、識別情報と、カウンタと、メッセージを受信することが可能な時間とを含むメッセージを生成し得る。生成されたメッセージは、ワイヤレス識別送信機のアイデンティティ(たとえば、シリアルコード/番号、ユーザ名、またはローリング識別子)についての情報を含み得る。ある実施形態では、生成されたメッセージは、ワイヤレス識別送信機のアイデンティティおよび/またはそのユーザを近隣ブロードキャスト受信機が決定するのを防ぐために、暗号化され、符号化され、さもなければ不明瞭にされ得る。たとえば、生成されたメッセージは、ワイヤレス識別送信機および中心サーバのみに知られているが近隣ブロードキャスト受信機には知られていない、ローリング識別子またはコードを利用し得る。
[0132]生成されたメッセージはまた、ワイヤレス識別送信機が近隣ブロードキャスト受信機のための通信を受け入れることが可能であり得る時間または条件を示す情報を含み得る。たとえば、メッセージは、カウンタの現在の値を表し、または、ワイヤレス識別送信機が利用可能であり得るときを示すカウントダウンタイマーを示すことができる。別の実施形態では、生成されたメッセージは、ワイヤレス識別送信機への送信の成功を可能にするための、近隣ブロードキャスト受信機に対する命令を含み得る。たとえば、生成されたメッセージは、近隣ブロードキャスト受信機によってワイヤレス識別送信機に送信される任意のメッセージに対する仕様(たとえば、要求されるコード、コンテンツ、配信時間など)を含み得る。
[0133]ブロック556において、送信機は、Bluetooth LEパケットのような短距離ワイヤレス送信を介して、生成されたメッセージをブロードキャストし得る。短距離ブロードキャストの範囲内にある場合、近隣ブロードキャスト受信機は、図11を参照して以下で説明されるように、ブロードキャストを受信し処理することができる。
[0134]ワイヤレス識別送信機は、各々のカウンタ時間期間に対して複数回、同じ生成されたメッセージを定期的にブロードキャストし得る。言い換えると、ワイヤレス識別送信機は、カウンタの可変値を修正する前に、生成されたメッセージを2回以上ブロードキャストし得る。決定ブロック558において、ワイヤレス識別送信機は、所定のカウンタ時間期間が満了したかどうかを決定し得る。カウンタ時間期間が満了していない場合(すなわち、決定ブロック558=「いいえ」)、ワイヤレス識別送信機は、ブロック556において、当該生成されたメッセージを定期的にブロードキャストし続けることができる。
[0135]カウンタ時間期間が満了した場合(すなわち、決定ブロック558=「はい」)、ブロック560において、ワイヤレス識別送信機は、カウンタをインクリメントし、決定ブロック562において、カウンタ値に基づいて、ワイヤレス識別送信機がメッセージを受信することが可能になったかどうかを決定することができる。たとえば、ワイヤレス識別送信機は、現在のカウンタの可変値を予め定められた最大(または最小)カウンタ値と比較する。上で述べられたように、様々な他の実施形態では、ワイヤレス識別送信機は、ワイヤレス識別送信機内に記憶された時間または命令の他の評価に基づいて、メッセージを受信することが可能かどうかを決定し得る。
[0136]メッセージを受信することが可能ではない場合(すなわち、決定ブロック562=「いいえ」)、ワイヤレス識別送信機は、ブロック554における動作を継続して、ブロードキャストする新たなメッセージを生成し得る。ワイヤレス識別送信機がメッセージを受信することが可能である場合(すなわち、決定ブロック562=「はい」)、ブロック564において、ワイヤレス識別送信機は、たとえば、入来する短距離無線送信について受信機回路を監視することによって、入来するメッセージをリッスンし、ブロック566において、ワイヤレス識別送信機は、プロセッサ上で実行されるソフトウェアもしくは動作、またはワイヤレス識別送信機内のワイヤレスモデムなどによって、あらゆる受信された入来するメッセージを処理し得る。
[0137]決定ブロック568において、ワイヤレス識別送信機は、受信時間期間が満了したかどうかを決定し得る。言い換えると、ワイヤレス識別送信機は、入来するメッセージがまだ受信され得るかを決定し得る。入来するメッセージを受信するための時間期間は、ワイヤレス識別送信機によって管理されるカウンタ変数、時計信号の指示、または受信されたメッセージ内の情報に基づき得る。受信時間期間が満了していない場合(すなわち、決定ブロック568=「いいえ」)、ワイヤレス識別送信機は、ブロック564において、入来するメッセージをリッスンし続けることができる。しかしながら、受信時間期間が満了している場合(すなわち、決定ブロック568=「はい」)、ワイヤレス識別送信機は、ブロック552に戻ることによって、処理を繰り返すことができる。
[0138]図6は、モバイル近隣ブロードキャスト受信機138内の様々なモジュールの図600を示す。上で説明されたように、近隣ブロードキャスト受信機は、建物の周りに配置された専用デバイスなどの固定式の近隣ブロードキャスト受信機と、ワイヤレス識別送信機110からのブロードキャストメッセージを受信し長距離通信を介して(たとえば、WiFiまたはセルラーネットワークを介して)中心サーバ120へとインターネット103を通じてサイティングメッセージを送信するための動作を実行するように構成されるモバイルデバイスのような、モバイル近隣ブロードキャスト受信機138とを含み得る。様々なモジュールおよびコンポーネントが、モバイル近隣ブロードキャスト受信機138内の要素に関して以下で説明されるが、様々な実施形態では、固定式の近隣ブロードキャスト受信機のような任意の近隣ブロードキャスト受信機が、同様のモジュールおよび/またはコンポーネントを含み得る。
[0139]モバイル近隣ブロードキャスト受信機138は、近接したワイヤレス識別送信機110からの受信されたブロードキャストメッセージを処理するために利用される、ソフトウェア、命令、ルーチン、アプリケーション、動作、または他の回路であり得る、コアクライアントモジュール115を含み得る。コアクライアントモジュール115はまた、近隣ブロードキャスト受信機142、138と中心サーバ120との間の通信を処理することができ、たとえば、サイティングメッセージを送信し、中心サーバ120から返信メッセージを受信する。たとえば、コアクライアントモジュール115は、サイティングメッセージのアップロードまたは送信などの動作を、ユーザからの対話を伴わずに実行する、バックグラウンドサービスとして動作し得る。
[0140]コアクライアントモジュール115は、ブロードキャストメッセージおよび/もしくはサイティングメッセージに関する、アプリケーションプログラミングインターフェースデータ、コード、または他のコマンドに対応する、APIコンポーネント606を含み得る。たとえば、APIコンポーネント606は、ワイヤレス識別送信機110から受信されたBluetooth LEアドバタイズパケットをリッスンするとき、近隣ブロードキャスト受信機によって利用され得る。別の例として、APIコンポーネント606は、モバイル近隣ブロードキャスト受信機138を登録して、ワイヤレス識別送信機110に対応する通知、警告、または他の通信を受信するために利用され得る。コアクライアントモジュール115はまた、受信されたブロードキャストメッセージを処理するための、認証システムコンポーネント608を含み得る。たとえば、モバイル近隣ブロードキャスト受信機138は、認証要求のためのoAuthと、承認された通信相手のためのxAuthとをサポートすることができる。コアクライアントモジュール115はまた、無線固有サイティング受信機コンポーネント610(たとえば、Bluetooth LE、LTE−D、WiFi、および他の通信を処理するためのコンポーネント)と、運用、管理、および保守(またはOA&M)モジュール612と、ワイヤレス識別送信機ネットワークマネージャコンポーネント614と、記憶された先読み識別子に関するイベント登録コンポーネント616と、サイティングマネージャコンポーネント618とを含み得る。ある実施形態では、イベント登録コンポーネント616は、中心サーバ120からダウンロードされ特定のワイヤレス識別送信機110に対応する多数のローリング識別子、たとえば、ある時間枠の間にワイヤレス識別送信機110によってブロードキャストされるあり得るローリング識別子と一致し得るローリング識別子のセットを、記憶することができる。
[0141]多くの現代のモバイルデバイスのように、モバイル近隣ブロードキャスト受信機138は、第三者アプリケーション(または「アプリ」)を実行するように構成され得るので、様々な第三者(たとえば、業者)によって提供されるアプリケーションに関するソフトウェア命令とルーチンとを、実行し、管理し、さもなければ実施することができる、第三者アプリケーションモジュール116を含み得る。たとえば、第三者アプリケーションモジュール116は、様々な第三者アプリケーションによって使用されるべき様々なデータをコアクライアントモジュール115から受信することができる。例示の目的で、中心サーバ120に登録された百貨店に関連する第三者アプリケーションは、モバイル近隣ブロードキャスト受信機138のユーザがその百貨店(たとえば、店舗のジオフェンス)に入ったとき、そこにとどまったとき、および/またはそこから離れたときに、コアクライアントモジュール115から通知を受信するように構成され得る。ある実施形態では、最適化の目的で、第三者アプリケーションモジュール116を介して実行されるアプリケーションまたはアプリは、特定のワイヤレス識別送信機が近隣にあるとき、または代替的には近隣から離れたときに、コアクライアントモジュール115から通知を受信するように登録し、さもなければ構成され得る。たとえば、アプリケーションは、前もって、特定のワイヤレス識別送信機が近隣に入ったか、近隣にとどまっている(たとえば、近くで止まっており動いていない)か、または近隣から離れたかを示すイベント通知を受信するために、コアクライアントモジュール115に登録し得る。
[0142]モバイル近隣ブロードキャスト受信機138はまた、短距離信号受信機回路のような、様々な動作を実行し回路を管理するための、オペレーティングシステムおよびプラットフォームモジュール620を含み得る。具体的には、オペレーティングシステムおよびプラットフォームモジュール620は、Bluetooth LEプロトコルを利用する通信を処理するためのBluetooth Low Energyモジュール624と、様々なセルラーワイヤレスネットワークおよび同様の長距離ワイヤレスネットワーク(たとえば、LTE−Dなど)に対応する通信を処理するためのセルラーネットワークモジュール626とを含み得る。オペレーティングシステムおよびプラットフォーム620はまた、時間を記録しタイムスタンプデータを生成し得る時間サービスコンポーネント628と、低精度の位置データまたは代替的にはより正確なGPS(またはA−GPS)位置データを保持し得る位置サービスコンポーネント630と、記憶コンポーネント632と、WiFiまたは他のワイヤレスネットワークを介した通信を可能にするためのワイヤレスワイドエリアネットワーク/ワイヤレスローカルエリアネットワークコンポーネント622とを含み得る。
[0143]ある実施形態では、コアクライアントモジュール115は、ワイヤレス識別送信機の識別子(たとえば、関心のあるリスト上のすべての送信機のローリング識別子、ユーザにより所有されるすべての送信機の識別子など)のセットを中心サーバから要求し得る。そのようなセットは、現在使用されておりある時間の期間使用されることが予想される、ワイヤレス識別送信機に対応し得る。
[0144]図7Aは、固定式の近隣ブロードキャスト受信機またはモバイル近隣ブロードキャスト受信機のような近隣ブロードキャスト受信機上で実施され得る、ある実施形態の方法700を示す。決定ブロック702において、近隣ブロードキャスト受信機は、ブロードキャストメッセージが受信されるかどうかを決定し得る。たとえば、近隣ブロードキャスト受信機は、ブロードキャストアドバタイズメントパケットをリッスンすること、またはワイヤレス識別送信機によるペアリングの試みを開始し得る。上で論じられたように、パッシブモード/実施形態では、近隣ブロードキャスト受信機は、継続的に監視モードであってよく、または、中心サーバから受信された警告(または探索アクティブ化メッセージ)に応答して、特定の識別子をリッスンすることを始め得る。ペアリングが行われる実施形態では、近隣ブロードキャスト受信機が、ワイヤレス識別送信機との以前のペアリングにおいて保存された鍵を使用することによって、または、中心サーバから受信される鍵を使用することによって、鍵を使用することなく任意のワイヤレス識別送信機とペアリングするように設定される場合、ペアリングは自動的に確立され得る。近隣ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック702=「いいえ」)、近隣ブロードキャスト受信機は、決定ブロック702における動作を継続し得る。
[0145]近隣ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック702=「はい」)、ブロック704において、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージおよび他の関連するデータからの情報に基づいて、サイティングメッセージを生成し得る。具体的には、サイティングメッセージは、ローリング識別子(すなわち、符号化されたデバイス識別子)、MACアドレス、または、特定のワイヤレス識別送信機を識別するために使用され得る他のユニークコードのような、受信されたブロードキャストメッセージを送信したワイヤレス識別送信機に固有の識別子を含み得る。代替的な実施形態では、ワイヤレス識別送信機の識別子は、ペアリングプロセスの一部として受信され得る。他の関連するデータは、近隣ブロードキャスト受信機がブロードキャストメッセージを受信した時間、位置情報、近隣ブロードキャスト受信機の識別情報、関連するサービス(たとえば、関連付けられる業者)、および信号強度情報のような、ブロードキャストメッセージの受信に関する様々な情報を含み得る。言い換えると、近隣ブロードキャスト受信機は、現在の状態についてのデータ(たとえば、タイムスタンプ、GPS座標、最も近い基地局のセルIDなど)を、ブロードキャストメッセージおよび/またはワイヤレス識別送信機の識別子と関連付けることができる。このデータは、各識別子に対応するサイティングが発生したときからのタイムスタンプおよびGPS座標と関連付けられる1つまたは複数の識別子を伴うアレイのような、様々なタイプのデータ構造のいずれかに記憶され得る。ある実施形態では、サイティングメッセージは、近隣ブロードキャスト受信機の識別情報を確認するために中心サーバによって使用され得る、デジタル証明書またはコードのような、認証データを含み得る。たとえば、サイティングメッセージのメタデータ内で、近隣ブロードキャスト受信機は、近隣ブロードキャスト受信機および中心サーバにのみ知られている特別なハッシュコードを含み得る。
[0146]ブロック706において、近隣ブロードキャスト受信機は、たとえば、図2A〜図2Bを参照して上で論じられたようなセルラーネットワーク(たとえば、LTE、3G、または4Gネットワーク)または他のネットワークおよびインターネットを介して、サイティングメッセージを中心サーバに送信し得る。サイティングメッセージを送信することによって接触(コンタクト)イベントを報告すると、近隣ブロードキャスト受信機は、決定ブロック702における動作の実行に直ちに戻り、ワイヤレス識別送信機からのさらなるブロードキャストを待つ。これにより、近隣ブロードキャスト受信機は、中心サーバに接触イベントを継続的に報告することが可能になる。
[0147]図7Bは、固定式の近隣ブロードキャスト受信機またはモバイル近隣ブロードキャスト受信機のような近隣ブロードキャスト受信機上で実施され得る、ある実施形態の方法750を示す。近隣ブロードキャスト受信機が、近隣ブロードキャスト受信機がすでに遭遇したことのあるBluetoothマシン(MAC)アドレスによってブロードキャストされていることを示す、受信されたブロードキャストメッセージを無視するために方法750を実行し得ることを除いて、方法750は方法700と同様であり得る。ある実施形態では、方法750は、上で説明された方法450を実行するワイヤレス識別送信機によって送信されるブロードキャストメッセージを受信したことに応答して、実行され得る。方法750を実行することによって、近隣ブロードキャスト受信機は、サイティングメッセージを介して過剰に冗長な情報を中心サーバに中継するのを避けることができ、これは、内部バッテリを利用するように構成される近隣ブロードキャスト受信機のバッテリ効率を向上させ、さらに、不必要な中心サーバの作業負荷を減らすことができる。
[0148]決定ブロック702において、近隣ブロードキャスト受信機は、ブロードキャストメッセージが受信されるかどうかを決定し得る。近隣ブロードキャスト受信機がブロードキャストメッセージを受信しない場合(すなわち、決定ブロック702=「いいえ」)、近隣ブロードキャスト受信機は、決定ブロック702における動作を継続し得る。近隣ブロードキャスト受信機がブロードキャストメッセージを受信する場合(すなわち、決定ブロック702=「はい」)、決定ブロック752において、近隣ブロードキャスト受信機は、同じBluetooth MACアドレスからメッセージをすでに受信しているかどうかを決定し得る。近隣ブロードキャスト受信機は、受信されたメッセージ内で示されるBluetooth MACアドレスを、以前に受信されたBluetooth MACアドレスに対応する記憶されたBluetooth MACアドレスのリストと比較し得る。ある実施形態では、近隣ブロードキャスト受信機は、ある時間の期間(たとえば、1分、1時間など)にわたって受信されたMACアドレスを他の受信されたアドレスと比較し、または代替的に、受信されたMACアドレスを、以前に受信された任意の/すべてのアドレスと比較し得る。
[0149]近隣ブロードキャスト受信機が同じBluetooth MACアドレスからすでにメッセージを受信している場合(すなわち、決定ブロック752=「はい」)、近隣ブロードキャスト受信機は、決定ブロック702における動作を継続し得る。しかしながら、近隣ブロードキャスト受信機が同じBluetooth MACアドレスからまだメッセージを受信していない場合(すなわち、決定ブロック752=「いいえ」)、ブロック754で、近隣ブロードキャスト受信機は、受信されたメッセージのBluetooth MACアドレスを記憶し得る。たとえば、近隣ブロードキャスト受信機は、受信の時間、さらには、受信されたブロードキャストメッセージに関する他の情報も含み得るデータテーブルに、Bluetooth MACアドレスを記憶し得る。ブロック704において、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージおよび他の関連するデータからの情報に基づいて、サイティングメッセージを生成し得る。ブロック706において、近隣ブロードキャスト受信機は、サイティングメッセージを中心サーバに送信し得る。サイティングメッセージを送信することによって接触イベントを報告すると、近隣ブロードキャスト受信機は、決定ブロック702における動作の実行に直ちに戻り、ワイヤレス識別送信機からのさらなるブロードキャストを待つ。
[0150]図8は、様々な実施形態における通信を示す呼のフロー図800である。ワイヤレス識別送信機110は、短距離ブロードキャストメッセージ802(たとえば、Bluetooth LE信号)を、モバイル近隣ブロードキャスト受信機(たとえば、モバイルデバイス、携帯電話など)または上で論じられたような様々な他の近隣ブロードキャスト受信機などの、近隣ブロードキャスト受信機に送信し得る。ブロードキャストメッセージ802は、ワイヤレス識別送信機の識別子を含み得る。近隣ブロードキャスト受信機は、任意の関連するデータ(たとえば、タイムスタンプ、GPS座標、セルIDなど)とともに、ワイヤレス識別送信機の識別子を、サイティングメッセージ804として中心サーバ120に送信(またはアップロード)し得る。中心サーバ120は、サイティングメッセージ804を受信し、1つまたは複数の近隣ブロードキャスト受信機からの多くの異なる識別子を記憶し得る。
[0151]いくつかの実施形態では、識別子および関連するデータは、プライバシーを守るために、ユーザの個人データのいずれをも伴わずに、中心サーバに送信(またはアップロード)され得る。個人の携帯電話を利用することを試みる様々な実施形態では、電話は、モバイル近隣ブロードキャスト受信機としてオプトイン(opt-in)することができる。しかしながら、これらの電話のユーザは、個人を特定可能なデータも中心サーバに送信されることを恐れる場合、オプトインすることを拒否することがある。したがって、これらの個人のモバイルデバイス(すなわち、モバイル近隣ブロードキャスト受信機)にインストールされた、受信された識別子をアップロードするためのアプリケーションは、個人データ、またはモバイル近隣ブロードキャスト受信機を識別し得る他のデータの送信を禁止し得る。
[0152]中心サーバ120は、端末124またはモバイルデバイスのようなユーザデバイスから、ワイヤレス識別送信機の位置を要求するユーザ要求806を受信し得る。この要求は、特定のワイヤレス識別送信機と関連付けられるアカウントにログインした後、ユーザによって送信され得る。たとえば、各ワイヤレス識別送信機は、認証されたユーザに登録され得るので、登録されたワイヤレス識別送信機の位置に対する要求806は、認証されたユーザが安全なアカウントにログインした後にのみ、送信され得る。
[0153]ユーザ要求806を受信した後、中心サーバ120は、要求されたワイヤレス識別送信機の識別子とのあらゆる一致を見つけるために、サイティングメッセージを介して受信される以前に報告されたワイヤレス識別送信機の識別子を通じて、探索し得る。応答808において、あらゆる一致がユーザに報告され得る。応答808はまた、サイティングメッセージ804内の関連するデータ(たとえば、タイムスタンプ、GPS座標、セルID)を含み得る。ユーザは、この関連するデータを使用して、ワイヤレス識別送信機の位置決定または追跡を助けることができる(たとえば、母親が、子供のワイヤレス識別送信機について報告された最新の位置で行方不明の子供を見つけ得る)。
[0154]図9は、タイプセグメントまたはコマンドセグメントを含めるためのある実施形態の方法900を示す。ブロック902において、近隣ブロードキャスト受信機は、ブロードキャストアドバタイズパケットのようなブロードキャストメッセージを、ワイヤレス識別送信機(図9では「WIT」と呼ばれる)から受信し得る。代替的な実施形態では、このメッセージは、ペアリングによって、またはペアリング手順の一部として、確立された接続を通じて送信され得る。ブロードキャストメッセージは、識別子セグメント、さらに、タイプセグメントまたはコマンドセグメントのような追加のセグメントまたはコードを含み得る。近隣ブロードキャスト受信機は、ブロック904において、受信されたブロードキャストメッセージ中のこのコードに基づいて動作を実行することができる。様々な実施形態において、この動作は、近隣ブロードキャスト受信機が実行することが可能な任意の動作を含み得る。たとえば、近隣ブロードキャスト受信機は、タイプセグメントまたはコマンドセグメントに基づいて、異なるレベルの優先度をメッセージまたは識別子に割り当てることができる(たとえば、子供の安全のためのデバイスは、店舗からのセキュリティタグよりも高い優先度を有する)。より高い優先度を有する受信されたメッセージまたは識別子は、中心サーバに最初に送信されてよく、または、近隣ブロードキャスト受信機のローカルログから最後に削除されてよい。
[0155]近隣ブロードキャスト受信機は、タイプセグメントまたはコマンドセグメントに基づいて、ブロードキャストメッセージまたは識別子を異なるように処理することができる。たとえば、メッセージは、中心サーバに送信されるよりも前に、ある時間の間(たとえば、セグメントの値に応じた様々な時間)ローカルに記憶され得る。あるいは、メッセージまたは識別子は、タイムスタンプおよびGPS座標のような任意の関連するデータとともに、複数の位置に送信され得る。
[0156]別の例として、近隣ブロードキャスト受信機は、タイプセグメントおよび/またはコマンドセグメントに基づいて、様々な通信を開始し得る。近隣ブロードキャスト受信機は、特定のURLに報告し、SMSメッセージを送信し、電話呼を開始し、または新たなネットワーク接続を確立し得る。様々な実施形態において、これらの動作のいくつかは、ユーザのプライバシーを守るために、オプションでディセイブルにされ得る。
[0157]さらなる実施形態では、近隣ブロードキャスト受信機は、他のネットワークデバイスが何らかの動作を行うために、追加のセグメントまたは他のメッセージを別のネットワークデバイスに送信するように構成され得る。たとえば、近隣ブロードキャスト受信機は、メッセージを関連するデータとともに中心サーバに転送し得る。中心サーバは、メッセージ中の追加のセグメントに基づいて動作を実行することができ、たとえば、ユーザ要求を待つことなく、メッセージをユーザに自動的に送信する。
[0158]図10は、ワイヤレス識別送信機への近接に基づいてコンテンツを提供するための、ある実施形態の方法1000を示す。近隣ブロードキャスト受信機は、ブロック1002において、識別コードおよび/または第2のセグメントを含むワイヤレス識別送信機(図10では「WIT」と呼ばれる)からのブロードキャストメッセージを受信し得る。近隣ブロードキャスト受信機は、決定ブロック1005において、識別コードおよび/または第2のセグメントと関連付けられる動作がローカルに(たとえば、近隣ブロードキャスト受信機のメモリに)記憶されるかどうかを決定し得る。関連する動作がローカルで発見される場合(すなわち、決定ブロック1005=はい)、ブロック1008において、動作は近隣ブロードキャスト受信機によって実行され得る。
[0159]関連する動作がローカルで発見されない場合(すなわち、決定ブロック1005=いいえ)、近隣ブロードキャスト受信機は、ブロック1010において、識別子および/または第2のセグメントを伴うサイティングメッセージを中心サーバに送信し得る。ある実施形態では、近隣ブロードキャスト受信機は、ユーザデバイスのような別のデバイスにメッセージを送信し得る。近隣ブロードキャスト受信機は、ブロック1012において、命令メッセージを受信し得る。この命令は、識別子および/または第2のセグメントを伴うサイティングメッセージに応答して、中心サーバまたは他のデバイスによって送信され得る。ブロック1014において、近隣ブロードキャスト受信機は、受信された命令メッセージに基づいて動作を実行し得、たとえば、ウェブページまたは他のオンラインリソースに行くことによってコンテンツにアクセスし得る。代替的な実施形態では、近隣ブロードキャスト受信機は、決定ブロック1005をスキップして、ブロック1010においてサイティングメッセージを送信することとローカルに記憶された動作の実行を試みることとのいずれかに自動的に進み得る。
[0160]近接に基づくコンテンツ公開システムは、広範な活動に使用され得る。たとえば、ティーンエイジャーは、ワイヤレス識別送信機を持ち運ぶことがあり、彼らはそのワイヤレス識別送信機をソーシャルネットワーキングページ(たとえば、Facebook(登録商標))に向ける。彼らが友人の近くにいる場合、近隣ブロードキャスト受信機(すなわち、モバイル近隣ブロードキャスト受信機として動作するように構成される携帯電話)でそのページが直ちにアクセスされ得る。不動産仲介業者は、ある家のためのウェブページを準備し、その家の近くを運転する誰もがその情報にアクセスできるように、そのウェブページを指すワイヤレス識別送信機をその家の看板に付加することができる。店舗は、クーポンへのリンク、消費者の報告、または追加の栄養情報のような動的な表示を提供するために、製品とともにワイヤレス識別送信機を含み得る。行方不明の犬が首輪にワイヤレス識別送信機を有する場合、首輪を入手するために犬と格闘しようとする代わりに、近隣ブロードキャスト受信機が単にワイヤレス識別送信機にアクセスして、メッセージまたは呼を所有者に送信することができる。
[0161]様々な特徴および代替的な動作により、システムは、柔軟で拡張可能な機能を有することが可能になり得る。行われる動作は、時間とともに近隣ブロードキャスト受信機において更新され得るアプリケーションによって制御されるので、機能は追加され得る。
[0162]図11は、ワイヤレス識別送信機をアクティブに探索する、近隣ブロードキャスト受信機のためのある実施形態の方法1100を示す。ブロック1102において、近隣ブロードキャスト受信機は、探索されるべきワイヤレス識別送信機(図11では「WIT」と呼ばれる)のターゲット識別子と1つまたは複数の探索セクタとを伴う警告(alert)(または、探索アクティブ化メッセージ)を、中心サーバから受信し得る。警告において示される探索セクタは、探索されるべき1つまたは複数のセクタに対応し得る。近隣ブロードキャスト受信機は、決定ブロック1105において、自身が探索セクタの1つの中に位置しているかどうかを決定し得る。たとえば、近隣ブロードキャスト受信機は、警告からの探索セクタを、自身の現在のGPS座標またはセルIDと比較することができる。
[0163]近隣ブロードキャスト受信機が探索セクタの1つの中に位置していない場合(すなわち、決定ブロック1105=いいえ)、ブロック1108において、近隣ブロードキャスト受信機は、識別子のログ取得(logging)を継続し、たとえば、対応する位置および時間に関連して、受信されたブロードキャストメッセージ内の識別子を記憶する。ある実施形態では、近隣ブロードキャスト受信機は、以前のワイヤレス識別送信機のサイティングのログを保持し得る。この実施形態では、1つまたは複数のリモートサーバ(たとえば、中心サーバ)に以前のサイティングからのデータのすべてを記憶するのではなく、データは、探索または警告がアクティブになるまで、近隣ブロードキャスト受信機上に分散されたままであり得る。様々な実施形態において、近隣ブロードキャスト受信機は、以前のサイティングからのデータ、たとえば、ワイヤレス識別送信機の識別子ならびにサイティングの位置および時間(さらには任意の他の関連するデータ)を記憶し得る。警告に応答して、近隣ブロードキャスト受信機は、記憶されたデバイスIDが警告またはアクティブ化メッセージにおいて提供されたターゲットデバイスIDと一致する、任意の記録されたサイティングについて、データベースを探索し得る。一致が存在する場合、以下で説明されるように、そのターゲットデバイスIDに対応するデータを提供する応答が、中心サーバに送信され得る。
[0164]モバイル近隣ブロードキャスト受信機が探索セクタの1つの中に位置している場合(すなわち、決定ブロック1105=はい)、近隣ブロードキャスト受信機は、たとえば、ターゲット識別子を、近接したワイヤレス識別送信機からのブロードキャストメッセージにおいて受信された任意の識別子と比較することによって、ブロック1110の警告によって示されるターゲット識別子を監視し得る。決定ブロック1113において、近隣ブロードキャスト受信機は、ターゲット識別子が検出されるかどうかを決定し得る。ターゲット識別子が検出されない場合(すなわち、決定ブロック1113=いいえ)、近隣ブロードキャスト受信機は、以下で論じられる決定ブロック1119に進み得る。
[0165]ターゲット識別子が検出される場合(すなわち、決定ブロック1113=はい)、近隣ブロードキャスト受信機は、たとえば、ターゲット識別子と、時間と、位置情報(たとえば、GPS座標)とを含むサイティングメッセージを送信することによって、ブロック706においてサイティングメッセージを中心サーバへ直ちに送信し得る。近隣ブロードキャスト受信機は、決定ブロック1119において、以前の警告とは異なるセクタを伴う新たな警告が受信されたかどうかを決定することができる。新たな警告が受信された場合(すなわち、決定ブロック1119=はい)、近隣ブロードキャスト受信機は、決定ブロック1105の動作を実行することによって、自身が新たなセクタの1つの中に位置しているかどうかを決定し得る。新たな警告が受信されていない場合(すなわち、決定ブロック1119=いいえ)、近隣ブロードキャスト受信機は、ブロック1110におけるターゲット識別子の監視を継続し得る。
[0166]さらなる実施形態では、近隣ブロードキャスト受信機は、自身が担当する探索セクタを決定することができる。たとえば、オプトインした携帯電話は、ワイヤレス識別送信機を見つけるための追跡アプリケーションをインストールしてもよい。このアプリケーションは、携帯電話の位置を時間とともに監視することによって探索がその中で行われるべきである、セクタのリストを作成することができる。アプリケーションは次いで、探索セクタをリストする警告メッセージに基づいて、ワイヤレス識別送信機を探索することができる。したがって、この実施形態では、警告(または探索アクティブ化メッセージ)は、探索されているセクタを識別するすべての近隣ブロードキャスト受信機へと、中心サーバによってブロードキャストまたはマルチキャストされてよく、受信機自体が、現在の自身の位置に基づいて、アクティブ探索モードに入るべきかどうかを決定することができる。
[0167]図12は、様々な実施形態における警告1252に関する通信を示す呼のフロー図1250である。一般に、警告1252は、上で説明されたようなアクティブな探索に関し得る。ユーザ要求806が、端末またはモバイルデバイスのようなユーザデバイスから中心サーバに送信され得る。ユーザ要求806は、ワイヤレス識別送信機の位置を要求することができ、ワイヤレス識別送信機と関連付けられるコードまたは識別子を含み得る。中心サーバは、1つまたは複数の近隣ブロードキャスト受信機に警告1252(または探索アクティブ化メッセージ)を送信することができる。警告1252は、要求されたワイヤレス識別送信機の識別子を表すものを含み得る。たとえば、警告1252は、安全なローリング識別子を含んでよく、ワイヤレス識別送信機またはそのユーザの識別情報を提供しない。警告1252はまた、要求されたワイヤレス識別送信機とペアリングするために使用され得るペアリングデータ(たとえば、共有される秘密鍵またはリンク鍵)を含み得る。
[0168]上で言及されたように、ある実施形態では、中心サーバは、要求されたワイヤレス識別送信機が存在する可能性が高い、または存在することが疑われる特定の地理的セクタ内に位置する近隣ブロードキャスト受信機のような、近隣ブロードキャスト受信機のあるサブセットに警告を送信することができる。たとえば、ユーザ要求806は、要求されたワイヤレス識別送信機の最後の既知の位置を特定することができ、中心サーバは、その位置の近くのセクタ中の近隣ブロードキャスト受信機に警告1252を送信することができる。
[0169]警告1252を受信する近隣ブロードキャスト受信機は、要求されたワイヤレス識別送信機の識別子を伴うブロードキャストメッセージ802(たとえば、ブロードキャストアドバタイズメント)を監視することができる。あるいは、近隣ブロードキャスト受信機は、ターゲットのワイヤレス識別送信機とのペアリングを試み、または、ターゲットのワイヤレス識別送信機によるペアリングを受け入れる状態を保つことができる。近隣ブロードキャスト受信機がワイヤレス識別送信機の無線の範囲内に来ると、デバイスはペアリングし得る。ペアリングプロセスの一部として、ワイヤレス識別送信機は、デバイスの識別子情報を含む短距離無線メッセージ1254を送信することができる。近隣ブロードキャスト受信機は次いで、サイティングメッセージ804を中心サーバに送信することができる。言い換えると、近隣ブロードキャスト受信機は、ワイヤレス識別送信機またはその識別子と関連付けられる、タイムスタンプ、GPS座標、近隣ブロードキャスト受信機の識別情報、および/またはセルIDのような、関連するデータをアップロードすることができる。中心サーバは、探索対象のワイヤレス識別送信機との近隣ブロードキャスト受信機の接触から、関連するデータをユーザに知らせる応答808をユーザデバイスに送信することができる。
[0170]様々な実施形態は、図12に示されるアクティブ探索方法を上で論じられたパッシブ探索モデルと組み合わせることができる。たとえば、近隣ブロードキャスト受信機は、ワイヤレス識別送信機から、短距離ブロードキャストメッセージ802(たとえば、Bluetooth LE無線信号)を以前に受信している可能性がある。このメッセージ802およびあらゆる関連するデータ(たとえば、タイムスタンプ、GPS座標、セルIDなど)が、近隣ブロードキャスト受信機にローカルに記憶され、またはサービスの追跡を実行する中心サーバに転送され得る。ユーザ要求806が受信されると、警告1252を送信することによってアクティブ的な探索を開始することに加えて、中心サーバまたは近隣ブロードキャスト受信機は、ワイヤレス識別送信機からの以前に受信されたブロードキャストメッセージ802(たとえば、ブロードキャストメッセージ、ペアリング報告を含むメッセージなど)と関連するデータとに対応するデータベースを探索することができる。応答808は、アクティブな探索により得られ任意の以前のメッセージ802と関連付けられる、すべてのデータを含み得る。
[0171]他の実施形態では、近隣ブロードキャスト受信機は、警告メッセージを受信したこととは無関係に、受信されたすべてのブロードキャストメッセージのためのサイティングメッセージを送信するように構成され得る。言い換えると、近隣ブロードキャスト受信機は、中心サーバのためにサイティングメッセージを送信して、ターゲット識別子が含まれるかどうかを検出することができるので、アクティブ探索のターゲットとされるワイヤレス識別送信機は見つけられている。
[0172]図13は、中心サーバ120内の様々なモジュールの図1300を示す。様々なモジュールおよびコンポーネントが、中心サーバ120内のモジュール、コンポーネント、および/または要素の文脈で以下で説明される。しかしながら、様々な実施形態において、中心サーバ120は、個人のコンピューティングデバイス、サーバブレード、または、以下で説明される様々なモジュールおよび/もしくはコンポーネントと関連付けられる動作を実行できる他のユニットを含んでよく、またはそれらに接続されてよい。
[0173]図1を参照して上で説明されたように、中心サーバ120は、ワイヤレス識別送信機に対応するデータを受信し、記憶し、別様に処理するように構成され得る。たとえば、中心サーバ120は、近隣ブロードキャスト受信機142、モバイル近隣ブロードキャスト受信機138、第三者のシステム101、ならびに他のサポートシステムおよび/またはサービス102のような様々なデバイスと、インターネット103を介して通信を交換するように構成され得る。
[0174]中心サーバ120は、データ、たとえば、近隣ブロードキャスト受信機142、138、第三者のシステム101、または他のサポートシステムおよび/もしくはサービス102から受信されるデータを処理するための様々な動作を実行するためのいくつかのコンポーネント104〜109を含み得る。具体的には、中心サーバ120は、サイティングメッセージを処理し、警告または通知エンジンモジュールを実行し、アプリケーションプログラミングインターフェース(API)コマンドを処理し、中心サーバ120内の他のコンポーネントとデータを交換することができる、コアコンポーネント108を含み得る。コアコンポーネント108は、短期間データと第三者固有のデータとを記憶するためのユニットを含み得る、データレイヤモジュール1302を含み得る。コアコンポーネント108はまた、近隣ブロードキャスト受信機へ送信するための警告メッセージを生成し、様々なターゲットワイヤレス識別送信機の探索を開始するための、警告エンジンモジュール1304を含み得る。コアコンポーネント108はさらに、ユーザのプライバシーポリシーまたはプロファイル選好に基づいて、一般的なデータ、匿名のデータ、または別様に処理されたデータを生成することができる、データ匿名化モジュール1306を含み得る。たとえば、データ匿名化モジュール1306は、ワイヤレス識別送信機の消費者であるユーザが店舗に対して特定されず、しかしユーザが店舗内にいるという事実は依然として店舗に報告されるように、店舗と関連付けられる近隣ブロードキャスト受信機に送信される返信メッセージから、個人情報を取り除くことができる。コアコンポーネント108はまた、様々なユーザのためのプライバシー許可情報を保持し得る、プライバシーマネージャモジュール1308を含み得る。たとえば、プライバシーマネージャモジュール1308は、登録においてユーザにより提供されたプライバシーパラメータのデータベースを含み得る。
[0175]コアコンポーネント108はまた、探索を組織化し実施するのを支援するための探索マネージャモジュール1310と、認証システムモジュール1312とを含み得る。コアコンポーネント108はさらに、近隣ブロードキャスト受信機142、138からの受信されたサイティングメッセージ内で報告されるブロードキャストメッセージと関連付けられるワイヤレス識別送信機を識別するための、中心サーバ120によって利用され得るサイティングリゾルバモジュール1314を含み得る。コアコンポーネント108は、動作を開始するための機能とインターフェースとを含み得るAPIモジュール1316と、業者、第三者、および他のサービスへの統合された形の送信のためのある期間にわたって様々なサイティングメッセージを合成するためのサイティング統合モジュール1318とを含み得る。コアコンポーネント108はまた、近隣ブロードキャスト受信機142、138および第三者のシステム101のようなデバイスとの様々な通信を、インターネットを介して送信し受信するための、ネットワークモジュール1320を含み得る。
[0176]中心サーバ120はまた、長期データ(たとえば、保管されたユーザデータ、過去の位置情報など)を記憶し得る、データ保管コンポーネント104を含み得る。データ保管コンポーネント104は、登録ウェブサイトを介してユーザによって提供されるプロファイル情報のような、ワイヤレス識別送信機のユーザに関係する情報を記憶するための様々なデータベースを含み得る。データ保管コンポーネント104は、コアコンポーネント108のデータレイヤモジュール1302とデータを交換するように構成され得る。中心サーバ120はまた、ユーザポータルのアクセス、スクリプト、およびツール(たとえば、ソフトウェアユーティリティ、ルーチンなど)と関連付けられる、ソフトウェアを処理し、かつ/または記憶し得る、運用、管理および保守(またはOA&M)コンポーネント105を含み得る。OA&Mコンポーネント105は、コアコンポーネント108とデータを交換するように構成され得る。
[0177]中心サーバ120はまた、開発者のアカウントデータを記憶し、登録、アカウント管理、および、たとえばワイヤレス識別送信機110のユーザと対話するために登録するベンダーまたは業者である開発者と関連付けられる警告(または通知)管理ルーチンを実行し得る、開発者ポータルコンポーネント106を含み得る。中心サーバ120はまた、ユーザのアカウントデータを記憶し、登録、アカウント管理、および、たとえばワイヤレス識別送信機と関連付けられる人であるユーザと関連付けられる探索ルーチンを実行し得る、ユーザポータルコンポーネント109を含み得る。ユーザポータルコンポーネント109および開発者ポータルコンポーネント106は、コアコンポーネント108の認証システムモジュール1312とデータを交換するように構成され得る。中心サーバ120はまた、ワイヤレス識別送信機110と関連付けられるファクトリ鍵を記憶し、さらに、受信されたサイティングメッセージ内の暗号化された、符号化された、ローリングした、さもなければ難読化された識別情報を、付随するユーザデータと照合するための動作、ソフトウェア、またはルーチンを実行することができる、ローリング識別子(またはID)リゾルバコンポーネント107を含み得る。ローリング識別子(またはID)リゾルバコンポーネント107は、コアコンポーネント108のサイティングリゾルバモジュール1314とデータを交換するように構成され得る。
[0178]様々な実施形態において、ローリングIDリゾルバコンポーネント107のような図13を参照して説明されたモジュールおよびコンポーネントは、ソフトウェア命令、アプリケーション、ルーチン、スレッド、回路、またはハードウェアユニットによって実行され、または可能にされ得る。
[0179]図14は、様々な実施形態において使用するための、ワイヤレス識別送信機の登録プロセスを示す。一般に、ブロードキャストメッセージが中心サーバによって処理され得る前に、中心サーバは、ワイヤレス識別送信機およびそのユーザが中心サーバに登録されることを要求し得る。たとえば、あらゆる追跡、探索、またはワイヤレス識別送信機に関する他の位置ベースの活動が開始され得る前に、中心サーバは、世界中を移動する様々なワイヤレス識別送信機と関連付けられるユーザを決定することが可能でなければならない。登録は、ブロードキャストメッセージ中のワイヤレス識別送信機によって送信される識別子と、ワイヤレス識別送信機と、そのユーザとの間にリンクを作成し得る。たとえば、行方不明の子供の親に子供が発見されたという通知を送信するためには、中継された難読化された(または符号化された)識別子が、登録されたユーザアカウントに関連して記憶されるような親の携帯電話番号を示すアカウント情報と照合されなければならない。
[0180]具体的には、登録を通じて、各ワイヤレス識別送信機と中心サーバとの間で、タイミングメカニズムが同期され得る(すなわち、カウンタ)。そのようなカウンタによって、ワイヤレス識別送信機および中心サーバは、識別子をそれぞれ符号化(またはローリング)および復号することができ、ワイヤレス識別送信機(およびそのユーザ)と関連付けられる識別情報を秘匿されかつ非公開である状態に保つ。そのようなタイミングメカニズムまたはカウンタを同期するための最も適切な時間は、以下で説明されるような、デバイス登録および/またはアカウント作成プロセスの間であり得る。図14では、スマートフォンのようなモバイルデバイスは、アカウント作成と登録動作とを実行するためにユーザによって使用されるものとして説明される(たとえば、モバイルデバイスがウェブポータルにアクセスして中心サーバに登録するなど)。しかしながら、インターネットに接続され、登録ウェブポータルまたはウェブサイトを介して中心サーバとの通信を交換することが可能な任意のコンピューティングデバイスに、関連があり得る。
[0181]ブロック1402において、ユーザのモバイルデバイス(たとえば、iPhone、Android(登録商標)、タブレットデバイスなど)が、ワイヤレス識別送信機とともに使用するためのアプリケーションをインストールし得る。そのようなアプリケーション(または「アプリ」)は、バックグラウンドサービスとしてモバイルデバイスのプロセッサ上で実行され、または代替的に、ユーザによる選択的な使用のためにアクティブ化され得る。本開示の全体で説明されるように、そのようなアプリケーションは、モバイルデバイスが、たとえば、受信された信号をブロードキャストメッセージとして識別し、それに応答して位置情報を有するサイティングメッセージを中心サーバに中継することによって、近接したワイヤレス識別送信機からの短距離ブロードキャストメッセージを処理することを可能にし得る。ブロック1404において、モバイルデバイスは、ユーザ情報(たとえば、デバイス識別情報または「deviceID」)とともに登録要求を送信することができる。登録要求は、ウェブポータル、ウェブサイト、または、中心サーバによって制御されもしくはアクセス可能なウェブサーバとのインターネット通信を介して、中心サーバに送信され得る。言い換えると、モバイルデバイスは、インストールされたアプリを通じてユーザ情報(たとえば、デバイスID)を提供することによって、または、デバイスID(deviceID)と、登録要求をアカウントと結びつけるために中心サーバが利用し得る他の情報とを提供することによって、登録プロセスを呼び出すことができる。たとえば、図13を参照して上で説明されたように、ユーザのモバイルデバイスは、登録ウェブサイトにアクセスし、ユーザから入力を受信し、中心サーバによる使用のために、ユーザ入力をデータとして登録ウェブサイトに送信することができる。ある実施形態では、ユーザ情報は、名前、住所、連絡先情報(たとえば、ソーシャルネットワークサイト、携帯電話番号、電子メールアドレス、電話番号など)、年齢、および他の人口統計学的情報のような、ユーザについての個人情報、さらに、ワイヤレス識別送信機および/またはユーザのアカウントと関連付けられ得る近隣ブロードキャスト受信機についての識別情報を含み得る。たとえば、中心サーバに送信されるユーザ情報は、ブロック1402の動作でアプリケーションをインストールしたことに応答して、ワイヤレス識別送信機上のシリアル番号および/またはモバイルデバイスによって生成される確認コードを含み得る。ユーザ情報はまた、ユーザの好みの小売店、製品群、および食事または消費するエリアのような、選好情報を含み得る。ユーザ情報はさらに、個人情報がどのように配信され中心サーバにより使用され得るかを示す、プライバシー許可を含み得る。ある実施形態では、ユーザは、中心サーバがユーザについての識別情報を何ら保存しないように、匿名のユーザとして登録することができる。たとえば、特徴のない私書箱、使い捨ての携帯電話番号、または、ユーザもしくはアカウントの所有者を直接識別しない他の連絡先情報とリンクされたアカウントが登録され得る。これは、中心サーバにより提供されるサービスを利用することを選択し得るが私的な情報または識別情報の漏洩を懸念する人には、重要であり得る。ブロック1412において、ユーザのモバイルデバイスは、中心サーバまたは所有されたワイヤレス識別送信機と関連付けられるデバイスIDからの認証情報(たとえば、コード、メッセージ)のような、アカウント情報を記憶することができる。
[0182]ブロック1406において、中心サーバは、アカウント登録のためのユーザ情報を受信することができる。ブロック1408において、中心サーバは、ユーザのアカウントを登録することができる。たとえば、中心サーバは、すべての登録されたユーザのデータベースに、提供されたデバイス識別情報を含むユーザの情報を記憶することができる。ブロック1410において、中心サーバは、アカウント作成情報をユーザに提供することができる。アカウント作成情報は、認証コード、または、ユーザのモバイルデバイスが今後の使用のために記憶し得る他の情報を含み得る。たとえば、中心サーバは、ユーザのモバイルデバイスによってアクセス可能なウェブサイト上でアカウント作成の確認を表示し、または代替的に、確認信号、テキストメッセージ、電子メール、または他の通信をユーザのモバイルデバイスに送信することができる。
[0183]ブロック402において、たとえばユーザがバッテリを装着したことに応答して、ワイヤレス識別送信機が起動(ブートアップ)する。ワイヤレス識別送信機が起動すると、ノンスまたはカウンタ値が初期化され得る。たとえば、ワイヤレス識別送信機は、値0から開始する、時間の経過を表す値を、インクリメントすることを開始し得る。ブロック1413において、ワイヤレス識別送信機は、符号化された(またはローリング)識別子を含むメッセージ(すなわち、ブロードキャストメッセージ)をブロードキャストすることができる。たとえば、ワイヤレス識別送信機は、数秒ごとにブロードキャストメッセージを送信し始めることができる。ワイヤレス識別送信機は、以下で説明される実施形態の方法によってローリング識別子を生成することができる。一般に、ブロードキャストメッセージは、擬似ランダム関数を実行することによって生成されるデータを含むペイロードを含み得る。たとえば、ワイヤレス識別送信機は、擬似ランダム関数を実行して、ワイヤレス識別送信機のデバイスID、ノンスもしくはカウンタ値、ならびに秘密鍵の入力地、シード、または、ワイヤレス識別送信機および中心サーバにのみ知られている他の値に基づいて、符号化されたデータを生成することができる。ある実施形態では、擬似ランダム関数は、ワイヤレス識別送信機および中心サーバにのみ知られているランダムに選択されたシード値を利用し得る、多項式の時間計算可能な関数であり得るので、擬似ランダム関数は、その擬似ランダム関数と同じ範囲への出力を有する、同じ領域上で定義されたランダム関数とは計算上は区別不可能であり得る。ある実施形態では、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)が、擬似ランダム関数として使用され得る。
[0184]ある実施形態では、ワイヤレス識別送信機は、モバイルデバイスがブロック1404の動作による登録プロセスを開始してから、予め定められた数秒以内にアクティブ化されることが要求され得る。言い換えると、ワイヤレス識別送信機がそのノンスまたはカウンタ値のインクリメントを開始すると、ユーザは、ある期間内に中心サーバに登録しなければならない。これにより、中心サーバは、登録の間にワイヤレス識別送信機におけるノンスまたはカウンタ値を決定しようとするとき、ある数の値のみにおいて試みることが可能になる。
[0185]ある実施形態では、ワイヤレス識別送信機は、ブロードキャストメッセージのペイロード内のデータを調整することによって、初期ブロードキャストを示すことができる。たとえば、ワイヤレス識別送信機は、ワイヤレス識別送信機の初期化時間期間を示すものとして中心サーバが認識し得る、ブロードキャストメッセージ内のビットを変更することができる。ペイロード内に初期化インジケータがある場合、中心サーバは、中心サーバの参照データテーブル内のすでに登録された(または認識された)ワイヤレス識別送信機に対応するペイロードとの比較を避けるために、受信されたペイロードと記憶されたペイロードとの比較を迅速に行うことができる。
[0186]ブロック1414において、ユーザのモバイルデバイスが、ブロードキャストメッセージを受信し得る。言い換えると、インストールされたアプリケーション(またはアプリ)に基づいて、モバイルデバイスは、モバイル近隣ブロードキャスト受信機として機能し得る。ブロック1402の動作によりインストールされたアプリのような、インストールされたアプリケーションは、登録要求を介して中心サーバへの登録動作を開始したことに応答して、そのようなブロードキャストメッセージを受信するのを待つ。ブロック1416において、モバイルデバイスは、ワイヤレス識別送信機のローリング識別子と、記憶されたデバイスIDおよび認証情報のような他の情報とを送信し得る。ある実施形態では、モバイルデバイスは、たとえば、テキスト比較および/または解析動作を使用することによって、受信されたブロードキャストメッセージから符号化された情報を抽出し得る。たとえば、モバイルデバイスは、最上位ビット演算を実行し得る。
[0187]ブロック1418において、中心サーバは、符号化された情報、さらには認証情報とデバイスIDとを伴うメッセージを受信し得る。ブロック1420において、中心サーバは、たとえば、モバイルデバイスからの受信されたメッセージ中の、認証情報を検証し得る。具体的には、中心サーバは、認証情報を、ブロック1408〜1410の動作で生成された情報と比較し得る。ブロック1422において、中心サーバは、デバイスIDとあり得るノンスまたはカウンタ値とを使用して、ローリング識別子のセットを生成し得る。中心サーバは、そのセットの符号化された識別子を、モバイルデバイスから受信されたローリング識別子と比較することができる。ある実施形態では、中心サーバは、デバイスIDおよびいくつかのノンスまたはカウンタ値とともに、上で説明されたように、擬似ランダム関数を使用することによって、符号化されたデータのセットを計算し得る。たとえば、中心サーバは、ワイヤレス識別送信機と共有されるシードと、モバイルデバイスによって示されるデバイスIDと、0で始まる多くのノンスまたはカウンタ値とを伴う、擬似ランダム関数を実行し得る。ブロック1424において、中心サーバが受信されたローリング識別子を生成されたセット中のローリング識別子の1つと照合するとき、中心サーバは、WITに関連して、関係するノンスまたはカウンタ値と時間とを記憶することができる。中心サーバは、ワイヤレス識別送信機上で実行されるノンスまたはカウンタと同期するために、一致するローリング識別子を生成するために使用されたノンスまたはカウンタ値を使用し得る。ある実施形態では、中心サーバは、当該ワイヤレス識別送信機が登録および/または同期が成功したとして記述するインジケータを記憶し得る。オプションのブロック1426において、中心サーバは次いで、たとえば、メッセージをモバイルデバイスに送信することによって、登録結果メッセージをユーザに送信し得る。登録結果メッセージは、中心サーバが受信された符号化された識別子を生成された識別子と照合することが可能であったかどうかを示し得る。ブロック1428において、モバイルデバイスが、登録結果メッセージを受信し得る。ある実施形態では、登録結果メッセージは、登録プロセスが失敗したことを示し(たとえば、モバイルデバイスによって受信された、受信されたブロードキャストメッセージが、ユーザのワイヤレス識別送信機に対応しなかった)、モバイルデバイスは、別のブロードキャストメッセージを受信し中継することによって、登録を再び試みることができる。
[0188]上で説明された動作、特にブロック1413〜1424の中の動作は、様々なデバイスによって実行されるメッセージ処理動作、さらには任意の伝搬遅延が、ワイヤレス識別送信機においてノンスまたはカウンタ値をインクリメント(または更新)するために必要な時間よりもはるかに小さいということを仮定する。これにより、ワイヤレス識別送信機および中心サーバにおけるノンスまたはカウンタ値が、1より大きくは異ならないことが確実になる。
[0189]図15Aは、近隣ブロードキャスト受信機から受信されたサイティングメッセージを処理するための、中心サーバのためのある実施形態の方法1500を示す。上で説明されたように、中心サーバは、様々なモジュールと、コンポーネントと、回路と、ソフトウェアとを利用して、サイティングメッセージを処理するように構成され得る。決定ブロック1502において、中心サーバは、サイティングメッセージが受信されるかどうかを決定することができる。中心サーバは、受信回路、バッファ、キュー、または他のインジケータを評価して、メッセージが近隣ブロードキャスト受信機のような様々なデバイスからいつ受信されるかを決定し得る。ある実施形態では、中心サーバは、上で説明されたようなネットワークモジュールを利用して、サイティングメッセージが受信されるかどうかを決定し得る。一般に、サイティングメッセージは、インターネットを通じてセルラーネットワークを介して送信されるパケットのような、長距離通信を介して受信され得る。中心サーバがサイティングメッセージを受信しない場合(すなわち、決定ブロック1502=「いいえ」)、中心サーバは、決定ブロック1502における動作を継続し得る。
[0190]中心サーバがサイティングメッセージを受信する場合(すなわち、決定ブロック1502=「はい」)、ブロック1504において、中心サーバは、ワイヤレス識別送信機情報と、近隣ブロードキャスト受信機情報と、関連するデータとを、サイティングメッセージに基づいて識別し得る。中心サーバは、受信されたサイティングメッセージ内の様々なデータと情報のセグメントとを評価し、解析し、さもなければアクセス可能にし得る。たとえば、中心サーバは、サイティングメッセージを解析して、ワイヤレス識別送信機からの含まれるブロードキャストメッセージを識別することができる。別の例として、中心サーバは、ワイヤレス識別送信機の識別情報(すなわち、ローリング識別子)、近隣ブロードキャスト受信機の識別情報(たとえば、受信機ID)、位置情報、タイムスタンプ情報、センサデータ(たとえば、加速度センサデータなど)、近隣ブロードキャスト受信機と関連付けられるアプリケーション(またはアプリ)の識別子(たとえば、インストールされているアプリケーションのリスト、近隣ブロードキャスト受信機で実行される関連するアプリの識別子など)に対応する、符号化されたデータを識別することができる。ある実施形態では、中心サーバは、上で説明されたようなサイティングリゾルバモジュールによって、ブロック1504の動作を実行し得る。
[0191]ブロック1506において、中心サーバは、サイティングメッセージ内のローリング識別子に基づいて、ワイヤレス識別送信機の識別情報を取得し得る。中心サーバは、ローリング識別子を復号し、デスクランブリングし、復号(decrypt)し、さもなければアクセス可能にするための動作を実行し得る。たとえば、中心サーバは、秘密鍵を適用するための動作、または、ワイヤレス識別送信機の識別情報を取得するための復号(decode)アルゴリズムを実行し得る。ある実施形態では、ブロック1506の動作は、上で説明されたようなローリングIDリゾルバコンポーネントによって、中心サーバにより実行され得る。たとえば、中心サーバは、サイティングリゾルバモジュールに、ローリングIDリゾルバコンポーネントとデータを交換させて、復号されたワイヤレス識別送信機の識別情報を取得させ得る。ローリング識別子を含むサイティングメッセージに基づいてワイヤレス識別送信機を識別するための実施形態の動作は、図26を参照して以下で説明される。
[0192]ブロック1508において、中心サーバは、取得されたワイヤレス識別送信機の識別情報に基づいて、ワイヤレス識別送信機のユーザ情報を取り出すことができる。たとえば、中心サーバは、人口統計学的(demographics)な情報、以前の挙動(たとえば、移動経路、位置の履歴など)を示す記憶されたデータのような、ワイヤレス識別送信機に関するユーザアカウント情報を取り出すことができる。ある実施形態では、ブロック1508の動作は、上で説明されたような認証システムモジュールによって、中心サーバにより実行され得る。たとえば、中心サーバは、認証システムモジュールに、ワイヤレス識別送信機の識別情報をユーザポータルコンポーネントと交換させ、ユーザ登録データベース内に保存されたユーザ情報を取得させ得る。
[0193]ブロック1510において、中心サーバは、近隣ブロードキャスト受信機のユーザ情報および関連するサービスのような、近隣ブロードキャスト受信機の識別情報を、識別された近隣ブロードキャスト受信機の情報に基づいて取り出すことができる。たとえば、中心サーバは、受信されたサイティングメッセージを送信した近隣ブロードキャスト受信機と関連付けられる業者の識別情報、近隣ブロードキャスト受信機が参加するように登録されている追跡サービス、さらに、近隣ブロードキャスト受信機に対する任意の他の関連する情報を取り出すことができる。中心サーバは、サイティングメッセージ内の情報に基づいて、電子メールアドレスと、MACアドレスと、電話番号と、関連する近隣ブロードキャスト受信機のユーザに関する他の連絡先情報とを取り出すことができる。たとえば、中心サーバは、中心サーバからの後続の送信、たとえば、関心のあるアイテムに近接していることを示す電子メールまたはSMSテキストメッセージのために使用され得る、近隣ブロードキャスト受信機と関連付けられるユーザ連絡先情報を決定する。ある実施形態では、中心サーバは、モバイル近隣ブロードキャスト受信機の動作を実行するように構成される、スマートフォンのユーザの識別情報を決定する。ある実施形態では、ブロック1510の動作は、上で説明されたような認証システムモジュールによって、中心サーバにより実行され得る。たとえば、中心サーバは、認証システムモジュールに、近隣ブロードキャスト受信機の情報を開発者(またはユーザ)ポータルコンポーネントと交換させて、開発者の登録データベース内に保存されているような関連する登録されたサービス(たとえば、業者、店舗、ベンダー、サービスなど)についての情報を取得させる。
[0194]オプションのブロック1511において、中心サーバが、サイティングメッセージを認証し得る。受信されたサイティングメッセージ内の認証情報に基づいて、中心サーバは、既知の、さもなければ有効な近隣ブロードキャスト受信機から来たものとしてサイティングメッセージの正当性を確証する、認証動作を実行し得る。上で説明されたように、サイティングメッセージは、有効な近隣ブロードキャスト受信機の識別情報を確証するために使用され得る、秘密コード、証明書、またはハッシュデータのようなデータを含み得る。第三者が、登録されたサービスと関連付けられる近隣ブロードキャスト受信機になりすますことを試みることがあり(たとえば、非道なスパム送信者が、不正なサイティングメッセージを送信することによって、業者の店舗の近隣ブロードキャスト受信機を模擬しようと試みることがある)、中心サーバは、サイティングメッセージ内の情報が有用であり登録されたサービス(たとえば、登録された業者、有効な開発者、または正当な近隣ブロードキャスト受信機を配備する他の関係者)に関連することを確証する認証情報を確認することができる。たとえば、中心サーバは、登録された開発者として中心サーバ内で確立された業者に関するサイティングメッセージ内の不明瞭にされたヘッダ情報を検出することができる。サイティングメッセージが、ある建物内のすべての近隣ブロードキャスト受信機が保有する空間コードのような、中心サーバによって予想される認証情報を含まない、または、中心サーバに記憶された情報と一致しない認証情報を含む場合、中心サーバは、サイティングメッセージとすべての含まれる情報とを無視することができる。たとえば、期限切れの、または不完全な認証情報を伴うサイティングメッセージは、中心サーバにより無視されてよく、または代替的に、不正な可能性のある近隣ブロードキャスト受信機のリストに記憶されてよい。
[0195]オプションのブロック1512において、中心サーバは、取得されたデータおよび/または取り出されたデータに基づいて、ハッシュされたデータを生成することができる。ある実施形態では、オプションのブロック1512の動作は、上で説明されたようなデータ匿名化モジュールによって、中心サーバにより実行され得る。ブロック1514において、中心サーバは、ワイヤレス識別送信機の識別情報に関連して、サイティングメッセージに基づいてデータを記憶することができる。たとえば、中心サーバは、ワイヤレス識別送信機の復号された識別情報に関連して、サイティングメッセージからの識別された関連するデータをデータベースに記憶することができる。ある実施形態では、ブロック1514の動作は、上で説明されたようなデータレイヤモジュールによって、中心サーバにより実行され得る。
[0196]図15Bは、近隣ブロードキャスト受信機から受信されたサイティングメッセージを処理するための、中心サーバのためのある実施形態の方法1550を示す。ユーザにより持ち運ばれるモバイルデバイス上で実行される第3者のアプリケーションが使用するメッセージを送信するために中心サーバが方法1550を実行し得ることを除き、方法1550は上で説明された方法1500と同様である。上で説明されたように、返信メッセージのような様々なメッセージ、警告(または探索アクティブ化メッセージ)が、ユーザと関連付けられるモバイルデバイスのような様々な受信者へ、中心サーバによって送信され得る。たとえば、中心サーバは、ユーザのタブレット、スマートフォン、ワイヤレス受信機デバイス、または他のコンピューティングデバイスにメッセージを送信することができる。受信者はまた、モバイルデバイス上で実行するアプリケーションまたはアプリを含み得る。ある実施形態では、中心サーバはまた、EMT、消防、地元の警察、小売店、業者のコンピューティングデバイス、および広告サーバを含み得る登録されたサービスのような、他の第三者の受信者またはデバイスにメッセージを送信することができる。
[0197]サイティングメッセージを受信したことに応答して中心サーバによって送信されるメッセージは、ユーザにより持ち運ばれる携帯電話またはモバイル近隣ブロードキャスト受信機のようなデバイスに既知のワイヤレス識別送信機の近隣の位置を知らせるために送信され得る。たとえば、小売店内の固定式の近隣ブロードキャスト受信機のような近隣ブロードキャスト受信機が、ユーザと関連付けられるワイヤレス識別送信機からのブロードキャストメッセージを中継するとき、中心サーバは、ユーザが店舗の受信機デバイスの近くにいることを示すメッセージをユーザのモバイルデバイスに返信することによって、応答することができる。さらに、ユーザのデバイスで実行される第三者のアプリケーションは、メッセージ内の情報を使用することができる。たとえば、ユーザのスマートフォンで実行される小売店のアプリは、小売店の建物の近隣の範囲内の、表示エリアの近隣の範囲内にユーザが移動したという通知を受信し得る。様々な他の実施形態では、第三者のアプリケーションは、ワイヤレス識別送信機と関連付けられる所有されたアイテムを追跡するために利用され得る。たとえば、特定の第三者のアプリケーションは、探索されている行方不明の子供の近隣の範囲内にユーザがいるとき、着信音(ring tone)を鳴らすことができる。
[0198]決定ブロック1502において、中心サーバは、サイティングメッセージが受信されるかどうかを決定し得る。中心サーバがサイティングメッセージを受信しない場合(すなわち、決定ブロック1502=「いいえ」)、中心サーバは、決定ブロック1502における動作を継続し得る。中心サーバがサイティングメッセージを受信する場合(すなわち、決定ブロック1502=「はい」)、ブロック1504において、中心サーバは、ワイヤレス識別送信機の情報と、近隣ブロードキャスト受信機の情報と、関連するデータとを、サイティングメッセージに基づいて識別し得る。ブロック1506において、中心サーバは、サイティングメッセージ内のローリング識別子に基づいて、ワイヤレス識別送信機の識別情報を取得し得る。ブロック1508において、中心サーバは、取得されたワイヤレス識別送信機の識別情報に基づいて、ワイヤレス識別送信機のユーザ情報を取り出すことができる。ブロック1510において、中心サーバは、近隣ブロードキャスト受信機のユーザ情報および関連するサービスのような、近隣ブロードキャスト受信機の識別情報を、識別された近隣ブロードキャスト受信機の情報に基づいて取り出すことができる。オプションのブロック1512において、中心サーバは、取得されたデータおよび/または取り出されたデータに基づいて、ハッシュされたデータを生成し得る。ブロック1514において、中心サーバは、ワイヤレス識別送信機の識別情報に関連して、サイティングメッセージに基づいてデータを記憶し得る。
[0199]決定ブロック1552において、中心サーバは、第三者アプリケーション(またはアプリ)が取得された近隣ブロードキャスト受信機情報をもつことを許可されると決定し得る。言い換えれば、ワイヤレス識別送信機のユーザと関連付けられる、中心サーバに記憶されたデータに基づいて、中心サーバは、任意の登録されたサービス、またはユーザのデバイスと関連付けられる第三者アプリケーションを検出し得る。たとえば、中心サーバは、データベース情報を評価して、小売店に対応する第三者アプリケーションをユーザが自身のスマートフォンにインストールしたことを識別することができる。近隣ブロードキャスト受信機の情報は、近隣ブロードキャスト受信機の識別情報(たとえば、IDコードまたは識別子)と近隣ブロードキャスト受信機のユーザ識別情報とを含み得る。ある実施形態では、中心サーバは、第三者が開発者または登録されたサービスとして登録されるときに示される情報、または代替的に、中心サーバ内のユーザのプロファイル内に記憶されたユーザの許可設定に基づいて示される情報のような、第三者の開発者の権利に基づく情報を第三者アプリケーションが許可されるかどうかを識別することができる。ある実施形態では、中心サーバは、受信されたサイティングメッセージ内で提供されるアプリケーション識別情報を使用して、ユーザのデバイス上の第三者アプリケーションが近隣ブロードキャスト受信機の情報を受信できるかどうかを決定することができる。たとえば、サイティングメッセージは、当該サイティングメッセージに対応し、したがって、中心サーバから任意の近隣ブロードキャスト受信機の情報を受信することが許可される、アプリケーションのインジケータ(たとえば、アプリID)を含み得る。
[0200]第三者アプリが取得された近隣ブロードキャスト受信機情報をもつことを許可されない場合(すなわち、決定ブロック1552=「いいえ」)、ブロック1556において、中心サーバは、ワイヤレス識別送信機の識別情報とサイティングメッセージからの関連するデータとのみを含むメッセージをユーザのデバイスに送信することができる。たとえば、中心サーバによって送信されるメッセージは、取得されたワイヤレス識別送信機の識別情報と、ユーザ情報と、タイムスタンプデータと、サイティングメッセージからの位置情報とを含み得る。第三者アプリが取得された近隣ブロードキャスト受信機情報をもつことを許可される場合(すなわち、決定ブロック1552=「はい」)、ブロック1554において、中心サーバは、ワイヤレス識別送信機の識別情報と、近隣ブロードキャスト受信機の情報と、サイティングメッセージからの関連するデータとを含むメッセージをユーザのデバイスに送信し得る。たとえば、中心サーバによってユーザのスマートフォンに送信されるメッセージは、取得された近隣ブロードキャスト受信機の識別情報のインジケータ(たとえば、シリアルコード、グループへの所属、業者のカテゴリなど)を含み得る。中心サーバは次いで、決定ブロック1502の動作を継続し得る。ある実施形態では、中心サーバは、図13を参照して上で説明されたような警告エンジンモジュールを利用して、様々なデバイスへ送信するためのメッセージを送信および/または生成し得る。
[0201]図16は、ワイヤレス識別送信機と、近隣ブロードキャスト受信機と、中心サーバとの間の通信を示す、ある実施形態のコールフロー図1600を示す。上で説明されたように、ワイヤレス識別送信機は、短距離無線を介して、短距離ブロードキャストメッセージ802を定期的に送信し得る。ブロードキャストメッセージ802の信号範囲内にあるとき、近隣ブロードキャスト受信機は、同様の短距離無線を使用してブロードキャストメッセージ802を受信し得る。ブロードキャストメッセージ802は、近隣ブロードキャスト受信機によって処理されてよく、関連するデータは、サイティングメッセージ804として中心サーバに中継され得る。ある実施形態では、サイティングメッセージ804は、ブロードキャストメッセージ、近隣ブロードキャスト受信機および/またはワイヤレス識別送信機の識別情報、近隣ブロードキャスト受信機が復号することが不可能である暗号化された情報、ならびに、ブロードキャストメッセージ802の受信に関する他の情報を含み得る。ある実施形態では、サイティングメッセージ804は、インターネットプロトコルを介して通信するように構成され得る様々なワイヤレスネットワークまたは有線ネットワークを通じて送信され得る。
[0202]中心サーバは、サイティングメッセージ804を受信し処理し得る。サイティングメッセージ804が応答を必要とすることを、サイティングメッセージ中の情報(たとえば、応答を要求するメタデータ、アップグレードされたファームウェアを受信する必要のあるワイヤレス識別送信機にサイティングメッセージが関連する、など)に基づいて、中心サーバが決定する場合、中心サーバは、返信メッセージ1602を生成し、近隣ブロードキャスト受信機に送信し得る。様々な実施形態では、返信メッセージ1602は、構成情報、ワイヤレス識別送信機を記述する識別情報、または上で説明されたような他のデータを含み得る。近隣ブロードキャスト受信機は、返信メッセージ1602を受信し処理し得る。返信メッセージ1602内のデータに基づいて、近隣ブロードキャスト受信機は、オプションで、構成情報と中心サーバからの他のデータとを含み得るメッセージ1604を、ワイヤレス識別送信機に送信し得る。ワイヤレス識別送信機は、図4を参照して上で説明されたような動作を使用して、メッセージ1604のような送信を選択的に受け入れ得る。
[0203]別の選択肢として、近隣ブロードキャスト受信機は、返信メッセージ1602に基づいて、メッセージ1606をローカルサーバに送信し得る。メッセージ1606は、ワイヤレス識別送信機の識別情報と、構成情報と、ソフトウェアルーチンと、ローカルサーバによる記憶、処理、さもなければ追加の使用のための、返信メッセージ1602からの様々な他のデータとを含み得る。メッセージ1606に基づいて、ローカルサーバは今度は、ソフトウェア命令、構成データ、またはメッセージ1606を受信したことに応答して生成される他のデータを含み得る、オプションの応答メッセージ1608を、近隣ブロードキャスト受信機に送信し得る。
[0204]ある実施形態では、中心サーバはまた、構成情報と他のデータとを含むメッセージをローカルサーバ(図示せず)に直接送信し得る。たとえば、近隣ブロードキャスト受信機からのサイティングメッセージ804は、中心サーバが後続の通信のために利用し得るローカルサーバについてのコンタクト情報を提供し得る。
[0205]図17は、アクティブ化メッセージを特定のセクタ中の近隣ブロードキャスト受信機に送信することによって探索をアクティブ化する、中心サーバのためのある実施形態の方法1700を示す。ブロック1702において、中心サーバは、特定のワイヤレス識別送信機(すなわち、ターゲットワイヤレス識別送信機)の近接情報に対する要求、たとえば、上で説明されたユーザ要求を受信し得る。言い換えれば、要求者は、ターゲットワイヤレス識別送信機の位置を探し出す(locate)ことを望み得る。ブロック1704において、中心サーバは、ターゲットワイヤレス識別送信機を探索するための1つまたは複数の初期セクタを識別し得る。初期セクタは、様々な方法で識別され得る。たとえば、要求は位置(たとえば、ターゲットワイヤレス識別送信機の最後の既知の位置)を含み、中心サーバは、当該位置の周りのセクタを識別し得る。あるいは、ターゲットワイヤレス識別送信機は、以前の追跡の試行、または、以前のサイティングに基づく近隣ブロードキャスト受信機から受信されたデータ(たとえば、GPS座標、セルID)に基づく、自身と関連付けられるセクタを有し得る。
[0206]ブロック1706において、中心サーバは、識別されたセクタに基づいて、警告を近隣ブロードキャスト受信機に送信し得る。たとえば、中心サーバは、識別されたセクタに現在位置している近隣ブロードキャスト受信機、セクタ中を頻繁に移動する近隣ブロードキャスト受信機(たとえば、セクタに入ることが知られているモバイル近隣ブロードキャスト受信機)、セクタの近くにいる、もしくは以前に近くにいたことがある近隣ブロードキャスト受信機、および/または今後セクタの中にいることが予測される近隣ブロードキャスト受信機に、警告を送信し得る。様々な実施形態では、警告は、中心サーバが探索を開始またはアクティブ化したことを示し得る。代替的な実施形態では、警告メッセージは、別個のサーバまたは他のネットワーク位置において利用可能であってよく、近隣ブロードキャスト受信機は、警告が維持され得るURLに定期的に問い合わせることができる。たとえば、携帯電話は、時計および他のネットワーク設定のような、種々のデータについて定期的に確認することが多いので、近隣ブロードキャスト受信機は、これらの他のデータの確認に使用されるのと同じ方法、または同じ接続で、警告も確認するように構成され得る。ある実施形態では、中心サーバは、受信者の近隣ブロードキャスト受信機がターゲットワイヤレス識別送信機を識別することが不可能であり得るように、そのような警告メッセージを送信することができる。たとえば、警告メッセージは、中心サーバのみがアクセスできるターゲットワイヤレス識別送信機の、符号化された、暗号化された、さもなければ不明瞭にされた識別子を含み得るので、要求者を除き、すべての近隣ブロードキャスト受信機および他のデバイスに対して、探索を匿名に保つ。別の実施形態では、モバイル近隣ブロードキャスト受信機が任意の警告または探索アクティブ化メッセージを受信したかどうかとは無関係に、モバイル近隣ブロードキャスト受信機がターゲットワイヤレス識別送信機から受信されたブロードキャストメッセージを自動的に中継するように構成される場合、ブロック1706における動作はオプションであり得る。たとえば、モバイル近隣ブロードキャスト受信機は、近隣の範囲内のワイヤレス識別送信機から受信された任意のブロードキャストメッセージを含むサイティングメッセージを中心サーバに送信し得る。
[0207]警告を送信すると、決定ブロック1710において、中心サーバは、ターゲットワイヤレス識別送信機の近接の報告がサイティングメッセージを介して受信されたかどうかを決定することができる。言い換えれば、中心サーバは、ターゲットの、または探索されているワイヤレス識別送信機が、近隣ブロードキャスト受信機の近隣の範囲内にあり、したがって位置決定されていることを示す、サイティングメッセージを受信するために、待機し得る。中心サーバは、受信されたサイティングメッセージ内のローリング識別子を復号(decode)、復号(decrypt)、さもなければアクセスして、ローリング識別子がターゲットワイヤレス識別送信機の識別情報と一致するかどうかを決定し得る。ターゲットワイヤレス識別送信機の近接の報告が受信される場合(すなわち決定定ブロック1710=「はい」)、中心サーバは、ブロック1712において、近隣ブロードキャスト受信機から受信されたあらゆるデータとともに、要求者に応答を送信し得る。決定定ブロック1710において待機してサイティングメッセージ(または他の位置報告)を近隣ブロードキャスト受信機から受信し、ブロック1712において1つまたは複数の要求者に応答を送信するプロセスは、警告が有効なままである限り(たとえば、子供が発見され、要求側の機関によって警告が取り消されるまで)、または、中心サーバがターゲットワイヤレス識別送信機の近接の報告の受信を停止するまで(すなわち、決定ブロック1710=いいえ)、継続し得る。
[0208]決定ブロック1714およびブロック1716において、中心サーバは、探索エリアを拡大するように探索セクタを調整し、動いているターゲットワイヤレス識別送信機を追うようにセクタからセクタへ探索エリアを移動させ、要求者または機関から受信された、探索を動かし、拡大し、または絞り込むためのコマンドに応答するように構成され得る。このようにして、中心サーバは、デバイスが位置決定され追跡され得る確率を上げるために、近隣ブロードキャスト受信機に通知することによって、探索セクタをアクティブに調整することができる。決定ブロック1714において、中心サーバは、探索の期間が時間閾値を超えたかどうか、報告された位置がターゲットワイヤレス識別送信機はセクタから離れていることを示すかどうか、または、探索セクタコマンドが受信されたかどうかを、決定することができる。探索の期間、または最後の報告からの期間が、所定の時間閾値未満である限り、ターゲットワイヤレス識別送信機は、探索セクタの外には出ず、および/または中心サーバは探索エリアを調整することを命令されず(すなわち、決定ブロック1714=いいえ)、中心サーバは、決定ブロック1710における、サイティングメッセージを介した近接の報告の待機と受信とを継続し得る。
[0209]ある実施形態では、中心サーバが、ターゲットワイヤレス識別送信機(すなわち、決定ブロック1710=いいえ)に関して、サイティングメッセージを介した近接報告(たとえば、要求されたワイヤレス識別送信機が近隣ブロードキャスト受信機とペアリングされた、または近隣ブロードキャスト受信機の近隣の範囲内にあったということの指示)を受信できない場合、またはその受信を止める場合、中心サーバは、決定ブロック1714において、探索の開始または最後に受信された報告からの時間が所定の閾値を超えるかどうかを決定し得る。この所定の閾値は、たとえば怪しいと思われる(suspected)輸送機関(transportation)モードに応じて、探索がアクティブ化された時点で要求者またはオーソリティによって設定され得る。たとえば、探索は、子供の最後の既知の位置の周りのセクタにおいてアクティブ化され得るが、誘拐者が徒歩で移動していることが疑われる場合、15分以内へと広げ、または、誘拐者が自動車で移動していることが疑われる場合、5分以内へと広げるように構成され得る。このようにして、中心サーバは、探索エリアを自動的に広げることができる。探索が開始されてから、または最後の位置報告が受信されてから、事前に設定された期間が満了したと中心サーバが決定する場合(すなわち、決定ブロック1714=はい)、中心サーバは、ブロック1716において、ターゲットワイヤレス識別送信機を探索すべき新たなセクタを特定し得、ブロック1706において、新たなセクタ内での新たな警告が、近隣ブロードキャスト受信機に送信され、さもなければ近隣ブロードキャスト受信機に対して利用可能にされ得る。このようにして、探索は、移動している可能性のある誘拐者に対応するために、より大きなエリアを包含するように広がり得る。
[0210]別の実施形態では、探索は、ターゲットワイヤレス識別送信機の動きに基づいて広げられ得る。たとえば、進行中の探索において、中心サーバは、1つまたは複数の近隣ブロードキャスト受信機からサイティングメッセージを受信している可能性がある。これらのメッセージ中の時間と位置とに基づいて、中心サーバは、ターゲットワイヤレス識別送信機が、ある特定の方向、たとえば、高速道路上を遠ざかる方向に移動していると仮定し、移動の方向にあるセクタを追加して、ターゲットワイヤレス識別送信機の今後の位置を予測することができる。したがって、決定ブロック1714において、中心サーバは、ターゲットワイヤレス識別送信機がそのセクタから離れつつあることを受信された報告される位置(または近接)が示すと、決定し得る。これは、決定ブロック1710において受信された一連の位置または近接をデジタル地図と比較して、移動の方向と速さとを推定することによって達成され得る。位置または近接の報告の受信が止まり、ターゲットワイヤレス識別送信機が現在の探索セクタから出たと、中心サーバが決定すると(すなわち、決定ブロック1714=はい)、ブロック1716において、中心サーバは探索すべき新たなセクタを特定し得、ブロック1706において、新たなセクタを伴う新たな警告が、近隣ブロードキャスト受信機に送信され、さもなければ近接ブロードキャスト受信機に利用可能にされ得る。ブロック1716において、特定された新たなセクタは、中心サーバによって推定される動きの方向に沿った1つまたは複数のセクタであり得る。このようにして、探索は、動いているワイヤレス識別送信機を追跡するために、セクタからセクタへ順番に移され得る。
[0211]別の実施形態では、中心サーバは、探索エリアを広げ、移し、または絞り込むためのコマンドを受信するように構成され、このコマンドは決定ブロック1714において受信され得る。中心サーバが、探索を広げるためのコマンドを受信する場合(すなわち、決定ブロック1714=はい)、中心サーバは、ブロック1716において、受信されたコマンドに従って、ターゲットワイヤレス識別送信機を探索すべき新たなセクタを特定することができ、ブロック1706において、新たなセクタを伴う新たな警告が、近隣ブロードキャスト受信機に送信され、さもなければ近隣ブロードキャスト受信機に対して利用可能にされ得る。このようにして、要求者または探索機関は、たとえば通報および目撃報告を調査するために、中心サーバを介して探索を動的に調整し得る。
[0212]あるいは、探索は徐々に広げられてよい。中心サーバは、最初は1つまたはわずか数個のセクタを特定し得るが、ターゲットワイヤレス識別送信機が位置特定されない場合、中心サーバは警告すべき追加のセクタを特定し得る。たとえば、子供が放課後に行方不明になった場合、警告は学校のセクタ中の近隣ブロードキャスト受信機に送信され、次いで、隣接するセクタ中のデバイスに送信され、次いで、町の他の所にあるデバイスに送信され、次いで、必要であれば、隣接する町の中のおよびその向こうにあるデバイスにも送信され得る。
[0213]セクタによる探索は、ネットワークリソースを節減し、より効率的な応答を可能にし得る。近隣ブロードキャスト受信機にオプトインした携帯電話のユーザは、他の都市または州における非生産的な探索、たとえば、アトランタで行方不明になったワイヤレス識別送信機を探すカリフォルニアの電話探索などについて、心配しなくてよい。放課後の数時間だけ行方不明になっているアトランタの子供が、国を横断してカリフォルニアにたどり着くのは不可能であろう。しかしながら、探索が進行し時間が経過すると、適宜、セクタが追加され探索範囲が広げられてよい。
[0214]様々な実施形態は、関与する各関係者のプライバシーを守るための、1つまたは複数の特徴を含み得る。様々な実施形態において、近隣ブロードキャスト受信機は、探索について、近隣ブロードキャスト受信機のユーザに何も報告しなくてよい(たとえば、携帯電話は、ターゲットワイヤレス識別送信機の識別子、要求者の識別情報、ターゲットワイヤレス識別送信機が発見されたかどうか、または探索が実行中であることすらも、ユーザに対して明らかにしなくてよい)。様々な実施形態において、任意の近隣ブロードキャスト受信機の個人情報は、任意のそのような情報を、中心サーバに送信される任意のデータから除外することによって、保護され得る。
[0215]図18は、近隣ブロードキャスト受信機がワイヤレス識別送信機を見失ったか(lost)どうかを決定する、中心サーバのためのある実施形態の方法1800を示す。中心サーバにおいて、近隣ブロードキャスト受信機は、ワイヤレス識別送信機と関連付けられ得る。たとえば、近隣ブロードキャスト受信機は、資産(たとえば、財布、小銭入れ、荷物、薬箱、衣服など)の中にあるワイヤレス識別送信機と関連付けられるユーザのスマートフォンであり得る。特定のワイヤレス識別送信機と関連付けられる近隣ブロードキャスト受信機からサイティングメッセージを受信できなかったことに応答して、中心サーバは、ワイヤレス識別送信機(およびそれが接続されている物体)が行方不明である、存在しない、置き忘れられた、さもなければ近隣ブロードキャスト受信機の近隣にないことを示す、警報(warning)などのメッセージを送信するように構成され得る。この実施形態の方法1800は、持ち物、ペット、および子供などの何らかの貴重なものを監視するのに有用であり得る。たとえば、子供が親から遠くに離れると、子供のワイヤレス識別送信機からのブロードキャストメッセージは、もはや親の近隣ブロードキャスト受信機によって受信されない可能性がある。結果として、親の近隣ブロードキャスト受信機は、中心サーバにサイティングメッセージを送信できず、中心サーバは、子供が行方不明になった、または遠くに離れたと決定し得る。
[0216]ブロック1802において、中心サーバは、たとえば、データベース内に情報を記憶することによって、近隣ブロードキャスト受信機とワイヤレス識別送信機との関係を登録することができる。様々な実施形態において、各々の近隣ブロードキャスト受信機およびワイヤレス識別送信機は、多数の関係に関与し得る。加えて、関係情報は、登録ウェブポータルを介してユーザ入力データに基づいて中心サーバに記憶され得る(たとえば、ユーザは、ウェブサイトにアクセスし、自身のワイヤレス識別送信機のすべてを示すことができる)。そのような登録の間、中心サーバは、ワイヤレス識別送信機が行方不明であるとき、さもなければ近隣ブロードキャスト受信機の近隣の外側にあるときに、中心サーバがメッセージを送信すべき条件を提供するように、ユーザに促し得る。たとえば、ユーザは、近隣ブロードキャスト受信機が1日のうちの数時間ワイヤレス識別送信機からブロードキャストメッセージを受信しなければ中心サーバが警報メッセージを送信すべきであることを示す、中心サーバにより記憶される構成データを入力し得る。
[0217]決定ブロック1804において、中心サーバは、サイティングメッセージがワイヤレス識別送信機に関する近隣ブロードキャスト受信機から受信されたかどうかを決定し得る。言い換えれば、そのようなサイティングメッセージが受信されるかどうかに基づいて、中心サーバは、ワイヤレス識別送信機が近隣ブロードキャスト受信機の近くにあるかどうかを検出し得る。中心サーバはまた、ある期間にわたって受信されたサイティングメッセージを評価して、近隣ブロードキャスト受信機の近隣の範囲内にワイヤレス識別送信機がある(または最近あった)かどうかを決定し得る。ある実施形態では、中心サーバは、その関係に登録された各ワイヤレス識別送信機のためのサイティングメッセージを受信するかどうかを決定し得る。たとえば、登録された関係が複数のワイヤレス識別送信機を含む場合、中心サーバは、すべてのワイヤレス識別送信機に関して、近隣ブロードキャスト受信機からサイティングメッセージを受信すると予想し得る。中心サーバがワイヤレス識別送信機に関するサイティングメッセージを受信する場合(すなわち、決定ブロック1804=「はい」)、オプションのブロック1805において、中心サーバは、ある期間待機し、決定ブロック1804の動作を継続し得る。様々な実施形態において、中心サーバは、定期的に、たとえば、数秒ごと、数分ごと、または数時間ごとに、決定ブロック1804の動作を実行し得る。
[0218]中心サーバがワイヤレス識別送信機に関するサイティングメッセージを受信しない場合(すなわち、決定ブロック1804=「いいえ」)、ブロック1806において、中心サーバは、ワイヤレス識別送信機が行方不明であることを示すメッセージを送信し得る。様々な実施形態において、中心サーバは、そのようなメッセージを、近隣ブロードキャスト受信機、近隣ブロードキャスト受信機のユーザと関連付けられる他のデバイス(たとえば、スマートフォン、タブレット)、および/または、ワイヤレス識別送信機に関連する任意の他のデバイスに送信し得る。たとえば、中心サーバは、ワイヤレス識別送信機が行方不明であり子供と関連付けられる場合、警報メッセージを警察のサーバに送信し得る。
[0219]図19は、中心サーバ内で実施され得るある実施形態の方法1900を示す。方法1900は、最初はワイヤレス識別送信機によってブロードキャストされる、符号化されたデータ、ローリングするデータ、さもなければ保護されたデータを含むサイティングメッセージを、近隣ブロードキャスト受信機から受信したことに応答して、中心サーバによって実行され得る。ワイヤレス識別送信機のユーザのプライバシーは、識別子が時間とともに変わるように、各ワイヤレス識別送信機に対してローリング識別子またはランダムに変化する識別子を使用することによって、保護され得る。ワイヤレス識別送信機がある回数またはある時間期間(とえば、1時間)識別子をブロードキャストしたとき、または1つまたは複数のペアリングの後など、定期的に、またはあるイベントに基づいて、新たな識別子が生成され得る。識別子のこのローリングは、ワイヤレス識別送信機が依然として追跡され得るように、中心サーバと調整され得る。たとえば、ワイヤレス識別送信機および中心サーバは、共通のタイムスケールで識別子を生成するために使用される暗号学的に安全な擬似乱数生成器アルゴリズムを各々有し得るので、任意の所与の瞬間に、中心サーバは、特定のワイヤレス識別送信機によって送信されている識別子を計算し得る。
[0220]ローリング識別子を生成すること、または識別子を難読化する他の方法は、第三者からのなりすまし攻撃を防ぎ得るという点で重要である。たとえば、識別子が不変であれば、第三者は、たとえば、近隣ブロードキャスト受信機になりすまし、次いで、識別子を使用してワイヤレス識別送信機を追跡することによって、識別子を探り出すことができる。ローリング識別子は、第三者が擬似乱数生成器または最新のローリング識別子を生成する他の手段を欠いている場合、そのような攻撃を妨げて不可能なものにし得る。
[0221]ブロック1902において、中心サーバは、近隣ブロードキャスト受信機からのサイティングメッセージの中で、ワイヤレス識別送信機のローリング識別子を受信し得る。ブロック1904において、中心サーバは、ローリング識別子を、ワイヤレス識別送信機と共有されるアルゴリズム、たとえば擬似ランダム関数または共有される秘密鍵を伴う暗号化アルゴリズムによって計算されるコードと、比較し得る。アルゴリズムは、ある期間にわたってワイヤレス識別送信機によって生成されブロードキャストされるローリング識別子とアラインする(align)ことが予想されるコードを計算するために中心サーバによって利用される、ソフトウェア命令、ルーチン、アルゴリズム、回路、またはモジュールであり得る。様々な実施形態において、一部の識別子が欠けていた場合、中心サーバは、受信された識別子を次のいくつかのコードと比較し得る。受信された識別子が中心サーバによって生成または予想される任意のコードと一致する場合、ブロック1906において、中心サーバは、一致する識別子と任意の関連するデータとを、ワイヤレス識別送信機に対応するシリアルコードと関連付けることができる。このように、中心サーバがワイヤレス識別送信機のシリアルコードを伴うユーザ要求、たとえば、子供により持ち運ばれるワイヤレス識別送信機を位置特定するための親からの要求を後で受信すると、中心サーバは、以前のそれぞれのローリング識別子を探索する必要なく、すべての以前の一致と任意の関連するデータとを見つけることができる。
[0222]ある実施形態では、ターゲットワイヤレス識別送信機の探索を開始するとき、中心サーバは、共有されるアルゴリズムと情報(たとえば、鍵)とを使用して、警告メッセージで送信されるターゲットデバイスIDを生成し得る。この実施形態では、警告メッセージは、ターゲットワイヤレス識別送信機がその識別子をローリングするようにスケジューリングされるときは常に、更新されたターゲットデバイスIDとともに再送信され得る。ローリング識別子または他の符号化された識別子を生成するための様々なアルゴリズム、さらには他の復号アルゴリズムが、以下で論じられる。
[0223]図20〜図23Bは、ワイヤレス識別送信機と中心サーバとの間でノンスまたはカウンタを同期して、不明瞭にされた情報の送信と受信とを可能にするための様々な実施形態の方法を示す。ワイヤレス識別送信機は、ワイヤレス識別送信機を中心サーバに対して識別し、ワイヤレス識別送信機時計の相対的な読取り値を提供する、不明瞭にされた識別子とデータ(すなわち、ペイロード)とを含むメッセージをブロードキャストするための様々な方法を実行し得る。同様に、中心サーバは、ワイヤレス識別送信機に対応する受信されたメッセージ内の不明瞭にされた情報を処理するための様々な方法を実行し得る。上で説明されたように、ワイヤレス識別送信機からのブロードキャストメッセージは、中心サーバに直接送信されてよく、または、サイティングメッセージを送信する近隣ブロードキャスト受信機のような中間デバイスを通じて送信されてよい。
[0224]上で説明されたデバイスの意図されない追跡に関するプライバシーの問題のため、ワイヤレス識別送信機は、中心サーバおよびワイヤレス識別送信機にのみ知られている不明瞭化対策(たとえば、暗号化および擬似ランダムデータ生成)を通じて、送信されたメッセージ内の情報を不明瞭にすることができる。ある実施形態では、ワイヤレス識別送信機は、ノンスまたはカウンタ値によって表され、デバイスが動作可能になる(たとえば、バッテリの装着を通じてアクティブ化される)と開始し得る、時計またはタイマー機構を管理し得る。この時計は比較的低品質であり得るので、中心サーバの中の時計(たとえば、定期的な原子時計の読取り値により較正される時計)などのより正確な時計とは異なり、ずれることがある。カウンタまたはノンスは、ワイヤレス識別送信機によって生成される繰り返されない数であってよく、ワイヤレス識別送信機が自身の識別子をブロードキャストのために符号化するたびに、たとえば、1時間に1回、またさらには各々のブロードキャストメッセージに1回、変更され得る。様々な実施形態において、ノンスまたはカウンタ(またはカウンタ値)は、擬似ランダム関数または他の暗号化アルゴリズム(たとえば、AES)を使用して、符号化または暗号化され得る。たとえば、ワイヤレス識別送信機は、AES−CTRブロック暗号によってノンスまたはカウンタ値を符号化して、ブロードキャストメッセージのローリング識別子を含むペイロードを生成する際に使用するノンスを作成し得る。別の例として、ノンスは、線形帰還シフトレジスタ(LSFR)をノンスまたはカウンタ値に適用することによって生成され得る。
[0225]本開示全体で説明されるように、ワイヤレス識別送信機はまた、固有のデバイス識別コードまたは番号(すなわち、デバイス識別子または「deviceID」)を記憶し得、中心サーバにおいて固有の識別子と関連付けられるデバイスごとの共有秘密鍵(またはK)を予め供給され得る。たとえば、中心サーバは、固有のデバイス識別子と秘密鍵とをデータベースに記憶し得、中心サーバに登録されたすべてのワイヤレス識別送信機に対してdeviceIDとKのペアのテーブルを保持し得る。中心サーバは、報告されたノンスまたはカウンタ値のような他の情報とともに、デバイス識別子と秘密鍵とを使用して、ワイヤレス識別送信機からの不明瞭にされたメッセージを識別し、復号し(decrypt)、さもなければ処理し得る。ある実施形態では、デバイス識別子(またはdeviceID)は、順番にまたはランダムに生成され得る。
[0226]図20は、ワイヤレス識別送信機によってブロードキャストされるメッセージ内の暗号化されたデータによって示される、ワイヤレス識別送信機を識別するための、中心サーバのためのある実施形態の方法2000を示す。ブロック2002において、ワイヤレス識別送信機は、共有秘密鍵(すなわち、「K」)を受信し得る。言い換えれば、ワイヤレス識別送信機は、たとえば製造の間、デバイスごとに共有秘密鍵(K)を予め供給され得る。別の実施形態では、ワイヤレス識別送信機は、図4Aを参照して上で説明されたように、近接した近隣ブロードキャスト受信機からブロードキャストされるメッセージ中で秘密鍵を受信いえる。秘密鍵は、中心サーバにおいて、ワイヤレス識別送信機の固有のデバイス識別子(すなわち、deviceID)と関連付けられ得る。ある実施形態では、秘密鍵は、128ビットの秘密鍵であり得る。
[0227]ブロック2004において、ワイヤレス識別送信機は、ストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR暗号化)を介して、デバイス識別子(deviceID)と、秘密鍵(K)と、ノンスまたはカウンタ値とを符号化して、ローリング識別子を生成し得る。「AES−CTR」は、Advanced Encryption Standard(AES)の実装のために、National Institute of Standards and Technologyによって推奨される、秘密モードの1つである。ある実施形態では、ワイヤレス識別送信機は、「CTR」モードをサポートするように構成されるAESコプロセッサを含み得る。ある実施形態では、ローリング識別子は、次の式によって表され得る。
ローリング識別子 = (deviceID || data) XOR (MSB_N( AES_K(t)))
ここで、tはワイヤレス識別送信機のノンスまたはカウンタの値(たとえば、20ビットの値)であり、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「MSB_N()」は「N」個の最上位ビット(たとえば、60ビット)を意味する。このローリング識別子は次いで、ワイヤレス送信機デバイスによって通常送信されるブロードキャストメッセージに含められ得る。ローリング識別子がどのようにBluetooth LEブロードキャストパッケージに含められ得るかの例が、図28を参照して以下で説明される。以下でより詳しく説明されるように、他のデバイスデータ(たとえば、バッテリレベル、温度など)が、ブロードキャストパケット中でローリング識別子とともに送信され得る。
[0228]さらなる実施形態では、他の情報が、ローリング識別子の中に含められ得る。したがって、ワイヤレス識別送信機に対して不明瞭にされた識別子を提供することに加えて、ローリング識別子フィールドは、中心サーバのみが復元できる不明瞭にされたデータを含み得る。これを達成するための1つの方法は、追加の情報、たとえば、バッテリ状態(bat_stat)を示すための数ビットをデバイス識別子(deviceID)に連結し、連結されたものにXOR関数を適用することである。ローリング識別子内に含まれ得る(すなわち、ローリング識別子の同じデータフィールド内で不明瞭にされる)追加の情報の量(すなわち、情報のビットの数)は、ローリング識別子フィールド内の長さNの上位ビットによって制限される。したがって、ローリング識別子を搬送するデータ部分においてより多くのビットが利用可能であれば、より多くのそのようなデータが、暗号化されたローリング識別子内に含まれ得る。ローリング識別子に含まれるデータは時間とともに変化する可能性が高いので、この手法はさらに、デバイスの識別情報を不明瞭にし得る。
[0229]より多くのデータがブロードキャストメッセージにおいて送信されることが望まれる場合、そのデータの一部は、暗号化されずに搬送されてよく、またはデータによって暗号されてよい。ブロードキャストメッセージにデータ(たとえば、バッテリ状態、温度など)を含めるための、多数の手法がある。上で説明されたようにローリング識別子内にデータを含めることに加えて、データは、ローリング識別子の終わりに製造業者固有のデータペイロードの一部としてデータを連結し、ローリング識別子の前または後のいずれかに暗号化されていないセンサデータとして連結することによって、追加され得る。したがって、製造業者固有のデータペイロードにおいて利用可能なビットがより多い場合、それらのビットは、暗号化せずにデータを運ぶために使用され得る。あるいは、データは、ローリング識別子を生成するために使用されるものと同じ鍵、または、ワイヤレス識別送信機もしくはそのようなデータフィールドと関連付けられることがサーバに知られている代替的な鍵を使用して、符号化され得る。この代替形態では、ローリング識別子中の情報は、サーバが、デバイスの真の識別子と、メッセージに含まれる他のデータを暗号化するために使用される暗号化鍵の両方を決定することを可能にする。またさらなる実施形態では、他のデータを搬送するためのこれらのオプションは組み合わされ得、その一部はローリング識別子内に含まれ、一部は暗号化されずに搬送され、および/または一部のデータは暗号化されブロードキャストメッセージ内に含められ得る。
[0230]ブロック2006において、ワイヤレス識別送信機は次いで、ノンスとローリング識別子とを含むメッセージ、または単に、図28を参照して以下で説明されるようにローリング識別子(すなわち、ノンスを伴わない)をブロードキャストし得る。ある実施形態では、ブロードキャストメッセージは、単一パケット長のBluetooth LE(登録商標)チャープメッセージであり得る。様々な実施形態において、ブロードキャストメッセージに含まれるノンスは20ビットであり、ローリング識別子は60ビットであるので、ブロードキャストメッセージ全体は80ビットである。
[0231]バッテリ状態がローリング識別子内に含まれる例示的な実施形態として、ブロードキャストメッセージ(またはブロードキャストメッセージのペイロード)は、次の式によって表され得る。
ペイロード = t || ( deviceID || bat_stat) XOR (MSB_N( AES_K(t)))
ここで、tは、ただのノンスまたはカウンタ(たとえば、20ビットの値)であり得るワイヤレス識別送信機のノンスの値であり、「bat_stat」はデバイスのバッテリ状態情報(たとえば、4ビットのコード)であり、「||」は連結を意味し、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「MSB_N()」は「N」個の最上位ビット(たとえば、60ビット)を意味する。言い換えれば、実施形態のブロードキャストメッセージは、バッテリレベルインジケータを含むローリング識別子に加えて、暗号化されていない(すなわち、暗号化されない)ノンスを含み得る。別の実施形態では、バッテリレベルインジケータ(すなわち、bat_stat)は暗号化されなくてよく、ブロードキャストメッセージの別のフィールド中、たとえば、図28を参照して以下で説明されるようなメッセージのサービスのUUID(universally unique identifier)部分の中に含まれ得る。
[0232]別の実施形態では、ペイロードはノンスtを含まず、この場合、ペイロードは次の式によって表され得る。
ペイロード = ( deviceID || bat_stat) XOR (MSB_N( AES_K(t)))
[0233]ブロック2010において、中心サーバは、たとえば、図14を参照して上で説明されるアカウント作成動作の間に、共有される秘密鍵(K)を受信し得る。たとえば、中心サーバは、ワイヤレス識別送信機のユーザからアカウント登録情報(たとえば、deviceIDおよび登録要求情報)を受信したことに応答して、秘密鍵を生成し得る。ブロック2012において、中心サーバは、共有秘密鍵(すなわち、K)を、ワイヤレス識別送信機のデバイス識別子(すなわち、deviceID)と関連付けることができる。たとえば、中心サーバは、登録されたデバイスのデータテーブルに、deviceIDとKとを記憶することができる。
[0234]ブロック2014において、中心サーバは、ノンスまたはカウンタとローリング識別子とを含むメッセージを受信し得る。たとえば、受信されたメッセージは、ブロック2006の動作によりワイヤレス識別送信機によってブロードキャストされる情報を含む、近隣ブロードキャスト受信機からのサイティングメッセージであり得る。ブロック2016において、中心サーバは、受信されたメッセージからノンスまたはカウンタを抽出し、ブロック2018においてローリング識別子を抽出し得る。ブロック2019において、中心サーバは、評価すべきワイヤレス識別送信機(すなわち、選択されたワイヤレス識別送信機)を選択し得る。言い換えれば、中心サーバは、中心サーバに知られている登録されたワイヤレス識別送信機に対する記憶されたdeviceIDと、Kと、ノンスまたはカウンタとを、たとえば、すべての登録されたワイヤレス識別送信機に対するそのような情報を記憶するデータベースまたはデータテーブルから、取得し得る。ブロック2020において、中心サーバは、ノンスまたはカウンタおよび選択されたワイヤレス識別送信機の秘密鍵(K)によって、同じストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR)を介してローリング識別子を復号し、復号されたデバイス識別子(またはM)を生成し得る。たとえば、中心サーバは、選択されたワイヤレス識別送信機の秘密鍵(K)および受信されたメッセージ中で示されるノンスまたはカウンタとともに、入力としてローリング識別子を使用する、AES−CTRアルゴリズムに基づいて、復号動作を実行し得る。
[0235]ある実施形態では、復号されるデバイス識別子(M)は、次の式によって表され得る。
M = (ローリング識別子) XOR (MSB_{N-a}( AES_K(t) ))
ここで、tはワイヤレス識別送信機のノンスまたはカウンタの値(たとえば、20ビットの値)であり、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「MSB_{N−a}」は「N−a」個の最上位ビット(たとえば、aが4ビットでありNが60ビットである場合56ビット)を意味する。
[0236]決定ブロック2022において、中心サーバは、復号されたデバイス識別子(M)とdeviceIDが一致するかどうかを決定し得る。言い換えれば、中心サーバは、復号されたデバイス識別子(M)を、復号されたデバイス識別子(M)を取得するためのAES−CTRアルゴリズム演算とともにその秘密鍵(K)が使用された選択されたワイヤレス識別送信機のdeviceIDと、比較し得る。MとdeviceIDが一致する場合(すなわち、決定ブロック2022=「はい」)、ブロック2024において、中心サーバは、当該ブロードキャストメッセージが選択されたワイヤレス識別送信機から発信されるものと識別し得る。MとdeviceIDが一致しない場合(すなわち、決定ブロック2022=「いいえ」)、ブロック2026において、中心サーバは、他のワイヤレス識別送信機と関連付けられる秘密鍵によって、ローリング識別子を復号することができる。たとえば、中心サーバは、次の登録されるワイヤレス識別送信機を選択し、秘密鍵(K)および対応するdeviceIDの対応する記憶されたペアを使用する。このようにして、ブロードキャストメッセージの発信者を識別する一致が発見されるまで、すべての登録されたワイヤレス識別送信機および/またはシステムのユーザのために記憶されるすべてのKとdeviceIDのペアが、中心サーバにより試され得る。
[0237]図21Aは、中心サーバによる受信/使用のために、暗号化されたメッセージ(すなわち、ローリング識別子)を生成しブロードキャストする、ワイヤレス識別送信機のための実施形態の方法2100を示す。
[0238]ブロック2102において、ワイヤレス識別送信機のユーザは、中心サーバにデバイスを登録し得る。ワイヤレス識別送信機が利用するサービスは、ユーザ(たとえば、消費者、所有者)により利用されるすべてのアクティブなデバイスの登録を必要とし得る。登録プロセスは、ワイヤレス識別送信機のユーザによる中心サーバとの初期の同期を含み得る。たとえば、ワイヤレス識別送信機のユーザは、ワイヤレス識別送信機メッセージを受信することが可能でありユーザにより操作されるモバイルデバイスまたはPCにおいて、ウェブアプリケーションを通じて中心サーバにデバイスを登録し得る。ワイヤレス識別送信機は、デバイスのアクティブ化からある時間期間内に、中心サーバへ登録されることを要求され得る。たとえば、ワイヤレス識別送信機は、デバイスが初期化されてから(たとえば、バッテリがワイヤレス識別送信機に設置されてから)最初の24時間以内に登録されることを要求され得る。登録動作は、図14を参照して上でさらに説明されている。
[0239]ブロック2104において、ワイヤレス識別送信機は、たとえば、ノンスまたはカウンタを値0に設定することによって、内部のノンスまたはカウンタを初期化し得る。ノンスまたはカウンタの初期化は、トリガとなるイベント、たとえば、ワイヤレス識別送信機内へのバッテリまたは電源の設置により起こり得る。たとえば、ノンスまたはカウンタは、ワイヤレス識別送信機がアクティブ化またはパワーオンされると、インクリメントを始める。あるいは、初期化は、上で説明された登録動作に応答して起こり得る。ノンスまたはカウンタは、「0」(または「1」のような任意の他の開始値)で始まり、ワイヤレス識別送信機によって定期的にインクリメントされ得る。ある実施形態では、ワイヤレス識別送信機のバッテリが交換される(たとえば、バッテリの故障により)と、または、ワイヤレス識別送信機がそうではなくリセット/再始動(restarted)/再起動(rebooted)されると、ノンスまたはカウンタは初期値(たとえば、「0」)に戻り得る。ノンスまたはカウンタは、ワイヤレス識別送信機がリセット/再始動/再起動されない限り、自身が表す値を繰り返さない。代替的な実施形態では、ノンスまたはカウンタの初期化の間、ワイヤレス識別送信機は、予め定められた初期ノンスまたはカウンタ値をフラッシュメモリから読み取る。たとえば、ワイヤレス識別送信機は、工場において設定された、またはインストールされたアプリケーションにより更新された値によって、ノンスまたはカウンタを初期化し得る。
[0240]ある実施形態では、カウンタまたはノンスは、当技術分野においてよく知られている方法を使用して、ランダムな、または擬似ランダムな方式で初期化され調整され得る。ノンスまたはカウンタは、ワイヤレス識別送信機と中心サーバの両方において複製され得る、擬似ランダムに生成された値であり得る。別の実施形態では、ノンスまたはカウンタは、デバイスの連続動作時間の間は繰り返されないノンスまたはカウンタ値を作成するように構成される適切な期間を伴う線形帰還シフトレジスタ(LFSR)を使用して、ワイヤレス識別送信機によって生成され得る。LFSRから導出されるそのようなノンスまたはカウンタも、擬似ランダムであり得る。
[0241]ブロック2106において、ワイヤレス識別送信機は、秘密鍵と中心サーバに知られている暗号化アルゴリズムとを使用して、連結されたデータを暗号化し得る。たとえば、ワイヤレス識別送信機は、AES−CTRブロック暗号を使用して、ノンスまたはカウンタおよび/またはデバイス識別子(すなわち、deviceID)を符号化し得る。暗号化アルゴリズムは、暗号化および復号(decryption)の目的で秘密鍵を利用し得、それは、秘密鍵が中心サーバとワイヤレス識別送信機の両方に知られているからである。暗号化アルゴリズムは、あるサイズの暗号化された(または符号化された)データをもたらし得る。たとえば、AES−CTR暗号を使用して、ワイヤレス識別送信機は、128ビットの符号化されたデータを生成することができる。ある実施形態では、ワイヤレス識別送信機は、次の式によって表される暗号化されたデータを生成することができる。
( deviceID || bat_stat) XOR (MSB_N( AES_K(t)))
ここで、tはワイヤレス識別送信機のノンスまたはカウンタの値(たとえば、20ビットの値)であり、「bat_stat」はワイヤレス識別送信機のバッテリ状態情報(たとえば、4ビットのコード)であり、「||」は連結を意味し、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「MSB_N()」は「N」個の最上位ビット(たとえば、60ビット)を意味する。言い換えれば、実施形態のブロードキャストメッセージは、バッテリレベルインジケータを含むローリング識別子に加えて、暗号化されていない(すなわち、暗号化されない)ノンスまたはカウンタを含み得る。別の実施形態では、暗号化されたデータは、次の式によって表され得る。
(deviceID) XOR (AES_K(t))
ここで、deviceIDはユニークなデバイス識別子であり、tはワイヤレス識別送信機のノンスまたはカウンタの値(たとえば、20ビットの値)であり、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「MSB_N()」は「N」個の最上位ビット(たとえば、60ビット)を意味する。
[0242]ワイヤレス識別送信機の限定された通信能力により、ブロードキャストメッセージのペイロード(たとえば、Bluetooth LEブロードキャストパケットによってサポートされるペイロード)は、暗号化されたメッセージ全体を含むことができないが、代わりに、暗号化された1つのデータの一部分のみを含み得る。したがって、ブロック2108において、ワイヤレス識別送信機は、データを切り詰めて(truncate)、復号不可能なローリング識別子を生成し得る。言い換えれば、暗号化されたデータを切り詰めことによって、ワイヤレス識別送信機は、識別子のサイズがBluetooth LEなどの利用される通信フォーマットによりサポートされ得るように、ブロードキャストメッセージ(またはペイロード)に置かれるべき識別子を作成し得る。たとえば、ワイヤレス識別送信機は、80ビットのペイロード最大サイズに収まるように、暗号化されたデータを切り詰める。暗号化されたデータが切り詰められると、中心サーバ内のそのデータの復号(decryption)は不可能であり得る。しかしながら、図21Bを参照して以下で説明されるように、不完全な暗号化されたデータは、中心サーバによって依然として使用され得る。ある実施形態では、切り詰めは、最上位ビット演算のような関数によって達成され得る。別の実施形態では、切り詰められたデータは、次の式によって表され得る。
TRUNC (deviceID XOR AES_K(t))
ここで、tはワイヤレス識別送信機のノンスまたはカウンタの値(たとえば、20ビットの値)であり、「XOR」はビットごとの排他的論理和演算を示し、「AES_K()」は鍵「K」を伴うAESブロック暗号であり、「TRUNC()」はある数のビットまたはバイト(たとえば、56ビットまたは7バイト)を作成し得る切詰め演算を示す。
[0243]ブロック2110において、ワイヤレス識別送信機は、現在のノンスまたはカウンタを切り詰められたデータと連結して、メッセージペイロードを作成し得る。たとえば、ワイヤレス識別送信機は、現在のワイヤレス識別送信機システムの時計の値(たとえば、長さ20ビット)を、60ビットの長さになるように切り詰められたワイヤレス識別送信機のユニーク識別コードと組み合わせる。ある実施形態では、ペイロードは、暗号化されたデータと暗号化されないデータ(または「暗号化されていない」データ)の両方を含み得る。たとえば、ペイロードは、暗号化されたデータおよび/または切り詰められたデータを表す多数のビットと、ワイヤレス識別送信機のバッテリ状態またはノンスまたはカウンタ値を表すいくつかの他のビットとを含み得る。
[0244]ブロック2112において、ワイヤレス識別送信機は、たとえば、上で説明されたような短距離ワイヤレス通信技法を介してブロードキャストすることによって、ローリング識別子を伴うペイロードを含むブロードキャストメッセージを定期的に送信し得る。ブロードキャストメッセージの送信の頻度は、システム構成、ユーザ設定、または、無線信号を介して通信するワイヤレス識別送信機に関連するスケジューリングおよびタイミングの任意の他のソースに応じて、変化し得る。たとえば、ワイヤレス識別送信機は、数秒ごとにローリング識別子をブロードキャストする。
[0245]決定ブロック2114において、ワイヤレス識別送信機は、事前に定義されたノンスまたはカウンタ時間期間が満了したかどうかを決定し得る。このノンスまたはカウンタ時間期間は、上で説明されたようなブロードキャストの頻度の周期性と同様の方式で設定され得る。たとえば、製造業者は、ワイヤレス識別送信機のプロセッサ回路内のハードコーディング変数のような様々な技法を使用して、ノンスまたはカウンタ時間期間を確立し得る。
[0246]ノンスまたはカウンタ時間期間が満了していない場合(すなわち、決定ブロック2114=「いいえ」)、ワイヤレス識別送信機は、ブロック2112の動作を継続し得る。たとえば、ワイヤレス識別送信機は、数分という時間期間について、数秒の頻度で短距離無線送信を介してペイロードをブロードキャストし得る。
[0247]ノンスまたはカウンタ時間期間が満了したとデバイスが決定すると(すなわち、決定ブロック2114=「はい」)、ブロック2116において、ワイヤレス識別送信機は、たとえば1を加算することによって、ノンスまたはカウンタ値をインクリメントし得る。ブロック2117において、ワイヤレス識別送信機は、ノンスまたはカウンタ時間期間をリセットすることができる。たとえば、ノンスまたはカウンタ時間期間が満了した後、ワイヤレス識別送信機は、1という値だけノンスまたはカウンタを上げ、ノンスまたはカウンタ時間期間を0にリセットする。ワイヤレス識別送信機は、ブロック2106の動作を継続し得る(たとえば、ワイヤレス識別送信機は、別のノンスまたはカウンタ時間期間の間、新たなペイロードを作成し、それをブロードキャストすることができる)。
[0248]図21Bは、メッセージを受信し、ペイロード情報に基づいてタイミングのノンスまたはカウンタを同期する、中心サーバのためのある実施形態の方法2150を示す。ブロック2152において、中心サーバは、ワイヤレス識別送信機について、デバイス識別子(すなわち、deviceID)と、ノンスまたはカウンタと、秘密鍵データとを有するデータベースエントリを、中心サーバの登録において確立することができる。中心サーバは、中心サーバおよび/または中心サーバの提携するサービスと関連付けられる各ワイヤレス識別送信機に対するデータ記録を含むデータベースを保持し得る。データベースには、上で説明された登録動作を介して取得される情報を加えられ得る。したがって、中心サーバと関連付けられる各ワイヤレス識別送信機に対してデータ記録が存在し、各記録は、特定のデバイスの識別情報を表す情報と、現在のノンスまたはカウンタ(たとえば、時計の値)と、ワイヤレス識別送信機と関連付けられる秘密鍵とを表す、情報を含み得る。ある実施形態では、秘密鍵は、中心サーバに登録される各ワイヤレス識別送信機にユニークであり得る。ある実施形態では、中心サーバはまた、中心サーバに登録された各ワイヤレス識別送信機に対する初期のノンス値またはカウンタ値を記憶し得る。
[0249]様々な実施形態において、ワイヤレス識別送信機が登録されると、中心サーバは、ワイヤレス識別送信機に対する初期のノンス値またはカウンタ値を記憶することができる。ワイヤレス識別送信機のアクティブ化(たとえば、バッテリが装着されデバイスが動作可能になったとき)とデバイスの登録との間の時間に応じて、ワイヤレス識別送信機の初期のノンスまたはカウンタは、0であることもないこともある。たとえば、中心サーバへのワイヤレス識別送信機の登録が、ワイヤレス識別送信機にユーザがバッテリを装着してから数時間後に行われた場合、初期のノンスまたはカウンタは0ではないことがある。ある実施形態では、中心サーバはまた、登録フラグまたは他のインジケータを設定することによって、ワイヤレス識別送信機の登録状態を示すことができ、まだデータベースに登録されていないワイヤレス識別送信機を表す情報を記憶することができる。ある実施形態では、中心サーバは、すべての既知のワイヤレス識別送信機に対して与えられる初期値を伴うデータベースを、それらのワイヤレス識別送信機が登録されているかどうかにかかわらず、保持することができる。たとえば、製造記録に基づいて、中心サーバは、作成されたそれぞれのワイヤレス識別送信機についての情報を有するデータベースを含み得る。
[0250]中心サーバは、ブロック2106〜2110を参照して上で説明されたものと同様の動作を使用して、モデルペイロードを生成し記憶し得る。モデルペイロードは、記憶された秘密鍵、デバイス識別子(deviceID)、およびノンスまたはカウンタ情報に基づいて、ワイヤレス識別送信機から受信すると中心サーバが予想するペイロードであり得る。たとえば、登録された各ワイヤレス識別送信機について、中心サーバは、デバイスのdeviceIDをノンスまたはカウンタ値に連結し、ワイヤレス識別送信機のための秘密鍵を利用する暗号化プロトコルを使用して連結されたデータを暗号化し、暗号化されたデータを切り詰めることによって、モデルペイロードを作成し得る。各モデルペイロードは、対応するdeviceIDおよびそれぞれのモデルペイロードを生成するために使用されるノンスまたはカウンタ値に関連して、中心サーバのデータテーブル(または参照テーブル)に記憶され得る。たとえば、各ワイヤレス識別送信機に対する各モデルペイロードについて、中心サーバは、モデルペイロードと、時間オフセット値(たとえば、−2、−1、1、2など)と、ノンスまたはカウンタとを、すべてワイヤレス識別送信機のdeviceIDに関連して、データテーブルに記憶し得る。
[0251]ブロック2154において、中心サーバは、定義された初期化期間に、ワイヤレス識別送信機に対する初期モデルペイロードを生成し記憶し得る。たとえば、初期のノンスまたはカウンタ値(たとえば、0、またはデバイスおよび中心サーバに知られている擬似乱数)から始めて、中心サーバは、ワイヤレス識別送信機の実際の初期のノンスまたはカウンタと同一の、より小さい、および/またはより大きいノンスまたはカウンタ値を使用してモデルペイロードを生成し得るので、これらのモデルのノンスまたはカウンタは、初期化期間を包含する。ある実施形態では、初期化期間は、1時間、数時間、数日などであり得る)。中心サーバは、ワイヤレス識別送信機の登録/リセット/再起動(reboot)のイベントにおいて使用するための初期モデルペイロードを記憶し得る。
[0252]ブロック2155において、中心サーバはまた、定義された時間ウインドウ内で受信されると予想される、ワイヤレス識別送信機のための現在モデルペイロードを生成し記憶し得る。ワイヤレス識別送信機のあり得るクロックドリフトに対応するために、中心サーバは、あり得るノンスまたはカウンタの範囲を表す複数の派生的な(derivative)ノンスまたはカウンタ値を使用することによって、定義された時間ウインドウ(または時間期間)に対するモデルペイロードを生成し記憶し得る。言い換えれば、派生的なノンスまたはカウンタ値は、ワイヤレス識別送信機のために記憶される現在のノンスまたはカウンタ値へのオフセットであり得る。たとえば、中心サーバは、データベース中の現在記憶されているノンスまたはカウンタ値よりも小さいまたは大きい派生的なノンスまたはカウンタ値に対するモデルペイロードを生成し得る。派生的なノンスまたはカウンタ値は、ワイヤレス識別送信機に対する記憶されたノンスまたはカウンタ値にオフセット値(たとえば、−2、−1、1、2など)が加算された結果であり得る。中心サーバは、記憶されたノンスまたはカウンタ値と、ウインドウ時間期間をインクリメンタルに表す派生的なノンスまたはカウンタ値とを表すために、モデルペイロードを生成し得る。たとえば、モデルペイロードは、1時間などの少ない時間の値だけ増えて、数時間などの長い時間の期間をカバーする、ノンスまたはカウンタを表し得る。別の例として、中心サーバは、ワイヤレス識別送信機のために記憶された現在のノンスまたはカウンタ値に対応するペイロードと、デバイスの以前のノンスまたはカウンタ値に対応するペイロードと、デバイスの次のノンスまたはカウンタ値に対応するペイロードとを記憶し得る。
[0253]ある実施形態では、所与のワイヤレス識別送信機に対する第1の生成された現在モデルペイロードは、ワイヤレス識別送信機に対する初期モデルペイロードと同一であり、それは、ペイロードの両方のセットが、同じ初期ノンスまたはカウンタ値に基づいて中心サーバにより生成され得るからである。ある実施形態では、初期化期間は、定義された時間ウインドウと一致し得る。たとえば、初期化期間は、定義された時間ウインドウと同様の日数、時間、分などを伴い得る。
[0254]決定ブロック2156において、中心サーバは、ノンスまたはカウンタ時間期間が満了したかどうかを決定し得る。中心サーバは、任意の時間において、または代替的に、ワイヤレス識別送信機の登録を受信すると、ノンスまたはカウンタ時間期間の評価を初期化することができる。ノンスまたはカウンタ時間期間は、決定ブロック2114に関して上で説明されたものと同じ、ワイヤレス識別送信機によって使用される時間の期間であり得る。
[0255]ノンスまたはカウンタ時間期間が満了している場合(すなわち、決定ブロック2156=「はい」)、ブロック2155’において、中心サーバは、登録されたワイヤレス識別送信機に対する更新された現在モデルペイロードを生成し記憶し得る。更新された現在モデルペイロードは、以前の現在モデルペイロードを置き換えることができ、各それぞれのワイヤレス識別送信機のデータベース記録中の記憶されたノンスまたはカウンタ値に基づき得る。
[0256]ノンスまたはカウンタ時間期間が満了していない場合(すなわち、決定ブロック2156=「いいえ」)、または、ノンスまたはカウンタ時間期間が満了しており、中心サーバが更新された現在モデルペイロードを生成している場合、決定ブロック2160において、中心サーバは、任意のペイロードが受信されたかどうかを決定し得る。ある実施形態では、ペイロードは、ワイヤレス識別送信機から直接、または代替的に、近接したワイヤレス識別送信機から中心サーバへのローリング識別子ペイロードを含む(または中継する)サイティングメッセージで、近隣ブロードキャスト受信機から間接的に配信され得る。ペイロードが受信されていない場合(すなわち、決定ブロック2160=「いいえ」)、中心サーバは、決定ブロック2156における動作を継続し得る。
[0257]ペイロードが受信されている場合(すなわち、決定ブロック2160=「はい」)、ブロック2162において、中心サーバは、登録された各ワイヤレス識別送信機に対して記憶された現在モデルペイロードのような、記憶された現在モデルペイロードを使用して、受信されたペイロードを評価するように構成され得る。上で説明されたように、中心サーバは、登録された各ワイヤレス識別送信機に対して、記憶されたモデルペイロードの2つのセット、すなわち初期化期間にわたる派生的なノンスまたはカウンタ値と、初期のノンスまたはカウンタに基づくモデルペイロードを含み得る初期モデルペイロードセットと、各ワイヤレス識別送信機に対してデータベース記録内に記憶される現在のノンスまたはカウンタ値に基づく現在モデルペイロードセットとを保持し得る。ある実施形態では、中心サーバは、中心サーバが、受信されたペイロードを、記憶された現在モデルペイロードと比較すべきであることを示す、システム変数を設定し得る。システム変数は、ワイヤレス識別送信機に対する現在モデルペイロードまたは初期モデルペイロードのいずれかを評価するように、中心サーバに指示するように設定され得る。
[0258]ブロック2164〜2172において、中心サーバは、一致が発見されるまで中心サーバが受信されたペイロード(すなわち、ワイヤレス識別送信機によってブロードキャストされるデータ)をすべての登録されたワイヤレス識別送信機に対する記憶されたモデルペイロードと比較する、動作可能なループを実行し得る。ブロック2164において、中心サーバは、次の登録されるワイヤレス識別送信機を選択し得る。中心サーバは、登録されたワイヤレス識別送信機のデータベースに基づいて、次の登録されるデバイスを決定し、ブロック2164〜2172における動作の間に、各デバイスにわたって順次繰り返す。ブロック2166において、中心サーバは、ブロック2162における動作で設定された構成のようなシステム構成に基づいて、受信されたペイロードを、選択されたワイヤレス識別送信機に対する記憶されたモデルペイロードと比較し得る。たとえば、ブロック2162の動作で「現在」に設定されたシステム変数に基づいて、中心サーバは、受信されたペイロードを、選択されたワイヤレス識別送信機に対する記憶された現在のモデルペイロードと比較し得る。受信されたペイロードの暗号化されたデータの形式に基づいて、比較は、中心サーバが受信されたペイロードに対してモデルペイロードのデータを比較する、パターン照合ルーチンであり得る。たとえば、中心サーバは、記憶されたペイロードと受信されたペイロードのビット値を比較し得る。
[0259]決定ブロック2168において、中心サーバは、記憶されたモデルペイロードのいずれかが受信されたペイロードと一致するかどうかを決定し得る。記憶されたモデルペイロードのいずれもが受信されたペイロードと一致しない場合(すなわち、決定ブロック2168=「いいえ」)、決定ブロック2170において、中心サーバは、評価すべき別の登録されたワイヤレス識別送信機があるかどうかを決定し得る。言い換えれば、中心サーバは、すべての登録されたワイヤレス識別送信機の記憶されたモデルペイロードが評価されたかどうかを決定し得る。評価すべき別の登録されたワイヤレス識別送信機がある場合(すなわち、決定ブロック2170=「はい」)、中心サーバは、次の登録されたワイヤレス識別送信機を選択することによって、ブロック2164の動作を継続し得る。
[0260]中心サーバがすべての登録されたワイヤレス識別送信機の記憶されたモデルペイロードを評価した場合(すなわち、決定ブロック2170=「いいえ」)、ブロック2172において、中心サーバは、デバイスの登録の時点で登録された各ワイヤレス識別送信機に対して記憶された初期モデルペイロードのような、記憶された初期モデルペイロードを使用して、受信されたペイロードを評価するように構成され得る。たとえば、中心サーバは、中心サーバが受信されたペイロードを評価された登録されたワイヤレス識別送信機に対する記憶された初期モデルペイロードと比較すべきであることを示す、システム変数に設定し得る(たとえば、システム変数は「初期」に設定され得る)。動作ループは次いで、ブロック2164〜2168の動作を継続し得、中心サーバは、登録された各ワイヤレス識別送信機を選択し、その選択されたデバイスの初期モデルペイロードを受信されたペイロードと比較し得る。
[0261]中心サーバが、受信されたペイロードと登録されたワイヤレス識別送信機の記憶されたモデルペイロード(現在または初期の)のいずれかとに一致を発見した場合(すなわち、決定ブロック2168=「はい」)、ブロック2174において、中心サーバは、一致に基づいてワイヤレス識別送信機のアイデンティティを決定し得る。言い換えれば、中心サーバは、一致する記憶されたモデルペイロードに関連して記憶された識別情報(たとえば、deviceID)に基づいて、受信されたペイロードに対応するワイヤレス識別送信機を識別し得る。ブロック2176において、中心サーバは、受信されたペイロードに基づいて、識別されたワイヤレス識別送信機のノンスまたはカウンタによってデータベースを更新し得る。一致する記憶されたモデルペイロードに対応するデータベース記録に基づいて、中心サーバは、受信されたペイロードに対応する派生的なノンスまたはカウンタ値を決定し、派生的なノンスまたはカウンタ値を表すように記憶されたノンスまたはカウンタ値を更新し、したがって、識別されたワイヤレス識別送信機のノンスまたはカウンタと中心サーバのノンスまたはカウンタとを同期し得る。ある実施形態では、中心サーバはまた、中心サーバが受信されたペイロードを受信したときの中心サーバのノンスまたはカウンタ(または時間)を、データベースに記憶し得る。
[0262]ある実施形態では、中心サーバは、最近受信されたメッセージと対応するワイヤレス識別送信機の識別情報とのリスト(またはデータテーブル)を保持し得る。たとえば、中心サーバは、データテーブルに、ある期間内に受信されたメッセージに対するdeviceIDとペイロード情報とを記録し得る。中心サーバは、任意の後で受信されるペイロードをデータテーブルと比較して、当該後で受信されたペイロードが冗長かどうかを、同じワイヤレス識別送信機から最近受信されたペイロードに基づいて決定し得る。たとえば、後で受信されるペイロードは、数分前に中心サーバによってすでに受信され処理された、特定のワイヤレス識別送信機からのあるノンスまたはカウンタ値を表すことがある。このことは、方法2150のプロセスを早めさせ、ブロック2164〜2172の動作のための探索時間を減少させ得る。ある実施形態では、中心サーバは、最近識別されたペイロードおよびワイヤレス識別送信機のデータテーブルを削除(または消去(clear))し、ブロック2176において説明されたのと同様に、消去動作をスケジューリングすることができる(たとえば、最近のデータテーブルが、ノンスまたはカウンタ時間期間が満了したと決定されるたびに、削除され得る)。
[0263]図22は、ワイヤレス識別送信機によってブロードキャストされるメッセージ内の暗号化されたデータによって示される、ワイヤレス識別送信機を識別するための、中心サーバのための別の実施形態の方法2200を示す。方法2200の動作において、ノンスまたはカウンタ値は、ワイヤレス識別送信機が識別情報を送信する際のセキュリティを向上させるために、ブロードキャストメッセージ中には決して含まれてはならない。たとえば、ノンスまたはカウンタ値が、異なるワイヤレス識別送信機の間で異なり得るとき、ブロードキャストメッセージを捕捉する能力を有する攻撃者は、ワイヤレス識別送信機からの今後のブロードキャストメッセージ内の値を容易に予測することが可能であり得る。しかしながら、暗号化されずに送信されるノンスまたはカウンタのデータがないと、非道な詮索者は、特定のワイヤレス識別送信機からのブロードキャストを追跡することをよりいっそう阻止され得る。
[0264]ブロック2002において、ワイヤレス識別送信機は、共有秘密鍵(すなわち、「K」)を受信し得る。たとえば、各ワイヤレス識別送信機は、中心サーバにおいて、ワイヤレス識別送信機のユニークなデバイス識別子(またはdeviceID)と関連付けられるデバイスごとの共有秘密鍵によって事前にプロビジョニングされ得る。ブロック2204において、ワイヤレス識別送信機は、ノンスまたはカウンタを同期し得る。ノンスまたはカウンタは、中心サーバにおいてワイヤレス識別送信機が登録されると、中心サーバと同期され得る。同期されたノンスまたはカウンタ値はまた、中心サーバに記憶されたデータテーブル(たとえば、IDおよびK値の記憶されたペアを伴うテーブル)中のdeviceIDおよびKと関連付けられ得る。
[0265]ブロック2206において、ワイヤレス識別送信機は、ノンスまたはカウンタを、ワイヤレス識別送信機の現在のデバイス時間へとインクリメントし得る。たとえば、ノンスまたはカウンタは、事前に定義された数秒(たとえば、1秒、1時間など)の後、インクリメントされ得る。別の例として、3600秒ごとに、ワイヤレス識別送信機は、値1だけノンスまたはカウンタをインクリメントする。このようにして、ノンスまたはカウンタ値は、ワイヤレス識別送信機上の発振器によって計測されるような現在の時間へと変化し得る。ブロック2208において、ワイヤレス識別送信機は、擬似ランダム関数で、デバイス識別子(すなわち、deviceID)と、共有秘密鍵(すなわち、K)と、ノンスまたはカウンタとを符号化して、ローリング識別子を生成し得る。このようにして、ローリング識別子は、ノンスまたはカウンタ値が変化するにしたがって生成され得る。ある実施形態では、擬似ランダム関数は、シード(「s」)と入力変数(「x」)とを伴う多項式の時間計算可能な関数であり得るので、シードがランダムに選択され観測者に知られていない場合、擬似ランダム関数(たとえば、PRF(s,x))は、同じ範囲への出力を伴う同じ領域で定義されるランダム関数と、計算上は区別不可能であり得る。たとえば、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)が、擬似ランダム関数として使用され得る。
[0266]ブロック2210において、ワイヤレス識別送信機は、ローリング識別子を含むメッセージ(たとえば、1パケット長のBluetooth LEチャープメッセージ)をブロードキャストし得る。ある実施形態では、ブロードキャストメッセージ(または、ブロードキャストメッセージのペイロード)は、次の式によって表され得る。
ペイロード = MSB_N(PRF( K, (deviceID || t)))
ここで、tはワイヤレス識別送信機のノンスまたはカウンタの値であり、「||」は連結を意味し、「PRF()」は擬似ランダム関数であり、「MSB_N()」は「N個」の最上位ビット(たとえば、80ビット)を意味する。言い換えれば、ワイヤレス識別送信機は、デバイス識別子とノンスまたはカウンタ情報とを意図的に不明瞭にする(または歪める)ことができるので、ブロードキャストメッセージのペイロードは、暗号化されていないデバイス識別子もノンスまたはカウンタ情報も含み得ない。
[0267]ブロック2010において、中心サーバは、共有秘密鍵(K)を受信し得る。ブロック2212において、中心サーバは、ノンスまたはカウンタを同期し得る。たとえば、ノンスまたはカウンタは、登録メッセージのような、ワイヤレス識別送信機に関する以前のメッセージに含まれる値を表すように設定され得る。ブロック2214において、中心サーバは、共有秘密鍵(すなわち、K)とノンスまたはカウンタとを、ワイヤレス識別送信機のデバイス識別子(すなわち、deviceID)と関連付けることができる。たとえば、中心サーバは、登録されたデバイスのデータテーブルに(たとえば、データベースのタプル記録に)、deviceIDと、Kと、ノンスまたはカウンタとを記憶する。ある実施形態では、中心サーバはまた、各ワイヤレス識別送信機が登録またはアクティブ化されたかどうかを示すインジケータまたはフラグを記憶し得る。
[0268]ブロック2216において、中心サーバは、ローリング識別子を含むメッセージを受信し得る。たとえば、受信されたメッセージは、ブロック2210の動作によりワイヤレス識別送信機によってブロードキャストされるローリング識別子を含む、近隣ブロードキャスト受信機からのサイティングメッセージであり得る。ブロック2018において、中心サーバは、たとえば、受信されたメッセージを解析してローリング識別子のペイロードを識別することによって、ローリング識別子を抽出することができる。
[0269]ブロック2019において、中心サーバは、評価すべきワイヤレス識別送信機(すなわち、選択されたワイヤレス識別送信機)を選択し得る。言い換えれば、中心サーバは、中心サーバに知られている登録されたワイヤレス識別送信機に対する記憶されたdeviceIDと、Kと、ノンスまたはカウンタとを、たとえば、すべての登録されたワイヤレス識別送信機に対するそのような情報を記憶するデータベースまたはデータテーブルから、取得することができる。ブロック2218において、中心サーバは、選択されたワイヤレス識別送信機のノンスまたはカウンタをサーバの現在の時間へとインクリメントし得る。ある実施形態では、中心サーバは次いで、記憶されたノンスまたはカウンタ値が同期されてから経過した時間を補償する(account)ように、記憶されたノンスまたはカウンタ値をインクリメントし得る。例として、中心サーバは、ブロック2216の動作によるメッセージの受信の時間を、中心サーバの現在の時間と(たとえば、中心サーバの時計または時間機構を介して)比較する。ワイヤレス識別送信機が個々のノンスまたはカウンタをインクリメントし得る既知の周期(たとえば、1時間に1回)に基づいて、中心サーバは、時間差を補償するように、選択されたノンスまたはカウンタ値をインクリメントし得る。
[0270]ある実施形態では、中心サーバは、ワイヤレス識別送信機による複数のブロードキャストの間の時間を表す量だけ、選択されたノンスまたはカウンタをインクリメントし得る。言い換えれば、中心サーバは、ブロック2216の動作内でメッセージを受信するときと、近隣ブロードキャスト受信機がブロードキャストメッセージを受信した時間との間の時間を含むように、選択されたノンスまたはカウンタをインクリメントしない。たとえば、近隣ブロードキャスト受信機は、サイティングメッセージを中心サーバに中継する前に、ブロードキャストメッセージをバッファリングしている。中心サーバは、ブロック2216の動作により受信されたメッセージ内のメタデータに基づいて、この時間差を計算し得る。たとえば、近隣ブロードキャスト受信機からのサイティングメッセージは、ブロードキャストメッセージが受信されたときを示し得る。したがって、選択されたノンスまたはカウンタがインクリメントされる量は、近隣ブロードキャスト受信機からのメッセージが中心サーバによって受信されたときではなく、近隣ブロードキャスト受信機が実際にブロードキャストメッセージを受信したときに基づき得る。
[0271]ブロック2220において、中心サーバは、擬似ランダム関数を介して、選択されたワイヤレス識別送信機のデバイス識別子と、秘密鍵と、ノンスまたはカウンタとを符号化して、サーバ暗号化データ(すなわち、C’)を生成し得る。擬似ランダム関数は、ブロック2208の動作において利用されるのと同じ擬似ランダム関数であり得る。ある実施形態では、生成されたサーバ暗号化データは、次の式によって表され得る。
C’ = MSB_N(PRF( sel_K, (sel_deviceID || sel_t))))
ここで、sel_Kは選択されたワイヤレス識別送信機の秘密鍵の値であり、sel_deviceIDは選択されたワイヤレス識別送信機のユニークなデバイス識別子の値であり、sel_tは選択されたワイヤレス識別送信機のノンスまたはカウンタの値であり、「||」は連結を意味し、「PRF()」は擬似ランダム関数であり、「MSB_N()」は「N個」の最上位ビット(たとえば、60ビット、74ビット、80ビットなど)を意味する。
[0272]決定ブロック2222において、中心サーバは、生成されたサーバ暗号化データ(C’)が受信されたローリング識別子と同じかどうかを決定し得る。言い換えれば、中心サーバは、受信されたローリング識別子を生成されたサーバにより暗号化されたデータと比較して、それらが一致するかどうかを決定し得る。ローリング識別子および生成されたサーバにより暗号化されたデータが一致する場合(すなわち、決定ブロック2222=「はい」)、ブロック2024において、中心サーバは、受信されたメッセージは、選択されたワイヤレス識別送信機から発信されたものと識別し得る(たとえば、選択されたワイヤレス識別送信機のユニーク識別子に対応する)。
[0273]ローリング識別子および生成されたデータが一致しない場合(すなわち、決定ブロック2222=「いいえ」)、ブロック2224において、中心サーバは、他のワイヤレス識別送信機のデバイス識別子と、秘密鍵と、ノンスまたはカウンタとを符号化して、受信されたメッセージの発信者を識別し得る。言い換えれば、中心サーバは、次に記憶されるdeviceID、ノンスまたはカウンタ、およびKのグループをデータベースから選択し、その選択されたノンスまたはカウンタ値をインクリメントし、選択されたデバイスIDと、ノンスまたはカウンタと、Kとを符号化し、一致が発見され、受信されたメッセージ中のローリング識別子の発信者の識別情報が既知となるまで、生成された符号化されたデータを受信されたローリング識別子と比較し得る。
[0274]ある実施形態では、ワイヤレス識別送信機のバッテリが取り外されて再装着されると、最近のノンスまたはカウンタ値は、ワイヤレス識別送信機の非揮発性メモリに残り得るので、バッテリが取り外され次いで戻されたとき、ノンスまたはカウンタ値は、ワイヤレス識別送信機の非揮発性メモリから読み取られ得る。あるいは、非揮発性メモリが利用可能ではない、または使用されない場合、ワイヤレス識別送信機は、バッテリの再装着の後、初期のノンスまたはカウンタ値に戻り得る。中心サーバは、そのような「カウンタ同期」に対応するために、わずかに修正されることが要求され得る。より具体的には、事前に計算されたカウンタまたはノンスのリストの最大のノンスまたはカウンタ値よりも大きな値を試すことに加えて、「カウンタ同期」が実行されるとき、中心サーバはまた、(カウンタ+i)のような値を試すことができ、ここでi=0,…,nである。この場合、ワイヤレス識別送信機のユーザは、「カウンタ同期」が複数回失敗したとき、バッテリが再装着される必要があることを知らされる必要があり得る。
[0275]図23Aは、擬似ランダム関数を利用して、ブロードキャストするためのローリング識別子を生成する、ワイヤレス識別送信機のためのある実施形態の方法2300を示す。方法2300の動作は、上で説明された実施形態の方法2100と同様であり得る。しかしながら、ノンスまたはカウンタ値のようなデータをAES−CTR暗号化アルゴリズムで暗号化する代わりに、方法2300は、擬似ランダム関数の適用に基づいてペイロードを生成し得る。上で説明されたように、各ワイヤレス識別送信機に対する擬似ランダム関数および秘密鍵は、対応するワイヤレス識別送信機と中心サーバの両方に知られ得るので、その両方が、同様のデータに基づいて同様のペイロードを生成し得る。
[0276]ブロック2102において、ワイヤレス識別送信機のユーザは、中心サーバにデバイスを登録し得る。ブロック2104において、ワイヤレス識別送信機は、たとえば、ノンスまたはカウンタを値0に設定することによって、内部のノンスまたはカウンタを初期化し得る。ブロック2302において、ワイヤレス識別送信機は、現在のノンスまたはカウンタを、ワイヤレス識別送信機のユニークなデバイス識別子(すなわち、deviceID)と連結することができる。ブロック2304において、ワイヤレス識別送信機は、連結されたデータおよび秘密鍵とともに擬似ランダム関数を使用して、ローリング識別子を伴うペイロードを生成し得る。たとえば、擬似ランダム関数は、連結されたデータ(すなわち、deviceID+ノンス/カウンタ)を入力として扱い、ワイヤレス識別送信機の秘密鍵を、乱数のシード変数として使用することができる。ローリング識別子を伴うペイロードは、擬似ランダム関数からの出力データを含み得る。ある実施形態では、ローリング識別子を伴うペイロードはまた、ワイヤレス識別送信機の他の態様に関する暗号化されていない情報を含み得る。たとえば、ワイヤレス識別送信機は、ワイヤレス識別送信機のバッテリ状態を記述する数ビット(たとえば、4ビット)の情報をペイロードに付加することができる。ある実施形態では、擬似ランダム関数は、擬似ランダム関数と同じ範囲への出力を伴う同じ領域上で定義されるランダム関数とは計算上は区別不可能である、多項式の時間計算可能な関数であり得る。たとえば、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)が、擬似ランダム関数として使用され得る。ある実施形態では、ワイヤレス識別送信機は、生成されたローリング識別子のペイロードに対して切詰め演算を実行してもしなくてもよい。たとえば、ローリング識別子を伴うペイロードは、擬似ランダム関数の結果に対して最上位ビット演算を実行した結果であり得る。
[0277]ブロック2112において、ワイヤレス識別送信機は、たとえば、上で説明されたような短距離ワイヤレス通信技法を介してブロードキャストすることによって、ローリング識別子を伴うペイロードを含むブロードキャストメッセージを定期的に送信し得る。決定ブロック2114において、ワイヤレス識別送信機は、事前に定義されたノンスまたはカウンタ時間期間が満了したかどうかを決定し得る。ノンスまたはカウンタ時間期間が満了していない場合(すなわち、決定ブロック2114=「いいえ」)、ワイヤレス識別送信機は、ブロック2112の動作を継続し得る。ノンスまたはカウンタ時間期間が満了したとデバイスが決定すると(すなわち、決定ブロック2114=「はい」)、ブロック2116において、ワイヤレス識別送信機は、たとえば1を加算することによって、ノンスまたはカウンタ値をインクリメントし得る。ブロック2117において、ワイヤレス識別送信機は、ノンスまたはカウンタ時間期間をリセットし、ブロック2302の動作を継続し得る。
[0278]図23Bは、擬似ランダム関数のローリング識別子を含む受信されたメッセージに応答する、中心サーバのためのある実施形態の方法2350を示す。中心サーバが擬似ランダム関数の出力を中心サーバに記憶された時間同期された情報と比較して、ワイヤレス識別送信機から受信されたメッセージ中のペイロードと照合することを除き、実施形態の方法2350の動作は、図21Bを参照して上で説明された動作と同様であり得る。
[0279]ブロック2352において、中心サーバは、システム中の各ワイヤレス識別送信機に対する、デバイス識別子(すなわち、deviceID)と、ノンスまたはカウンタと、時間と、登録状態(すなわち、「reg_stat」)と、秘密鍵(すなわち、「K」)との情報を有する、データベース記録を確立し得る。この時間は、中心サーバが特定のワイヤレス識別送信機に対応するメッセージ(たとえば、ブロードキャストメッセージを中継するサイティングメッセージ)を受信した最後の時間、または言い換えれば、ワイヤレス識別送信機に対するノンスまたはカウンタ値が受信された/データベースに記録された瞬間の中心サーバの時計の値を示し得る。ワイヤレス識別送信機がローリング識別子(またはローリング識別子のペイロード)を伴うメッセージをブロードキャストしたときから、中心サーバがローリング識別子を受信したときまで期間は、非常に短いと考えられ得る。したがって、記憶されたノンスまたはカウンタおよび時間の値は、ワイヤレス識別送信機の大まかに正確な時計の状態を作り出すと考えられ得る。
[0280]加えて、ワイヤレス識別送信機が登録情報を送信すると、中心サーバは、ワイヤレス識別送信機についてデータベース中で登録フラグ(たとえば、「reg_stat」)を設定することによって、有効な登録を示すことができる。中心サーバは、すべてのワイヤレス識別送信機の記録のためのデータベースに問い合わせることができ、このときreg_statは、有効な登録が行われたことを示し、中心サーバは、reg_stat値に基づいて、登録されたワイヤレス識別送信機のみを含むデータテーブルを作成することができる。
[0281]ブロック2354において、中心サーバは、近隣ブロードキャスト受信機からのサイティングメッセージを介して、ローリング識別子のペイロードを受信することができる。サイティングメッセージは、近隣ブロードキャスト受信機がそれぞれのワイヤレス識別送信機からのブロードキャストメッセージを介したペイロードに遭遇した時間を記述する時間情報を、ペイロードに付加させることができる。たとえば、ペイロードは、スマートフォンの近隣ブロードキャスト受信機によって受信されてよく、今度は近隣ブロードキャスト受信機が、自身のシステムの時計の読取り値をペイロード情報に付加して、サイティングメッセージとしてデータを中心サーバに送信することができる。近隣ブロードキャスト受信機によって提供される時間測定結果は、中心サーバシステムの時間と大まかに同期され得る。ある実施形態では、近隣ブロードキャスト受信機は、近隣ブロードキャスト受信機の位置情報(たとえば、GPS座標)などの他の追加の情報を、サイティングメッセージに付加することができる。ブロック2356において、中心サーバは、たとえばサイティングメッセージ内で示されるような、近隣ブロードキャスト受信機の時間(すなわち、「ir_time」)をサイティングメッセージから取得することができる。たとえば、中心サーバは、サイティングメッセージを解析して、近隣ブロードキャスト受信機がローリング識別子のペイロードに対応するブロードキャストメッセージをいつ受信したかを示す時間の値を抽出することができる。
[0282]ブロック2164〜2374において、中心サーバは、動作ループを実行し、このループにおいて、中心サーバは、中心サーバのデータベース内に記憶されたすべての登録されたワイヤレス識別送信機を評価して、受信されたローリング識別子のペイロードと一致するデバイス記録を見つけることができる。ブロック2164において、中心サーバは、次の登録されるワイヤレス識別送信機を選択し得る。たとえば、中心サーバは、登録が発生したことを示すように設定されたreg_stat変数を有するすべてのワイヤレス識別送信機のデータテーブル中で表される、次のワイヤレス識別送信機を繰り返し選択することができる。中心サーバは、ブロック2164〜2374の動作の間、各デバイスに対するそのようなデータテーブルまたはリストにわたって順次繰り返すことができる。ある実施形態では、中心サーバは、ブロック2352の登録動作によって確立された情報に対する現在の値を含む、選択された登録されたワイヤレス識別送信機に対応する記憶されたデータベース記録にアクセスし得る。
[0283]ブロック2360において、中心サーバは、サイティングメッセージにおいて示される時間(ir_time)と、選択された登録されたワイヤレス識別送信機のデータベース記録内に記憶される時間(すなわち、「sel_time」)との時間差(すなわち、「t_diff」)を計算し得る。たとえば、t_diff値は、0ではない値であっても0であってもよい。この時間差は、中心サーバが選択されたワイヤレス識別送信機からペイロードを受信する複数の瞬間の間の、予想される経過時間の尺度である。
[0284]ブロック2362において、中心サーバは、クロックドリフトオフセット(すなわち、「offset」)を次の値へと設定し得る。一般に、中心サーバは、クロックドリフトオフセット値を設定することによって、ワイヤレス識別送信機時計の起こり得るドリフト(たとえば、不正確なデバイスシステム時計の読取り値)を補償することができる。クロックドリフトオフセット値は、ノンスまたはカウンタ値に適用されると、予想されるノンスまたはカウンタ値よりも小さい、それと同一の、またはそれよりも大きいノンスまたはカウンタを表し得る、オフセットを表し得る。言い換えれば、クロックドリフトオフセットは、選択された登録されたデバイスに対する現在のノンスまたはカウンタによって表される時間よりも前の時間、その間の時間、またはその後の時間を表し得る。クロックドリフトオフセット値は、一連のクロックドリフトオフセット値のうちの1つであり得る。ある実施形態では、クロックドリフトオフセット値は0であり得る。ある実施形態では、あり得るクロックドリフトオフセット値は、セット{−N,…,−1,0,1,…,N}内の数を含み、Nは任意の数である。
[0285]ブロック2364において、中心サーバは、選択されたワイヤレス識別送信機の記憶されたノンスまたはカウンタ値と、計算された時間差(すなわち、t_diff)と、設定されたオフセット値(すなわち、offset)とを使用して、予想されるノンスまたはカウンタ値(すなわち、「new_ctr」)を計算することができる。上で説明されたように、ノンスまたはカウンタは、選択された登録されたワイヤレス識別送信機のデータベース記録内に記憶され得る。たとえば、中心サーバは、クロックドリフトオフセット値を、t_diff値と記憶されたノンス値またはカウンタ値の合計に加算することによって、new_ctrを計算することができる。
[0286]決定ブロック2366において、中心サーバは、擬似ランダム関数で、選択されたワイヤレス識別送信機のデバイス識別子と、秘密鍵と、計算されたノンスまたはカウンタ(すなわち、new_ctr)とを符号化して、サーバ暗号化データ(すなわち、C’)を生成することができる。擬似ランダム関数は、図23Aを参照して上で説明されたようなワイヤレス識別送信機により利用される擬似ランダム関数と同じであり得る。
[0287]決定ブロック2222において、中心サーバは、生成されたサーバ暗号化データ(C’)が受信されたローリング識別子と同じかどうかを決定することができる。言い換えれば、中心サーバは、受信されたローリング識別子を生成されたサーバ暗号化データと比較して、それらが一致するかどうかを決定することができる。ローリング識別子および生成されたサーバ暗号化データが一致する場合(すなわち、決定ブロック2222=「はい」)、中心サーバは、受信されたメッセージは選択されたワイヤレス識別送信機から発信されたものと識別することができる(たとえば、選択されたワイヤレス識別送信機の固有の識別子に対応する)。ある実施形態では、秘密鍵(K)は、擬似ランダム関数のシード値であり得る。ある実施形態では、中心サーバは、選択されたワイヤレス識別送信機のdeviceIDと計算されたnew_ctr値とを連結して、その連結されたデータを擬似ランダム関数に提供することができる。擬似ランダム関数は、受信されたローリング識別子のペイロードと同様の構造を有する、暗号化されたデータを返す(または出力する)ことができる。
[0288]サイティングメッセージ中で受信されるような、ローリング識別子と、生成されたサーバ暗号化データ(すなわち、C’)が一致する場合(すなわち、決定ブロック2222=「はい」)、ブロック1276において、中心サーバは、選択されたワイヤレス識別送信機のデータベース記録を、new_ctrおよびir_timeのような、ノンスまたはカウンタおよび時間の情報によって更新することができる。たとえば、中心サーバは、データベース記録の時間の値を、近隣ブロードキャスト受信機内でのペイロードの受信の時間(たとえば、ir_time)を表すように、更新することができ、また、記憶されたノンスまたはカウンタ値をnew_ctr値を表すように更新することができる。中心サーバは、ブロック2354の動作を継続することができる。
[0289]サイティングメッセージ中で受信されるような、ローリング識別子と、生成されたサーバ暗号化データ(すなわち、C’)が一致しない場合(すなわち、決定ブロック2222=「いいえ」)、中心サーバは、決定ブロック2370において、次のクロックドリフトオフセット値があるかどうかを決定し得る。言い換えれば、中心サーバは、new_ctr値が、すべてのあり得るクロックドリフトオフセット値(たとえば、−1、0、1など)を使用して計算されたかどうかを、決定し得る。次のクロックドリフトオフセット値がある場合(すなわち、決定ブロック2370=「はい」)、中心サーバは、ブロック2362における動作を継続し得る。しかしながら、次のクロックドリフトオフセット値がない場合(すなわち、決定ブロック2370=「いいえ」)、決定ブロック2170において、中心サーバは、評価すべき別の登録されたワイヤレス識別送信機があるかどうかを決定し得る。評価すべき別の登録されたワイヤレス識別送信機がある場合(すなわち、決定ブロック2170=「はい」)、中心サーバは、ブロック2164における動作を継続し得る。しかしながら、他の登録されたワイヤレス識別送信機がない場合(すなわち、決定ブロック2170=「いいえ」)、ブロック2374において、中心サーバは、登録された各ワイヤレス識別送信機に対して記憶された初期ノンスまたはカウンタ値を評価するように、システムを構成することができる。ある実施形態では、上で説明された登録データベースは、登録された各ワイヤレス識別送信機に対応する初期ノンスまたはカウンタ値を表すデータをさらに含み得る。この初期ノンスまたはカウンタ値は、様々なワイヤレス識別送信機が再起動(reboot)された、さもなければカウンタをリセットした場合/ときに、使用され得る。たとえば、ワイヤレス識別送信機は、バッテリの交換により内部のノンスまたはカウンタをリセットする前に、ある時間の期間、非初期のノンスまたはカウンタを記述するペイロードを動作させ配信することができる。そのような状況では、ワイヤレス識別送信機は、リセットされたノンスまたはカウンタの情報に基づいて、ローリング識別子のペイロードを含むメッセージをブロードキャストすることができる。
[0290]別の実施形態では、ブロック2374の動作は、ブロック2362〜2370の動作ループの間に、個々の登録された選択されたデバイスに対して実行されてよく、ブロック2364の記憶されたノンスまたはカウンタ値は、初期の記憶されたノンスまたはカウンタ値により置き換えられ得る。たとえば、様々なクロックドリフトオフセットの値を伴う、選択された登録されたワイヤレス識別送信機の記憶されたノンスまたはカウンタ値が、受信されたローリング識別子のペイロードと一致する暗号化されたデータを生成するために使用されることが不可能であると、中心サーバが決定すると、中心サーバは、次の登録されたワイヤレス識別送信機を選択する前に、選択されたワイヤレス識別送信機の初期の記憶されたノンス値またはカウンタ値を評価することができる。
[0291]図24Aは、ローリング識別子と符号化されたノンスまたはカウンタとを伴うメッセージを生成しブロードキャストする、ワイヤレス識別送信機のためのある実施形態の方法2400を示す。方法2400は、図20、図21A、図22、および図23Aを参照して上で説明されたものと同様の、ワイヤレス識別送信機によって実行される動作を有し得る。しかしながら、方法2400は、ローリング識別子(すなわち、符号化されたデバイス識別子)、さらには、図24Bを参照して以下で説明される動作により中心サーバによって別個に評価され得る符号化されたノンスまたはカウンタを含む、メッセージのブロードキャストを伴い得る。このようにして、ワイヤレス識別送信機のノンスまたはカウンタ値(またはノンス)は、ブロードキャストメッセージのペイロードにおいて暗号化されずに送信され得ない。
[0292]ブロック2102において、ワイヤレス識別送信機のユーザは、中心サーバにデバイスを登録することができる。たとえば、ワイヤレス識別送信機は、登録されたワイヤレス識別送信機のデータベースへの記憶のために、ユニークなデバイス識別子(すなわち、deviceID)を中心サーバに提供することができる。ブロック2402において、ワイヤレス識別送信機は、中心サーバに知られている、第1の秘密鍵(K)および第2の秘密鍵(K’)と、初期のノンスまたはカウンタとを記憶することができる。たとえば、これらの値は、本開示で説明される登録動作の間、中心サーバとワイヤレス識別送信機とで共有され得る。ブロック2404において、ワイヤレス識別送信機は、現在のノンスまたはカウンタを初期のノンスのまたはカウンタ値へと設定することによって、現在のノンスまたはカウンタを初期化することができる。
[0293]図20を参照して上で説明されたのと同様に、ブロック2406において、ワイヤレス識別送信機は、ストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR)で、デバイス識別子(deviceID)と、第1の秘密鍵(K)と、現在のノンスまたはカウンタとを符号化して、ローリング識別子を生成することができる。ブロック2408において、ワイヤレス識別送信機は、擬似ランダム関数で、現在のノンスまたはカウンタと、第2の秘密鍵(K’)とを符号化して、符号化されたカウンタまたはノンスを生成することができる。ある実施形態では、符号化されたノンスまたはカウンタは、次の式によって表され得る。
符号化ノンス/カウンタ = MSB_M(PRF(K’, t))
ここで、「K’」はデバイスごとの第2の秘密鍵(通常は第1のデバイスごとの秘密鍵Kとは異なる)であり、「t」は現在のノンスまたはカウンタであり、「PRF()」は擬似ランダム関数であり、「MSB_M()」は「M個」の最上位ビット(たとえば、20ビット)を意味する。
[0294]ブロック2410において、ワイヤレス識別送信機は、ローリング識別子と符号化されたノンスまたはカウンタとを伴うペイロードを含むブロードキャストメッセージを定期的に送信することができる。決定ブロック2114において、ワイヤレス識別送信機は、事前に定義されたノンスまたはカウンタ時間期間が満了したかどうかを決定することができる。ノンスまたはカウンタ時間期間が満了していない場合(すなわち、決定ブロック2114=「いいえ」)、ワイヤレス識別送信機は、ブロック2410の動作を継続することができる。ノンスまたはカウンタ時間期間が満了したとデバイスが決定すると(すなわち、決定ブロック2114=「はい」)、ブロック2412において、ワイヤレス識別送信機は、たとえば1を加算することによって、現在のノンス値またはカウンタ値をインクリメントすることができる。ブロック2117において、ワイヤレス識別送信機は、ノンスまたはカウンタ時間期間をリセットすることができ、ブロック2406の動作を継続することができる。
[0295]図24Bは、ローリング識別子と符号化されたノンスまたはカウンタとを含むメッセージを受信し処理する、中心サーバのためのある実施形態の方法2450を示す。中心サーバは、ワイヤレス識別送信機が上で説明された方法2400を実行することと組み合わせて、またはそれに応答して、方法2450の動作を実行することができる。方法は、2つのパスを含み得る。第1のパスは、中心サーバが、受信されたメッセージ(たとえば、サイティングメッセージ)内の符号化されたノンスまたはカウンタに基づいて、ワイヤレス識別送信機を識別するのを試みるというものであり、第2のパスは、中心サーバが、受信されたメッセージ内のローリング識別子に基づいて識別を試みるというものである。
[0296]ブロック2452において、中心サーバは、システム中のすべてのワイヤレス識別送信機のデバイス識別子(すなわち、deviceID)と、初期のノンスまたはカウンタと、現在のノンスまたはカウンタと、秘密鍵(KおよびK’)とを有するデータベースエントリを、確立することができる。現在のノンスまたはカウンタ値は、ワイヤレス識別送信機の登録の時点の初期のノンスまたはカウンタと同じであり得る。ブロック2454において、中心サーバは、すべてのワイヤレス識別送信機に対する、擬似ランダム関数と、第2の秘密鍵(K’)と、現在のノンスまたはカウンタ値とを使用して、符号化されたノンスまたはカウンタを事前に計算することができる。たとえば、中心サーバは、登録された各ワイヤレス識別送信機に対する複数の符号化されたノンスまたはカウンタ値を生成することができ、たとえば、1つの値は、現在のノンスまたはカウンタ値に基づき、別の値は、現在のカウンタ値よりも大きな値に基づく、などである。ある実施形態では、中心サーバは、登録された各ワイヤレス識別送信機に対して、24個の符号化されたノンスまたはカウンタを事前に計算することができる。ある実施形態では、中心サーバは、記憶された事前に計算された符号化された各ノンスまたはカウンタと関連付けられるデバイス識別子も含む、すべての登録されたワイヤレス識別送信機に対する事前に計算された符号化されたノンスまたはカウンタの別個のリスト(またはデータテーブル)を記憶することができる。
[0297]ブロック2456において、中心サーバは、たとえば、近隣ブロードキャスト受信機によって送信されるサイティングメッセージ内で、符号化されたノンスまたはカウンタとローリング識別子とを含むメッセージを受信することができる。ブロック2458において、中心サーバは、受信されたメッセージから符号化されたノンスまたはカウンタを抽出することができ、ブロック2018において、受信されたメッセージからローリング識別子を抽出することができる。決定ブロック2460において、中心サーバは、事前に計算されたノンスまたはカウンタのいずれかと、抽出されたノンスまたはカウンタ(または「ctr’」)が一致するかどうかを決定することができる。たとえば、中心サーバは、受信されたメッセージから抽出される符号化されたノンスまたはカウンタ値を、登録された各ワイヤレス識別送信機に対する複数の中心サーバにより符号化されたノンスまたはカウンタ値と比較して、あらゆる一致を特定することができる。抽出されたノンスまたはカウンタが事前に計算されたノンスまたはカウンタと一致する場合(すなわち、決定ブロック2460=「はい」)、ブロック2462において、中心サーバは、一致した事前に計算されたノンスまたはカウンタに基づいて、候補のワイヤレス識別送信機を特定することができる。言い換えれば、中心サーバは、中心サーバ中のデータテーブル中の事前に計算されたノンスまたはカウンタに関連して記憶されたdeviceIDとして、候補を識別することができる。ブロック2464において、中心サーバは、ストリーミングライク暗号化アルゴリズム(たとえば、図24Aの動作を実行するときにワイヤレス識別送信機が使用する同じAES−CTR)で、候補のワイヤレス識別送信機の記憶された情報(たとえば、deviceID、秘密鍵など)を使用して、ローリング識別子を復号し、復号されたデバイス識別子(またはM)を見つけることができる。決定ブロック2466において、中心サーバは、復号されたデバイス識別子(M)と候補のワイヤレス識別送信機のdeviceIDが一致するかどうかを決定することができる。そのような一致により、中心サーバは、ローリング識別子、または符号化されたノンスもしくはカウンタ値を復号することなく、受信されたローリング識別子と関連付けられるワイヤレス識別送信機を識別することが可能になり得る。deviceIDと復号された識別子(M)が一致する場合(すなわち、決定ブロック2466=「はい」)、ブロック2470において、中心サーバは、受信されたメッセージが候補のワイヤレス識別送信機から発信されるものと識別することができる。ブロック2472において、中心サーバは、現在のノンスまたはカウンタと、事前に計算された符号化されたノンスまたはカウンタとを更新することができる。たとえば、受信されたメッセージの発信者として識別されたワイヤレス識別送信機に対するデータベースのエントリは、新たな現在のノンスまたはカウンタの情報、さらには、新たな事前に計算された符号化されたノンスまたはカウンタによって更新され得る。加えて、事前に計算された符号化されたノンスまたはカウンタの任意の記憶されたリストは、識別されたワイヤレス識別送信機に対応する新たに計算された符号化されたノンスまたはカウンタがリストに追加されたのと同時に除去された、より古い事前に計算された符号化されたノンスまたはカウンタを有し得る。別の実施形態では、受信されたメッセージの発信者として識別されたワイヤレス識別送信機が、中心サーバのデータベースにおいて「アクティブ化されていない」ものとして示される場合(すなわち、フラグが設定されていない)、中心サーバはまた、識別されたワイヤレス識別送信機が今ではアクティブ化されている(たとえば、フラグが設定されている)ことを反映するように、データベースを調整することができる。中心サーバは次いで、ブロック2456の動作を継続することができる。
[0298]deviceIDおよび復号された識別子(M)が一致しない場合(すなわち、決定ブロック2466=「いいえ」)、決定ブロック2468において、中心サーバは、他の候補があるかどうか、たとえば、中心サーバによって評価されていない他の登録されたワイヤレス識別送信機があるかどうかを決定することができる。他の候補がある場合(すなわち、決定ブロック2468=「はい」)、中心サーバは、たとえば、そのローリング識別子に関して評価すべき次のワイヤレス識別送信機を識別することによって、ブロック2462の動作を継続することができる。
[0299]他の候補がない場合(すなわち、決定ブロック2468=「いいえ」)、または、抽出されたノンスまたはカウンタが事前に計算されたノンスまたはカウンタと一致しない場合(すなわち、決定ブロック2460=「いいえ」)、中心サーバは、抽出されたローリング識別子をシステム中のすべての登録されたワイヤレス識別送信機と関連付けられる情報と比較することによって、受信されたメッセージの発信者を特定しようと試みることができる。したがって、決定ブロック2170において、中心サーバは、評価すべき別の登録されたワイヤレス識別送信機があるかどうかを決定することができる。たとえば、中心サーバは、すべての登録されたワイヤレス識別送信機の情報を繰り返し使用することができる。別のものがない場合(すなわち、決定ブロック2170=「いいえ」)、中心サーバは、ブロック2456における動作を継続することができる。
[0300]別のものがある場合(すなわち、決定ブロック2170=「はい」)、ブロック2164において、中心サーバは、次の登録されたワイヤレス識別送信機を選択することができる。図20を参照して上で説明されたのと同様に、ブロック2474において、中心サーバは、選択されたワイヤレス識別送信機の初期のノンスまたはカウンタと第1の暗号鍵(K)とを用いて、ストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR)で、ローリング識別子を復号し、復号されたデバイス識別子(M’)を見つけることができる。決定ブロック2476において、中心サーバは、復号されたデバイス識別子(M’)と選択されたワイヤレス識別送信機のdeviceIDが一致するかどうかを決定することができる。識別子が一致しない場合(すなわち、決定ブロック2476=「いいえ」)、中心サーバは、決定ブロック2170における動作を継続することができる。しかしながら、識別子が一致する場合(すなわち、決定ブロック2476=「はい」)、ブロック2478において、中心サーバは、受信されたメッセージは、選択されたワイヤレス識別送信機から発信されたものと識別することができ、ブロック2472の動作を継続することができる。
[0301]図24Cは、ローリング識別子と符号化されたノンスまたはカウンタとを含むメッセージを受信し処理する、中心サーバのためのある実施形態の方法2480を示す。方法2480の動作は、図24Bにおいて上で論じられたような2つのパスのプロセスを実行するのではなく、中心サーバが1つのパスのプロセスとして方法2480を実行し得ることを除き、方法2450の動作と同様である。具体的には、中心サーバは、登録された各ワイヤレス識別送信機について複数の中心サーバ暗号化ノンスまたはカウンタ値と、複数の中心サーバ暗号化デバイス識別子(すなわち、deviceID)の両方を生成することができる。中心サーバは、各ワイヤレス識別送信機についてデータベースに記憶されたデータ(たとえば、deviceID、K、K’、初期のノンスまたはカウンタ、および現在のノンスまたはカウンタ)と、各デバイスに対する複数の事前計算されたノンスまたはカウンタ値とを使用して、複数の中心サーバ暗号化ノンスまたはカウンタ値と、複数のサーバ暗号化デバイスIDとを符号化することができる。中心サーバが、ローリング識別子と符号化されたノンスまたはカウンタとを含むサイティングメッセージを受信すると、中心サーバは、複数の中心サーバ暗号化ノンスまたはカウンタ値および複数の中心サーバ符号化デバイスIDを、受信されたサイティングメッセージから取得されたローリング識別子および符号化されたノンスまたはカウンタと比較することができる。そして、ローリング識別子を発信したワイヤレス識別送信機のデバイス識別子は、ローリング識別子自体の実際の復号を必要とすることなく、事前計算されたノンスまたはカウンタ値とデバイス識別子が完全に一致することに基づいて、識別され得る。
[0302]ブロック2452において、中心サーバは、システム中のすべてのワイヤレス識別送信機のデバイス識別子(すなわち、deviceID)と、初期のノンスまたはカウンタと、現在のノンスまたはカウンタと、秘密鍵(KおよびK’)とを有するデータベースエントリを、確立することができる。ブロック2454において、中心サーバは、すべてのワイヤレス識別送信機に対する、擬似ランダム関数と、第2の秘密鍵(K’)と、現在のノンスまたはカウンタ値とを使用して、符号化されたノンスまたはカウンタを事前に計算することができる。ブロック2482において、中心サーバは、すべてのワイヤレス識別送信機について、ストリーミングライク暗号化アルゴリズム(たとえば、AES−CTRブロック暗号化)、デバイス識別子、現在のノンスまたはカウンタ、および第1の秘密鍵(K)を用いて、符号化されたデバイス識別子を事前に計算することができる。言い換えれば、中心サーバは、たとえば、現在のノンスまたはカウンタと、事前に定義されたオフセットノンスまたはカウンタ値とを使用することによって、登録された各ワイヤレス識別送信機に対する複数の符号化されたデバイス識別子を生成することができ、または代替的に、中心サーバ内に記憶された現在のノンスまたはカウンタのみに基づいて、単一の符号化されたデバイス識別子のみを生成することができる。
[0303]ブロック2456において、中心サーバは、たとえば、近隣ブロードキャスト受信機によって送信されるサイティングメッセージ内で、符号化されたノンスまたはカウンタとローリング識別子とを含むメッセージを受信することができる。ブロック2458において、中心サーバは、受信されたメッセージから符号化されたノンスまたはカウンタを抽出することができ、ブロック2018において、受信されたメッセージからローリング識別子を抽出することができる。決定ブロック2460において、中心サーバは、事前計算されたノンスまたはカウンタのいずれかと、抽出されたノンスまたはカウンタ(または「ctr’」)が一致するかどうかを決定することができる。抽出されたノンスまたはカウンタが事前計算されたノンスまたはカウンタと一致する場合(すなわち、決定ブロック2460=「はい」)、ブロック2462において、中心サーバは、一致した事前計算されたノンスまたはカウンタに基づいて、候補のワイヤレス識別送信機を特定することができる。決定ブロック2484において、中心サーバは、抽出されたローリング識別子が、候補のワイヤレス識別送信機の事前計算されたデバイス識別子のような、事前計算された識別子のいずれかと一致するかどうかを決定することができる。
[0304]抽出されたローリング識別子が候補のワイヤレス識別送信機の事前計算された識別子のいずれかと一致する場合(すなわち、決定ブロック2484=「はい」)、ブロック2470において、中心サーバは、受信されたメッセージは候補のワイヤレス識別送信機から発信されたものと識別することができる。ブロック2472’において、中心サーバは、現在のノンスまたはカウンタと、事前計算された符号化されたノンスまたはカウンタと、事前計算された符号化されたデバイス識別子とを更新することができる。たとえば、受信されたメッセージの発信者として識別されたワイヤレス識別送信機に対するデータベースのエントリは、新たな現在のノンスまたはカウンタの情報、さらには、新たな事前計算された符号化されたノンスまたはカウンタおよび事前計算された符号化されたデバイス識別子によって更新され得る。加えて、事前計算された符号化されたノンスまたはカウンタの任意の記憶されたリストは、識別されたワイヤレス識別送信機に対応する新たに計算された符号化されたノンスまたはカウンタまたはデバイス識別子がリストに追加されたのと同時に除去された、より古い事前に計算された符号化されたノンスまたはカウンタまたは符号化されたデバイス識別子を有し得る。別の実施形態では、受信されたメッセージの発信者として識別されたワイヤレス識別送信機が、中心サーバのデータベースにおいて「アクティブ化されていない」ものとして示される場合(すなわち、フラグが設定されていない)、中心サーバはまた、識別されたワイヤレス識別送信機が今ではアクティブ化されている(たとえば、フラグが設定されている)ことを反映するように、データベースを調整することができる。中心サーバは次いで、ブロック2456の動作を継続することができる。
[0305]抽出されたローリング識別子が候補のワイヤレス識別送信機の事前計算された識別子のいずれかと一致しない場合(すなわち、決定ブロック2484=「いいえ」)、決定ブロック2468において、中心サーバは、他の候補があるかどうか、たとえば、中心サーバによって評価されていない他の登録されたワイヤレス識別送信機があるかどうかを決定することができる。他の候補がある場合(すなわち、決定ブロック2468=「はい」)、中心サーバは、たとえば、そのローリング識別子に関して評価すべき次のワイヤレス識別送信機を識別することによって、ブロック2462の動作を継続することができる。
[0306]他の候補がない場合(すなわち、決定ブロック2468=「いいえ」)、または、抽出されたノンスまたはカウンタが事前計算されたノンスまたはカウンタと一致しない場合(すなわち、決定ブロック2460=「いいえ」)、中心サーバは、抽出されたローリング識別子をシステム中のすべての登録されたワイヤレス識別送信機と関連付けられる情報と比較することによって、受信されたメッセージの発信者を特定しようと試みることができる。したがって、決定ブロック2170において、中心サーバは、評価すべき別の登録されたワイヤレス識別送信機があるかどうかを決定することができる。たとえば、中心サーバは、すべての登録されたワイヤレス識別送信機の情報を繰り返し使用することができる。別のものがない場合(すなわち、決定ブロック2170=「いいえ」)、中心サーバは、ブロック2456における動作を継続することができる。
[0307]別のものがある場合(すなわち、決定ブロック2170=「はい」)、ブロック2164において、中心サーバは、次の登録されたワイヤレス識別送信機を選択することができる。ブロック2474において、中心サーバは、選択されたワイヤレス識別送信機の初期のノンスまたはカウンタと第1の暗号鍵(K)とを用いて、ストリーミングライク暗号化アルゴリズム(たとえば、AES−CTR)で、ローリング識別子を復号し、復号されたデバイス識別子(M’)を見つけることができる。決定ブロック2476において、中心サーバは、復号されたデバイス識別子(M’)と選択されたワイヤレス識別送信機のdeviceIDが一致するかどうかを決定することができる。識別子が一致しない場合(すなわち、決定ブロック2476=「いいえ」)、中心サーバは、決定ブロック2170における動作を継続することができる。しかしながら、識別子が一致する場合(すなわち、決定ブロック2476=「はい」)、ブロック2478において、中心サーバは、受信されたメッセージは、選択されたワイヤレス識別送信機から発信されたものと識別することができ、ブロック2472’の動作を継続することができる。
[0308]図25Aは、ネゴシエートされた通信リンクを介して近隣ブロードキャスト受信機との双方向ワイヤレス通信を実行する、ワイヤレス識別送信機のためのある実施形態の方法2500を示す。上で説明されたように、ワイヤレス識別送信機は、近隣ブロードキャスト受信機から、短距離ワイヤレス送信(たとえば、Bluetooth LEパケットなど)を受信し処理することができる。しかしながら、ワイヤレス識別送信機はまた、ネゴシエートされた1対1の通信リンクを使用して、特定の近隣ブロードキャスト受信機からデータを受信することができる。そのようなリンクの例は、Bluetoothペアリングおよび/またはボンディングによって実現され得る。
[0309]ブロック552において、ワイヤレス識別送信機は、ワイヤレス識別送信機がメッセージを受信できない期間の始まり(または初期化)を示すためのノンスまたはカウンタ変数のような、ノンスまたはカウンタをリセットすることができる。ブロック554において、ワイヤレス識別送信機は、識別情報と、ノンスまたはカウンタと、メッセージを受信することが可能な時間とを含むメッセージを生成することができる。ブロック556において、送信機は、Bluetooth LEパケットのような短距離ワイヤレス送信で、生成されたメッセージをブロードキャストすることができる。決定ブロック558において、ワイヤレス識別送信機は、所定のノンスまたはカウンタ時間期間が満了したかどうかを決定することができる。ノンスまたはカウンタ時間期間が満了していない場合(すなわち、決定ブロック558=「いいえ」)、ワイヤレス識別送信機は、ブロック556において、生成されたメッセージを定期的にブロードキャストし続けることができる。
[0310]ノンスまたはカウンタ時間期間が満了した場合(すなわち、決定ブロック558=「はい」)、ブロック560において、ワイヤレス識別送信機は、ノンスまたはカウンタをインクリメントし、決定ブロック562において、ノンスまたはカウンタ値に基づいて、ワイヤレス識別送信機がメッセージを受信することが可能になったかどうかを決定することができる。メッセージを受信することが可能ではない場合(すなわち、決定ブロック562=「いいえ」)、ワイヤレス識別送信機は、ブロック554における動作を継続して、ブロードキャストする新たなメッセージを生成することができる。ワイヤレス識別送信機がメッセージを受信することが可能である場合(すなわち、決定ブロック562=「はい」)、任意選択のブロック2526において、ワイヤレス識別送信機は、メッセージを受信することが可能であることを示すメッセージを送信することができる。ある実施形態では、このメッセージは、ブロック556で送信される様々な生成されたブロードキャストメッセージ内ですでに送信された情報を含み得る。
[0311]ブロック2528において、ワイヤレス識別送信機は、リンクアドバタイズメントメッセージをリッスンすることができ、リンクアドバタイズメントメッセージは、通信リンクを確立するために必要とされる情報を示す、近隣ブロードキャスト受信機によって送信されるメッセージであり得る。たとえば、リンクアドバタイズメントメッセージは、Bluetooth MACアドレス、または、ワイヤレス識別送信機とペアリングするために近隣ブロードキャスト受信機によって必要とされる他の情報を含み得る。決定ブロック2530において、ワイヤレス識別送信機は、たとえば近隣ブロードキャスト受信機からの、リンクアドバタイズメントメッセージが受信されたかどうかを決定することができる。リンクアドバタイズメントメッセージが受信されていない場合(すなわち、決定ブロック2530=「いいえ」)、決定ブロック568において、ワイヤレス識別送信機は、受信時間期間が満了したかどうかを決定することができる。受信時間期間は、リンクアドバタイズメントメッセージを受信することが可能な期間であり得る。
[0312]リンクアドバタイズメントメッセージが受信されている場合(すなわち、決定ブロック2530=「はい」)、ブロック2532において、ワイヤレス識別送信機は、近隣ブロードキャスト受信機との通信リンクをネゴシエート(または確立)することができる。たとえば、ワイヤレス識別送信機は、受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、近隣ブロードキャスト受信機とのBluetoothバインディングとペアリングとを確立することができる。ブロック2534において、ワイヤレス識別送信機がリンクを認証することができる。そのような認証は、リンクアドバタイズメントメッセージ内で示される近隣ブロードキャスト受信機のアイデンティティが、ネゴシエートされた/確立された通信リンクに参加しているデバイスと同じであることを確実にし得る。ある実施形態では、そのような認証は、アイデンティティの確認を要求するデータパケットを送信することと、確立されたリンクを通じて受信されたデータとリンクアドバタイズメントメッセージ中で受信されたデータとの比較を実行することとを伴い得る。ある実施形態では、認証は、ペアリングされた近隣ブロードキャスト受信機によって送信される受信したPIN情報を、ワイヤレス識別送信機に記憶された既知のまたはアクセス可能なPIN値のリストと比較することを伴い得る。通信リンクが確立(かつ認証)されると、ブロック564において、ワイヤレス識別送信機は、ネゴシエートされたリンクを介した近隣ブロードキャスト受信機からのデータのような、入来するメッセージをリッスンすることができ、ブロック566において、受信された入来するメッセージを処理することができる。決定ブロック568において、ワイヤレス識別送信機は、受信時間期間が満了したかどうかを決定することができる。満了している場合(すなわち、決定ブロック568=「はい」)、ワイヤレス識別送信機は、ブロック552の動作を継続することができる。しかしながら、受信時間期間が満了していない場合(すなわち、決定ブロック568=「いいえ」)、ブロック2528において、ワイヤレス識別送信機は依然としてメッセージを受信することが可能であり、リンクアドバタイズメントメッセージをリッスンし続けることができる。
[0313]図25Bは、利用可能なワイヤレス識別送信機にメッセージを送信する、近隣ブロードキャスト受信機のためのある実施形態の方法2550を示す。方法2550の動作は、図25Aを参照して上で説明された動作に対応し得る。ブロック902において、近隣ブロードキャスト受信機は、Bluetooth LEブロードキャストのような、ワイヤレス識別送信機からブロードキャストメッセージを受信することができる。ブロック2552において、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージを分析することができる。近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージ内でヘッダまたはメタデータを分析し、さらに、メッセージ内の様々なデータを解析し評価することができる。ある実施形態では、ブロードキャストメッセージは、暗号化されたデータと暗号化されていないデータとを含み、これらのデータを、受信機は、これらのデータを復号(decrypt)さもなければアクセスするように構成されることもされないこともある。ある実施形態では、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージを中心サーバに送信し、中心サーバは、復号(decrypt)し、処理し、当該近隣ブロードキャスト受信機がどのように受信されたブロードキャストメッセージに応答し得るかを示す命令を返信メッセージで提供し得する。たとえば、返信メッセージは、リンクアドバタイズメントメッセージを送信するように、または、ワイヤレス識別送信機とのペアリング動作を開始するように、近隣ブロードキャスト受信機に指示することができる。
[0314]加えて、上で説明されたように、受信されたブロードキャストメッセージは、ワイヤレス識別送信機がメッセージを受信することが可能かどうかを示す、タイミング、ノンスまたはカウンタ、カウントダウン、またはスケジューリング情報を含み得る。たとえば、受信されたブロードキャストメッセージは、ワイヤレス識別送信機がある規定された時間ウインドウ内に入来するメッセージを受け入れることを示し得る。別の例として、受信されたブロードキャストメッセージが特定の情報(たとえば、利用可能性を示すシンボル)を含むとき、近隣ブロードキャスト受信機はメッセージをワイヤレス識別送信機に送信できると、近隣ブロードキャスト受信機は決定することができる。
[0315]受信されたブロードキャストメッセージの分析に基づいて、決定ブロック2554において、近隣ブロードキャスト受信機は、ワイヤレス識別送信機が入来するメッセージに対して利用可能かどうかを決定することができる。言い換えれば、近隣ブロードキャスト受信機は、受信されたブロードキャストメッセージが、ワイヤレス識別送信機が近隣ブロードキャスト受信機からのメッセージの受信がいつ可能になり得るかを示す情報を含むかどうかを、決定することができる。ワイヤレス識別送信機が入来するメッセージを受信することが可能である場合(すなわち、決定ブロック2554=「はい」)、決定ブロック2556において、近隣ブロードキャスト受信機は、ワイヤレス識別送信機へ配信するための記憶されたメッセージ(たとえば、メモリに記憶された)があるかどうかを決定することができる。ある実施形態では、ワイヤレス識別送信機は、中心サーバからの配信のためのメッセージを受信することができる。あるいは、ワイヤレス識別送信機へ配信するためのメッセージは、代わりに、近隣ブロードキャスト受信機によって生成されてよい。たとえば、スマートフォンの近隣ブロードキャスト受信機(またはモバイル近隣ブロードキャスト受信機)は、挙動(たとえば、シグナリングのスケジュール、強度など)を修正するようにワイヤレス識別送信機に命令するユーザ入力をソフトウェアアプリケーション(または「アプリ」)内で受け取ることができる。配信されるべきメッセージは、ソフトウェアまたはファームウェアの更新と、実行するための命令と、構成情報と、デバッグコマンドと、ワイヤレス識別送信機によって利用されるべき他のデータとを含み得る。たとえば、配信のためのメッセージは、加速度計のようなセンサユニットをアクティブ化し、後続のブロードキャストメッセージへと組み込むためのセンサデータの収集を開始するように、ワイヤレス識別送信機に指示することができる。配信のためのメッセージはまた、ブロードキャストの信号強度を調整し、ブロードキャストの頻度を下げ、または上げ、ブロードキャストメッセージ内で表されるデータを変え、後続の送信の特性を別様に調節し、かつ/またはワイヤレス識別送信機の挙動を変えるように、ワイヤレス識別送信機に指示することができる。たとえば、ワイヤレス識別送信機は、近距離無線通信(NFC)を模擬するために、ブロードキャスト信号範囲を短くするように指示され得る。
[0316]近隣ブロードキャスト受信機がワイヤレス識別送信機へ配信するためのメッセージを有する場合(すなわち、決定ブロック2556=「はい」)、ブロック2558において、近隣ブロードキャスト受信機は、リンクを確立するための情報を含む、リンクアドバタイズメントメッセージを送信することができる。リンクアドバタイズメントメッセージは、Bluetoothペアリング/ボンディングを確立するために、ワイヤレス識別送信機により必要とされる情報を含み得る。ブロック2560において、近隣ブロードキャスト受信機は、ワイヤレス識別送信機とのリンクをネゴシエート(または確立)することができる。たとえば、ワイヤレス識別送信機および近隣ブロードキャスト受信機は、安全なBluetoothリンクを確立することができる。リンクが確立されると、ブロック2562において、近隣ブロードキャスト受信機は、ワイヤレス識別送信機との確立されたリンクを介した配信のためのメッセージを送信することができる。
[0317]ワイヤレス識別送信機が入来するメッセージを受信することが不可能である場合(すなわち、決定ブロック2554=「いいえ」)、または、近隣ブロードキャスト受信機がワイヤレス識別送信機へ配信するためのメッセージを有さない場合(すなわち、決定ブロック2556=「いいえ」)、または、近隣ブロードキャスト受信機がブロック2562の動作によって確立されたリンクを介した配信のためのメッセージを送信した場合、ブロック706において、近隣ブロードキャスト受信機は、サイティングメッセージを中心サーバに送信し、ブロック902の動作を継続することができる。
[0318]図25Cは、モバイルデバイスとペアリングしている間にローリングBluetooth MACアドレスを使用してセキュリティが向上したメッセージを送信するための、ワイヤレス識別送信機のためのある実施形態の方法2570を示す。上で説明されたように、Bluetoothプロトコルを介してパケットを送信するとき、ワイヤレス識別送信機は、プライバシーを保つために、各Bluetoothメッセージ内で表されるBluetooth MACアドレス(図25Cでは「BT MACアドレス」と呼ばれる)を定期的に変更するように構成され得る。暗号化アルゴリズム(上で説明されたような)を利用して送信の中でブロードキャストするためのローリング識別子を生成する場合であっても、ワイヤレス識別送信機はその送信の中の不変の情報に基づいて監視または追跡され得るので、上記のことは重要である。たとえば、非道なパケットスニファは、ローリング識別子を含むブロードキャストメッセージ(たとえば、暗号化されたデバイスIDを伴うペイロード)内の不変のBluetooth MACアドレスに基づいて、ワイヤレス識別送信機を監視し得る。様々な実施形態において、ワイヤレス識別送信機は、上で説明された暗号化方式を利用して、Bluetooth MACアドレスを難読化(obfuscate)して、デバイス識別子が難読化されるのと同様の方式でローリングBluetooth MACアドレスを作成することができる。様々な実施形態において、Bluetooth送信を介して通信し、かつ/または他のワイヤレスデバイスとペアリングするように構成される任意の通信デバイスは、方法2570を実行して、短距離ワイヤレス送信を送信するときのプライバシーを向上させることができる。たとえば、ワイヤレスイヤピース(またはヘッドフォン)が、スマートフォンとペアリングされるときに方法2570を実行することができる。
[0319]ブロック2572において、ワイヤレス識別送信機は、モバイルデバイスとのリンクを確立することができる。たとえば、ワイヤレス識別送信機は、ユーザの電話などの既知のモバイルデバイスとの標準的なBluetoothペアリングを実行することができる。ブロック2104において、ワイヤレス識別送信機は、たとえば、ノンスまたはカウンタを0または何らかの乱数に設定することによって、内部のノンスまたはカウンタを初期化することができる。決定ブロック452において、ワイヤレス識別送信機は、それが新たなBluetooth MACアドレスを必要とするかどうかを決定することができる。この決定は、タイマーの満了、新たなMACアドレスを指示する受信された信号、または、新たなBluetooth MACアドレスを定期的に生成させるための任意の他のメカニズムに基づき得る。たとえば、ワイヤレス識別送信機が新たなBluetooth MACアドレスを生成すべきであることを示すタイマーは、数秒ごと、数時間ごとなどに満了し得る。新たなBluetooth MACアドレスが必要である場合(すなわち、決定ブロック452=「はい」)、ブロック2116において、ワイヤレス識別送信機は、たとえば設定された数(たとえば、「1」)だけ値を増やすことによって、ノンスまたはカウンタ値をインクリメントすることができる。
[0320]新たなBluetooth MACアドレスが必要ではない場合(すなわち、決定ブロック452=「いいえ」)、または、ノンスまたはカウンタがインクリメントされた場合、ブロック2574において、ワイヤレス識別送信機は、モバイルデバイスと共有されるノンスまたはカウンタと暗号化アルゴリズムとを使用して、ローリングBluetooth MACアドレスを生成することができる。そのようなアルゴリズムは、上で説明された暗号化アルゴリズムまたは技法(たとえば、擬似ランダム関数、AES−CTRなど)のいずれをも可能にし得る。ブロック2578において、ワイヤレス識別送信機は、ローリングBluetooth MACアドレスを使用して、ペアリングモバイルデバイスにメッセージを送信することができる。たとえば、パケットは、ローリングBluetooth MACアドレスと関連付けられる、またはそれによって識別されるデバイスにより、パケットが送信されたことを示す、データを含み得る。オプションのブロックでは、ワイヤレス識別送信機は、ペアリングされたモバイルデバイスからのあらゆる入来するメッセージを処理することができる。たとえば、ワイヤレス識別送信機は、ファームウェアと、ソフトウェア命令と、構成データと、モバイルデバイスが送信する他の情報とを受信し利用することができる。オプションのブロック2576において、ワイヤレス識別送信機デバイスは、数ミリ秒、数秒、または数分などのある期間、スリープ状態に入り、次いで決定ブロック452の動作を継続し得る。
[0321]図25Dは、ローリングBluetooth MACアドレスを利用してワイヤレス識別送信機から受信されたメッセージを処理するための、スマートフォンのようなモバイルデバイスのためのある実施形態の方法2580を示す。様々な実施形態において、モバイルデバイスは、ワイヤレス識別送信機とのリンクを維持するために、上で説明された暗号化(および/または復号(decryption))方式を利用して、受信された送信内のローリングBluetooth MACアドレスを復号および/または複製(replicate)することができる。ブロック2560において、モバイルデバイスは、Bluetoothペアリングされたリンクのような、ワイヤレス識別送信機とのリンクをネゴシエートおよび/または確立することができる。モバイルデバイスは、モバイルデバイスとペアリングし得るすべてのデバイスのリスト、さらには、そのようなリンクを確立するために必要とされる任意の初期情報を保持し得る。ブロック2581において、モバイルデバイスは、ペアリングされたワイヤレス識別送信機と共有されるノンスまたはカウンタを記憶することができる。このノンスまたはカウンタは、リンクの確立の間に受信されてよく、または代わりに、モバイルデバイスとワイヤレス識別送信機との間でのボンディング手順または登録手順の間などに、事前にプロビジョニングされてよい。様々な実施形態において、モバイルデバイスは、Bluetooth無線および/またはBluetooth通信プロトコルを利用する任意の通信デバイスであり得る。
[0322]ブロック2582において、モバイルデバイスは、失敗の回数を初期化することができる。言い換えれば、モバイルデバイスは、整数のシステム変数などに、失敗の回数を記憶することができる。ブロック2584において、モバイルデバイスは、ペアリングされたワイヤレス識別送信機からメッセージを受信することができる。ブロック2585において、モバイルデバイスは、ワイヤレス識別送信機と共有されるノンスまたはカウンタと暗号化アルゴリズムとを使用して、予想されるBluetooth MACアドレスを生成することができる。このアルゴリズムは、上で説明されたものと同様であってよく、ペアリングされたワイヤレス識別送信機からの受信された送信の中のアドレスと比較され得るローリングBluetooth MACアドレスを生成するために、ソフトウェアまたは他の動作として実行されてよい。
[0323]決定ブロック2586において、モバイルデバイスは、受信されたアドレスが予想されるアドレスと一致するかどうかを決定することができる。言い換えれば、モバイルデバイスは、生成された予想されるBluetooth MACアドレスを、ペアリングされたワイヤレス識別送信機から受信されたメッセージ内で示されるアドレスと照合することができる。
[0324]アドレスが一致する場合(すなわち、決定ブロック2586=「はい」)、ブロック2587において、モバイルデバイスは、たとえば、受信されたメッセージ内の情報を復号し(decrypt)、受信されたメッセージの受信を報告するメッセージ(たとえば、サイティングメッセージ)を中心サーバに送信し、または、受信されたメッセージからのデータによってソフトウェア動作を実行する(たとえば、スマートフォン上でアプリケーションを構成する)ことによって、受信されたメッセージを処理することができる。ブロック2588において、モバイルデバイスは、失敗カウントをリセットすることができ、決定ブロック2589において、ノンスまたはカウンタが更新される必要があるかどうかを決定することができる。決定ブロック2589の動作は、図25Cを参照して上で説明された決定ブロック452においてワイヤレス識別送信機によって実行される動作と同様であり得る。たとえば、モバイルデバイスは、数クロック周期ごとに、または、ペアリングされたデバイスからある数のメッセージを受信したことに応答して、ノンスまたはカウンタを更新する必要があり得る。ノンスまたはカウンタが更新される必要がある場合(すなわち、決定ブロック2589=「はい」)、ブロック2590において、モバイルデバイスは、たとえば「1」だけ、ノンスまたはカウンタをインクリメントすることができる。ノンスまたはカウンタが更新される必要がない場合(すなわち、決定ブロック2589=「いいえ」)、または、ノンスまたはカウンタがインクリメントされている場合、モバイルデバイスは、ブロック2584の動作を継続することができる。
[0325]アドレスが一致しない場合(すなわち、決定ブロック2586=「いいえ」)、決定ブロック2591において、モバイルデバイスは、失敗カウントが閾値を超えたかどうかを決定することができる。言い換えれば、失敗カウント(たとえば、システム変数)の値は、ワイヤレス識別送信機とのリンクを無視する(disregard)前に、モバイルデバイスが受信されたアドレスを予想されるアドレスと照合するのに失敗することが許容される予め定義された回数と比較され得る。失敗カウントが閾値を超える場合(すなわち、決定ブロック2591=「はい」)、ブロック2592において、モバイルデバイスは、メッセージを無視し、かつ/またはペアリングされたリンクを切断し得る。
[0326]失敗カウントが閾値を超えない場合(すなわち、決定ブロック2591=「いいえ」)、ブロック2593において、モバイルデバイスは、失敗オフセット値の分だけ、ノンスまたはカウンタを変更することができる。上で説明されたように、モバイルデバイスは、ペアリングされたデバイスの間でのノンスまたはカウンタのずれを補償するために、様々なオフセットの分だけノンスまたはカウンタを修正するように構成され得る。たとえば、予想されるアドレスが受信されたアドレスと一致しない場合、モバイルデバイスは、「1」というオフセット値をノンスまたはカウンタに加算して、受信されたメッセージのBluetooth MACアドレスと比較するための別の予想されるBluetooth MACアドレスを生成することができる。ブロック2594において、モバイルデバイスは、たとえば、値を1だけ増加させて、生成された予想されるBluetooth MACアドレスが受信されたメッセージのアドレスと一致しなかったことを示すことによって、失敗カウントをインクリメントすることができる。モバイルデバイスは次いで、2585の動作を継続して、受信されたメッセージアドレスとの比較のための新たな予想されるアドレスを生成し得る。
[0327]図26Aは、例示的なワイヤレス識別送信機110のコンポーネントを示す。ワイヤレス識別送信機110は、マイクロコントローラ2602と、アンテナ2606に結合された短距離無線2604(たとえば、Bluetooth無線または送受信機)と、メモリ2608と、バッテリ2610とを含み得る。これらのコンポーネントは共通のコネクションによってリンクされるものとして示されるが、これらは様々な方法で相互接続され構成され得る。たとえば、ワイヤレス識別送信機110は、マイクロコントローラ2602がメモリ2608の内容に基づいてメッセージをいつ送信するかを決定できるように、構成され得る。ある実施形態では、マイクロコントローラ2602はBluetoothシステムオンチップユニットであり得る。メモリ2608はまた、マイクロコントローラ2602からのコマンドに基づいて、アンテナ2606を介して短距離無線2604によって送信されるべき1つまたは複数のメッセージまたはメッセージの部分を含み得る。バッテリ2610は、他のコンポーネントにより必要とされるような電力を供給することができる。また、いくつかの実装形態では、マイクロコントローラ2602、短距離無線2604、および/またはメモリ2608は、単一の集積回路として一緒に集積され得る。これらのコンポーネントは、標準的な、または市販の構成のマイクロチップであってよく、例示的な実施形態の構造と矛盾しないブロックとして図26Aにおいて表される。
[0328]ワイヤレス識別送信機110は、ブレスレットのような様々な物体と結合され、または様々な物体に組み込まれ得る。たとえば、例示的なワイヤレス識別送信機110は、腕時計バンドまたは犬の首輪のような、ストラップに容易に取り付けられる形態であり得る。代替的な実施形態は、ワイヤレス識別送信機110を、追跡を必要とし得る任意の他の動く物体に組み込むことができる。
[0329]ワイヤレス識別送信機110は、定期的に電力節減モードに入り、またはスリープ状態になることによって、たとえば、スリープと、ワイヤレス識別送信機110の識別コードを伴うパケットのブロードキャストとを一定の間隔で繰り返すことによって、電力を節減することができる。様々な実施形態は、より頻繁に、またはより稀にブロードキャストするいくつかの実施形態、スリープ期間とスリープ期間との間に数秒または数分ごとに目覚めてブロードキャストするいくつかの実施形態などの、ブロードキャストとスリープの様々な周期を含み得る。
[0330]ある実施形態では、バッテリ2610は交換可能なコイン電池バッテリであり得る。別の実施形態では、ワイヤレス識別送信機110は、アンテナ2606を利用して、更新ソフトウェア、命令、または、送信間隔および/もしくは送信電力の構成などの構成動作において記憶し使用するための他のデータを受信することができる。図3を参照して上で説明されたように、ワイヤレス識別送信機110はまた、ローリングコードまたは識別子を生成するための、ソフトウェア、アルゴリズム、命令、コード、または他のルーチンを記憶し実行することができる。ある実施形態では、ワイヤレス識別送信機は、時間(たとえば、UTC)情報を保持しなくてよいが、代わりに、時計として30ppm 16kHzの水晶を使用し得る。時計として水晶をそのように使用することで、1年で約40秒の時間のずれが生じ得る。
[0331]図26Bは、例示的なワイヤレス識別送信機110のコンポーネントを示す。図26Aを参照して上で説明された実施形態と同様に、ワイヤレス識別送信機110は、マイクロコントローラ2602と、アンテナ2606に接続されマイクロコントローラ2602に結合された短距離無線2604(たとえば、Bluetooth(登録商標)、BTLE、Zigbee(登録商標)、Peanut(登録商標)など)と、メモリ2608、およびバッテリユニット2610とを含み得る。あるいは、メモリ2608は、マイクロコントローラ2602の中に含まれてよく、マイクロコントローラ2602は、別個の処理ユニットも含み得る。短距離無線2604は、デバイスIDを含むメッセージまたは信号をブロードキャストすることが可能な送信機、または代替的に、RF信号を送信し受信するように構成される送受信機であってよく、通信プロトコルを利用した他のデバイスとの通信を可能にする。たとえば、ワイヤレス識別送信機110は、スマートフォンのような、他の短距離無線対応デバイスと通信するように構成され得る。ある実施形態では、短距離無線2604は、LTE−D、ピアツーピアLTE−D、およびWiFi−Directのような、様々な低エネルギーのワイヤレス通信プロトコルを介して通信するように構成され得る。
[0332]ある実施形態では、ワイヤレス識別送信機110は、近隣ブロードキャスト受信機によって受信されることが可能な、および/またはユーザにより聞かれることが可能な音を放出するように構成されるスピーカ(図示されず)を含み得る。たとえば、ワイヤレス識別送信機110は、リッスンしている近隣ブロードキャスト受信機にその存在を示し得る、可聴の通信を放出することができる。別の実施形態では、ワイヤレス識別送信機110は、変化する信号強度で信号を送信するように構成されてよく、これにより、ワイヤレス識別送信機110からのブロードキャストが近隣ブロードキャスト受信機によって受信され得る範囲を変化させる。
[0333]加えて、ワイヤレス識別送信機110は、様々な条件と変数とを測定するための、1つまたは複数のセンサを含み得る。ある実施形態では、ワイヤレス識別送信機110は、加速度計2615(または、ジャイロスコープまたは重力計のような任意の他の動きセンサ)を含み得、これは、ワイヤレス識別送信機110と関連付けられる資産の動きを示すデータを収集することができる。たとえば、加速度計2615は、ワイヤレス識別送信機110を持ち運ぶ子供の動きを記述する動きデータを生成することができる。ワイヤレス識別送信機110に含まれ得る他のセンサには、温度センサ2616(サーミスタのような)、放射線センサ2617、湿度センサ2618、および二酸化炭素(CO2)センサ2619がある。様々な実施形態において、ワイヤレス識別送信機110は、これらおよび他のセンサの任意の組合せを含み得る。これらの可能性のあるセンサは、ワイヤレス識別送信機110に組み込まれ得るセンサのタイプの例にすぎず、他のタイプのセンサも含まれ得る。たとえば、ワイヤレス識別送信機110はまた、マイクロフォン、カメラ、熱センサ、圧力センサ、および光センサのような、様々な図に示されないセンサを含み得る。
[0334]図27Aは、例示的な近隣ブロードキャスト受信機の実施形態の主要なコンポーネントを示す。近隣ブロードキャスト受信機142は、アンテナ2706に結合された短距離ワイヤレス無線(たとえば、ワイヤレス識別送信機中のBluetooth無線)と通信することが可能な短距離無線2704(たとえば、Bluetooth無線または送受信機)と、インターネットのようなネットワークを介して中心サーバ120に直接または間接的に返信することが可能な2次的ネットワークデバイス2708とを含み得る。いくつかの実施形態では、2次的ネットワークデバイス2708は、セルラーまたはワイヤレスの無線もしくはモデム、または他の有線ネットワークデバイスであってよい。近隣ブロードキャスト受信機142はまた、プロセッサ2702と、メモリ2712と、主要な電源または近隣ブロードキャスト受信機142が商用電源に結合された場合のバックアップ電源のいずれかとしてのバッテリ2710とを含み得る。近隣ブロードキャスト受信機142は、GPS受信機2714、または、ワイヤレス識別送信機から受信される任意のメッセージと関連付けるべき現在の位置を決定するための他のタイプの位置決定機構を含み得る。近隣ブロードキャスト受信機がモバイルではない場合、いくつかの実施形態では、位置が知られており不変であり得るので、近隣ブロードキャスト受信機は、GPS受信機2714を含まなくてよい。これらのコンポーネントは共通コネクションによってリンクされるものとして示されるが、これらは様々な方法で相互接続され構成され得る。これらのコンポーネントは、標準的な、または市販の構成のマイクロチップであってよく、例示的な実施形態の構造と矛盾しないブロックとして図27Aにおいて表される。
[0335]図27Bは、電源コンセントに差し込まれ得るある実施形態の近隣ブロードキャスト受信機2775を示す。図27Aを参照して上で説明される実施形態と同様に、近隣ブロードキャスト受信機2775は、プロセッサ2702と、メモリユニット2712と、アンテナ2706に接続された短距離無線2704(たとえば、Bluetooth(登録商標)、Bluetooth LE、LTE−D、ピアツーピアLTE−D、Zigbee(登録商標)、Peanut(登録商標)など)とを含み得る。近隣ブロードキャスト受信機2775はまた、第2のアンテナ2776に結合されるWiFiシステムオンチップ2778(図27Cでは「SOC」と呼ばれる)を含み得る。別の実施形態では、システムオンチップ2778はBluetooth Low Energyシステムオンチップであり得る。近隣ブロードキャスト受信機2775は、システムオンチップ2778を利用して、たとえばWiFiルータと通信することによって、ワイヤレスローカルエリアネットワークを通じてデータを交換することができる。加えて、近隣ブロードキャスト受信機2775は、電源とインターフェースをとり、または、交流電源(または「AC」)などの電源を別様に受け取るための、プラグ2782を含み得る。様々な実施形態において、プラグ2782は、異なる規格の電源コンセント規格(たとえば、英国規格、全国電機製造業者協会(National Electrical Manufacturers Association)など)と接続するように構成されてよく、接地要素(図示されず)を含んでよい。プラグ2782は、プロセッサ2702などの近隣ブロードキャスト受信機2775の様々なコンポーネントに電力を提供する、USB電源2780に結合され得る。代替的な実施形態では、近隣ブロードキャスト受信機2775は、プラグ2782および/またはUSB電源2780から受け取られた電力を使用して、内部バッテリ(図示されず)を再充電することができる。
[0336]ある実施形態では、近隣ブロードキャスト受信機2775は、プロセッサ2702および/またはシステムオンチップ2778により利用され得るメモリ2712または他の回路の中などに、短距離信号と長距離信号をそれぞれ送信および/または受信するための動作を実行するための、ソフトウェア命令を記憶することができる。ある実施形態では、近隣ブロードキャスト受信機2775は、アンテナ2706、2776を利用して、更新ソフトウェア、命令、または、ファームウェアの更新、動作パラメータの修正、および他の構成の修正の際に記憶し使用するための他のデータを受信することができる。
[0337]上で言及されたように、ローリング識別子および他の情報は、標準的なBluetooth LEメッセージフォーマットのペイロード内で通信され得る。図28は、ある実施形態のローリング識別子を実装する、例示的なBluetooth LEメッセージ構造を示す。ある実施形態によるブロードキャストメッセージ2800は、普通のBluetooth LEメッセージのアドレスおよびヘッダと、データフィールド2802から2808とを含んでよく、Bluetoothメッセージのペイロード部分2810内にデバイス情報とローリング識別子とを含んでよい。たとえば、ブロードキャストメッセージ2800は、標準的なアクセスアドレスブロック2802を含み、このブロックは、送信されているBluetoothメッセージのタイプを識別する4バイトの情報であり、この場合は接続不可能アドバタイズイベントを識別し得る。ブロードキャストメッセージ2800中のデータの次のブロックは、アドバタイズされるパケットデータユニットのタイプ2804(たとえば、1バイトのデータ)であり、これに、アドバタイズされるパケットデータユニットのヘッダ2806が続き、今度はこれに、アドバタイズされるパケットデータユニットのアドレス2808が続き、これは6バイトのデータであり得る。標準的なBluetoothのデータフィールド2802から2808は基本的に、メッセージを接続不可能アドバタイズイベントとして識別し、これに、固有のローリング識別子とともに送信されている任意のデータが含まれるアドバタイズされたデータパケット2810が続く。
[0338]ブロードキャストされたBluetoothメッセージ2800のアドバタイズされたデータ部分2810は、2つの部分2820および2822に、ブロードキャスト情報とローリング識別子とを組み込み得る。Bluetooth LEパケットのタイプをアドバタイズする際、任意のタイプのアドバタイズデータが含まれてよく、ブロードキャストメッセージ2800内にローリング識別子と他のデータとを含めるための柔軟性を提供する。図28に示される例示的な実施形態では、サービスのUUID(universally unique user identifier)部分2820が、図28に示されるようなバッテリ状態および温度のような、センサデータまたは他のデータをワイヤレス識別送信機から運ぶために使用され得る。たとえば、データ部分2820は、メッセージのこの部分が17バイトの長さであることを示す、図28に示される11 HEXのような、データフィールドの長さを示す標準的なBluetoothデータフィールド2830を含んでよく、これに、後続の情報のバイトにおいて来る情報のタイプを示すコードを提供するデータタイプフィールド2832が続き得る。これらのヘッダフィールド2830、2832に続くものは、データ部分2834であり得る。このデータ部分2834は、コードの意図される意味を取得するためのテーブルルックアップ鍵として使用され得る、普遍的に固有な値の形態のコードを含み得る。たとえば、世界的に固有な識別子番号(すなわち、UUID)が、UUIDを作成するための手順に従って生成されてよく、これは次いで、対応するデータベースにおいて特定の意味、値、警告、および/またはコマンドにリンクされてよく、中心サーバによって保持されてよい。したがって、有効なUUIDは、Bluetoothプロトコルと適合するが、デバイスの通常のアドレスまたは識別子として機能するのではなく特定のメッセージまたは条件を識別する、サービスUUIDフィールド2834に含まれ得る。たとえば、UUIDは、データベースにおいて、特定のバッテリレベルおよび温度の値または範囲とリンクされ得る。このようにして、ブロードキャストメッセージ2800の標準的なUUID部分は、標準的なBluetoothプロトコルから逸脱することなく、多数の意味、値、警告、またはコマンドを伝えるために使用され得る。サービスUUID部分2834に未加工の(raw)データまたはセンサデータを含めることも可能であり得るが、そのような未加工のデータは、このデータが普遍的に固有の識別子を表すというBluetoothプロトコルに適合しないであろう。
[0339]UUIDをデータテーブルとランダムな方式でリンクする代わりに、UUIDの標準的なフォーマットが、生成されるUUIDの範囲内にデータフィールドを提供するために使用され得る。たとえば、図28は、サービスUUIDデータフィールド2834が22ビットのUUIDプレフィックス2840と12バイトのサフィックス2846とを含み、UUIDプレフィックス2840とサフィックス2846との間に、送信されるべき3バイトのデータ、たとえば、バッテリレベル値フィールド2842および温度値フィールド2844が含まれる、実施形態を示す。この例では、同じUUIDプレフィックス値2840(たとえば、960c4)と同じUUIDサフィックス値(たとえば、244c−11e2−b29−00a0c60077ad)とを含む、1024個の異なるUUIDが生成され得る。このデータ構造は次いで、データを搬送するためのプレフィックスとサフィックスとの間に3バイトのデータ、たとえば、ワイヤレス識別送信機のバッテリレベルを示すための2バイト(ブロック2842)と、測定された温度を示すための1バイト(ブロック2844)とを提供する。このデータ構造は例として提供され、多くの他のデータ構造が使用されてよく、異なるタイプの情報がこの方式で伝えられてよい(または情報が伝えられなくてよい)。
[0340]サービスUUID部分2820に続くのは、ローリング識別子が含まれ得るデータフィールド2822である。たとえば、この識別子データ部分2822は、パケット内のデータのバイトの数を識別する、バイトのパケット長2835を含み得る。このデータフィールドに、パケットタイプフィールド2836が続いてよく、これは、後に続く情報のタイプ、この場合はデータフィールドが製造業者固有であることを示すコードを含む。これらのヘッダデータフィールドに、ワイヤレス識別送信機の製造業者またはタイプ、システムのサービス提供者などを識別するために使用され得る2バイトのデータ(たとえば)を含む、製造業者IDフィールド2837が続き得る。ローリング識別子は、メッセージ2800の最後の部分2838に含まれ得る。最後の部分2838に含まれるローリング識別子を生成するための様々な実施形態の方法が、上で説明された。たとえば、このデータフィールド2838は、ノンス(たとえば、タイマー、ノンス、またはカウンタ)と、ノンス、ワイヤレス識別送信機および中心サーバにのみ知られている鍵、ならびにワイヤレス識別送信機の固有の(たとえば、MAC)識別子を使用して生成される不明瞭にされた「ブロブ(blob)」とを含み得る。上で論じられた別の例として、このデータフィールド2838は、カウンタ/時計/ノンス、ワイヤレス識別送信機および中心サーバにのみ知られているセキュリティ鍵、およびワイヤレス識別送信機の固有の(たとえば、MAC)識別子を使用して生成された、単一の「ブロブ」を含み得る。
様々な実施形態において、最後のデータ部分2822に含まれるローリング識別子の長さは、データ(すなわち、データフィールド2834)を通信するためのサービスUUID部分2820に含まれるデータのバイトの数を減らすことによって、増やされ得る。
[0341]図29は、様々な実施形態での使用に適したスマートフォンタイプのモバイルデバイスのシステムブロック図である。スマートフォン2900は、内部メモリ2902とディスプレイ2903とスピーカ2954とに結合されたプロセッサ2901を含み得る。加えて、スマートフォン2900は、プロセッサ2901に結合されたワイヤレスデータリンクおよび/または携帯電話送受信機2905に接続され得るとともに、広範囲のワイヤレス通信ネットワークを通じて通信することが可能な、電磁放射を送信および受信するためのアンテナ2904を含み得る。スマートフォンは、通信することまたはワイヤレス識別送信機とペアリングすることが可能な、別個の短距離無線送受信機2924を含み得る。スマートフォン2900は通常、ユーザ入力を受け取るためのメニュ選択ボタンまたはロッカースイッチ2908も含み得る。
[0342]図30は、本開示の様々な態様を実装するのに適したサーバ3000のシステムブロック図である。サーバ3000は、市販のサーバデバイスであってよい。そのようなサーバ3000は通常、揮発性メモリ3002と、ディスクドライブ3003などの大容量不揮発性メモリとに結合されたプロセッサ3001とを含む。サーバ3000はまた、プロセッサ3001に結合されたフロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ3006を含み得る。サーバ3000はまた、他のブロードキャストシステムコンピュータとサーバとに結合されたローカルエリアネットワークのような、ネットワーク3005とのデータ接続を確立するための、プロセッサ3001に結合されたネットワークアクセスポート3004を含み得る。
[0343]プロセッサ2901、3001は、以下で説明される様々な実施形態の機能を含む、種々の機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップであり得る。一部のモバイル近隣ブロードキャスト受信機では、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ2901が設けられ得る。一般に、ソフトウェアアプリケーションは、アクセスされ、プロセッサ2901、3001にロードされる前に内部メモリ2902、3002、3003に記憶され得る。プロセッサ2901、3001は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
[0344]上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供されたものであり、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者により諒解されるように、上記の実施形態におけるステップの順序は、任意の順序で実行され得る。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、単に、読者に方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形の請求項の要素への言及は、その要素を単数形に限定するものと解釈されるべきではない。
[0345]本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では概してそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
[0346]本明細書で開示される態様に関して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェアコンポーネント、あるいは本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連係する1つまたは複数のマイクロプロセッサ、またはいかなる他のこのような構成の組合せとしても実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
[0347]1つまたは複数の例示的な態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を通じて送信され得る。本明細書で開示される方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールで具現化され得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)と、レーザディスク(disc)と、光ディスク(disc)と、デジタル多用途ディスク(disc)(DVD)と、フロッピーディスク(disk)と、ブルーレイ(登録商標)ディスク(disc)とを含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せまたはセットとして存在し得る。
[0348]開示された実施形態の上記の説明は、当業者が本発明を製作または使用することを可能にするように提供されたものである。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示された実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に本願出願当初の特許請求の範囲を付記する。
[C1] 不明瞭にされた情報を含むメッセージの発信者をサーバが安全に識別するための方法であって、
共有秘密鍵をワイヤレス識別送信機に対応するデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記共有秘密鍵と関連付けられる前記デバイス識別子と一致するかどうかを決定することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える方法。
[C2] 前記メッセージはさらにノンスを含み、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することは、
前記復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記メッセージから抽出された前記ノンスと、前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することを備える、C1に記載の方法。
[C3] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C1に記載の方法。
[C4] 前記共有秘密鍵は128ビットのサイズを有する、C1に記載の方法。
[C5] 復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することは、さらに、暗号化の前に前記デバイス識別子に連結されていたデータを復号することを備える、C1に記載の方法。
[C6] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するワイヤレス識別送信機のための方法であって、
前記ワイヤレス識別送信機内でノンスを初期化することと、
サーバと共有される秘密鍵と前記ノンスとを使用してストリーミングライク暗号化アルゴリズムで前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化することによって、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して、前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
予め定義された間隔で前記ノンスをインクリメントすることと、
を備える方法。
[C7] 前記定期的にブロードキャストされるメッセージはさらに前記ノンスを含む、C6に記載の方法。
[C8] 前記ノンスは、前記ワイヤレス識別送信機によって生成される繰り返されない数を表し、その値は、前記デバイス識別子の符号化が変化することが必要とされるたびに変化する、C6に記載の方法。
[C9] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C6に記載の方法。
[C10] 前記メッセージは80ビット以下のサイズを有する単一のパケットであり、前記秘密鍵は128ビットである、C6に記載の方法。
[C11] 前記ローリング識別子を生成することは、送信されるべきデータを前記デバイス識別子に連結することと、サーバと共有される前記秘密鍵と前記ノンスとを使用して前記ストリーミングライク暗号化アルゴリズムで前記連結された識別子とデータとを符号化することと、を備える、C6に記載の方法。
[C12] 不明瞭にされた情報を含むメッセージの発信者をサーバが安全に識別するための方法であって、
共有秘密鍵をワイヤレス識別送信機についてのノンスおよびデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることと、
サーバ暗号化データを生成するために、前記共有秘密鍵と、前記ノンスと、擬似ランダム関数とを使用して、前記デバイス識別子を符号化することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するかどうかを決定することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える方法。
[C13] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C12に記載の方法。
[C14] 前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることは、前記メッセージ内に含まれる情報に基づいて、前記ワイヤレス識別送信機からのブロードキャストを近隣ブロードキャスト受信機が受信した時間に対応するように前記ノンスを計算することを備える、C12に記載の方法。
[C15] 前記受信されたメッセージからノンスを抽出することをさらに備え、前記デバイス識別子を符号化することは、前記受信されたメッセージから抽出された前記ノンスを使用する、C12に記載の方法。
[C16] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するワイヤレス識別送信機のための方法であって、
前記ワイヤレス識別送信機内でノンスを初期化することと、
サーバと共有される秘密鍵と前記ノンスとに基づいて前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化するために、擬似ランダム関数を使用することにより、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える方法。
[C17] 擬似ランダム関数を使用することによってローリング識別子を生成することは、送信されるべきデータを前記デバイス識別子に連結することと、サーバと共有される前記秘密鍵と前記ノンスとに基づいて前記連結されたデバイス識別子とデータとを符号化するために、前記擬似ランダム関数を使用することと、を備える、C16に記載の方法。
[C18] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C16に記載の方法。
[C19] 不明瞭にされた情報を含むメッセージの発信者をサーバが安全に識別するための方法であって、
ワイヤレス識別送信機についてのデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化ノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記抽出された符号化ノンスと一致する予め計算された符号化ノンスと関連付けられるノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのうちの1つと一致しないとき、前記復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記ワイヤレス識別送信機と関連付けられる前記初期ノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機の前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える方法。
[C20] 前記第1の秘密鍵と前記第2の秘密鍵とは同じ値を有する、C19に記載の方法。
[C21] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するワイヤレス識別送信機のための方法であって、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える方法。
[C22] メッセージの発信者をサーバが安全に識別するための方法であって、
ワイヤレス識別送信機についてのデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
前記第1の秘密鍵、前記現在ノンス、および前記デバイス識別子とともに、ストリーミングライク暗号化アルゴリズムを使用して、複数の符号化されたデバイス識別子を予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化ノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、前記抽出されたローリング識別子を前記複数の予め計算された符号化されたデバイス識別子と比較することと、
前記抽出されたローリング識別子が前記複数の予め計算された符号化されたデバイス識別子のいずれかと一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える方法。
[C23] メッセージの発信者をサーバが安全に識別するための方法であって、
暗号化アルゴリズム、共有秘密鍵、初期ノンス、およびワイヤレス識別送信機と関連付けられるデバイス識別子で、複数の初期モデルペイロードを生成することと、前記暗号化アルゴリズムは前記ワイヤレス識別送信機と共有され、
前記暗号化アルゴリズム、前記共有秘密鍵、現在ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の現在モデルペイロードを生成することと、
不明瞭にされた識別情報をもつペイロードを含む前記メッセージを受信することと、
前記受信されたメッセージの前記ペイロードを前記複数の現在モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのいずれとも一致しないとき、前記受信されたメッセージの前記ペイロードを前記複数の初期モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の初期モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが、初期モデルペイロードと現在モデルペイロードとのうちの少なくとも1つと一致するとき、前記ワイヤレス識別送信機と関連付けられる前記現在ノンスを更新することと、
を備える、方法。
[C24] 入来するメッセージを受信する、ワイヤレス識別送信機のための方法であって、
第1の期間に、短距離ワイヤレス送信を介して、入来する送信を受信することが可能かどうかを示すメッセージを、定期的にブロードキャストすることと、
前記第1の期間が満了したことに応答して、第2の期間の間にリンクアドバタイズメントメッセージを受信することと、
前記受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、近隣ブロードキャスト受信機とのリンクをネゴシエートすることと、
前記ネゴシエートされたリンクを認証することと、
前記ネゴシエートされたリンクを介して入来するメッセージを処理することと、
を備え、
前記ネゴシエートされたリンクはBluetoothペアリングにより実行される、方法。
[C25] 前記入来するメッセージは、ファームウェアの更新、構成情報、トリガ信号、およびソフトウェア命令のうちの少なくとも1つを含む、C24に記載の方法。
[C26] 前記第1の期間は、前記ワイヤレス識別送信機上のタイマー、時計信号、および前記近隣ブロードキャスト受信機からの受信されたメッセージのうちの少なくとも1つによって定義される、C24に記載の方法。
[C27] 不明瞭にされた情報を含むメッセージの発信者を安全に識別するように構成されるサーバであって、
共有秘密鍵をワイヤレス識別送信機に対応するデバイス識別子と関連付ける手段と、
ローリング識別子を含む前記メッセージを受信する手段と、
前記受信されたメッセージから前記ローリング識別子を抽出する手段と、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号する手段と、
前記復号されたデバイス識別子が前記共有秘密鍵と関連付けられる前記デバイス識別子と一致するかどうかを決定する手段と、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別する手段と、
を備えるサーバ。
[C28] 前記メッセージはさらにノンスを含み、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号する手段は、
前記復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記メッセージから抽出された前記ノンスと、前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号する手段を備える、C27に記載のサーバ。
[C29] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C27に記載のサーバ。
[C30] 前記共有秘密鍵は128ビットのサイズを有する、C27に記載のサーバ。
[C31] 復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号する手段は、さらに、暗号化の前に前記デバイス識別子に連結されていたデータを復号する手段を備える、C27に記載のサーバ。
[C32] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
前記ワイヤレス識別送信機内でノンスを初期化する手段と、
サーバと共有される秘密鍵と前記ノンスとを使用して、ストリーミングライク暗号化アルゴリズムで前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化することによって、ローリング識別子を生成する手段と、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストする手段と、
予め定義された間隔で前記ノンスをインクリメントする手段と、
を備えるワイヤレス識別送信機。
[C33] 前記定期的にブロードキャストされるメッセージは、さらに前記ノンスを含む、C32に記載のワイヤレス識別送信機。
[C34] 前記ノンスは、前記ワイヤレス識別送信機によって生成される繰り返されない数を表し、その値は、前記デバイス識別子の符号化が変化することが必要とされるたびに変化する、C32に記載のワイヤレス識別送信機。
[C35] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C32に記載のワイヤレス識別送信機。
[C36] 前記メッセージは80ビット以下のサイズを有する単一のパケットであり、前記秘密鍵は128ビットである、C32に記載のワイヤレス識別送信機。
[C37] 前記ローリング識別子を生成する手段は、送信されるべきデータを前記デバイス識別子に連結し、サーバと共有される前記秘密鍵と前記ノンスとを使用して前記ストリーミングライク暗号化アルゴリズムで前記連結された識別子とデータとを符号化する手段を備える、C32に記載のワイヤレス識別送信機。
[C38] 不明瞭にされた情報を含むメッセージの発信者を安全に識別するように構成されるサーバであって、
共有秘密鍵をワイヤレス識別送信機についてのノンスおよびデバイス識別子と関連付ける手段と、
ローリング識別子を含む前記メッセージを受信する手段と、
前記受信されたメッセージから前記ローリング識別子を抽出する手段と、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントする手段と、
サーバ暗号化データを生成するために、前記共有秘密鍵と、前記ノンスと、擬似ランダム関数とを使用して、前記デバイス識別子を符号化する手段と、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するかどうかを決定する手段と、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別する手段と、
を備える、サーバ。
[C39] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C38に記載のサーバ。
[C40] 前記サーバの現在の時間を表すために、前記ノンスをインクリメントする手段は、前記メッセージ内に含まれる情報に基づいて、前記ワイヤレス識別送信機からのブロードキャストを近隣ブロードキャスト受信機が受信した時間に対応するように前記ノンスを計算する手段を備える、C38に記載のサーバ。
[C41] 前記受信されたメッセージからノンスを抽出する手段をさらに備え、前記デバイス識別子を符号化する手段が、前記受信されたメッセージから抽出された前記ノンスを使用する、C38に記載のサーバ。
[C42] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
前記ワイヤレス識別送信機内でノンスを初期化する手段と、
サーバと共有される秘密鍵と前記ノンスとに基づいて前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化するために、擬似ランダム関数を使用することにより、ローリング識別子を生成する手段と、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストする手段と、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントする手段と、
を備える、ワイヤレス識別送信機。
[C43] 擬似ランダム関数を使用することによってローリング識別子を生成する手段は、送信されるべきデータを前記デバイス識別子に連結し、サーバと共有される前記秘密鍵と前記ノンスとに基づいて前記連結されたデバイス識別子とデータとを符号化するために、前記擬似ランダム関数を使用する手段を備える、C42に記載のワイヤレス識別送信機。
[C44] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C42に記載のワイヤレス識別送信機。
[C45] 不明瞭にされた情報を含むメッセージの発信者を安全に識別するように構成されるサーバであって、
ワイヤレス識別送信機についてのデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付ける手段と、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算する手段と、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信する手段と、
前記受信されたメッセージから前記符号化ノンスを抽出する手段と、
前記受信されたメッセージから前記ローリング識別子を抽出する手段と、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較する手段と、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記抽出された符号化ノンスと一致する予め計算された符号化ノンスと関連付けられるノンスとを使用して、前記抽出されたローリング識別子を復号する手段と、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのうちの1つと一致しないとき、前記復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記ワイヤレス識別送信機と関連付けられる前記初期ノンスとを使用して、前記抽出されたローリング識別子を復号する手段と、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機の前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別する手段と、
を備えるサーバ。
[C46] 前記第1の秘密鍵と前記第2の秘密鍵とは同じ値を有する、C45に記載のサーバ。
[C47] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
前記ワイヤレス識別送信機内でノンスを初期化する手段と、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成する手段と、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成する手段と、
短距離ワイヤレス送信を使用して前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストするための手段と、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントする手段と、
を備える、ワイヤレス識別送信機。
[C48] メッセージの発信者を安全に識別するように構成されるサーバであって、
ワイヤレス識別送信機についてのデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付ける手段と、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算する手段と、
前記第1の秘密鍵、前記現在ノンス、および前記デバイス識別子とともに、ストリーミングライク暗号化アルゴリズムを使用して、複数の符号化されたデバイス識別子を予め計算する手段と、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信する手段と、
前記受信されたメッセージから前記符号化ノンスを抽出する手段と、
前記受信されたメッセージから前記ローリング識別子を抽出する手段と、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較する手段と、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、前記抽出されたローリング識別子を前記複数の予め計算された符号化されたデバイス識別子と比較する手段と、
前記抽出されたローリング識別子が前記複数の予め計算された符号化されたデバイス識別子のいずれかと一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別する手段と、
を備えるサーバ。
[C49] メッセージの発信者を識別するように構成されるサーバであって、
暗号化アルゴリズム、共有秘密鍵、初期ノンス、およびワイヤレス識別送信機と関連付けられるデバイス識別子で、複数の初期モデルペイロードを生成する手段と、前記暗号化アルゴリズムは前記ワイヤレス識別送信機と共有され、
前記暗号化アルゴリズム、前記共有秘密鍵、現在ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の現在モデルペイロードを生成する手段と、
不明瞭にされた識別情報をもつペイロードを含む前記メッセージを受信する手段と、
前記受信されたメッセージの前記ペイロードを前記複数の現在モデルペイロードと比較する手段と、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別する手段と、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのいずれとも一致しないとき、前記受信されたメッセージの前記ペイロードを前記複数の初期モデルペイロードと比較する手段と、
前記受信されたメッセージの前記ペイロードが前記複数の初期モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別する手段と、
前記受信されたメッセージの前記ペイロードが、初期モデルペイロードと現在モデルペイロードのうちの少なくとも1つと一致するとき、前記ワイヤレス識別送信機と関連付けられる前記現在ノンスを更新する手段と、
を備えるサーバ。
[C50] 入来するメッセージを受信するように構成されるワイヤレス識別送信機であって、
第1の期間に、短距離ワイヤレス送信を介して、入来する送信を受信することが可能かどうかを示すメッセージを、定期的にブロードキャストする手段と、
前記第1の期間が満了したことに応答して、第2の期間の間にリンクアドバタイズメントメッセージを受信する手段と、
前記受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、近隣ブロードキャスト受信機とのリンクをネゴシエートする手段と、
前記ネゴシエートされたリンクを認証する手段と、
前記ネゴシエートされたリンクを介して入来するメッセージを処理する手段と、
を備え、
前記ネゴシエートされたリンクはBluetoothペアリングにより実行される、ワイヤレス識別送信機。
[C51] 前記入来するメッセージは、ファームウェアの更新、構成情報、トリガ信号、およびソフトウェア命令のうちの少なくとも1つを含む、C50に記載のワイヤレス識別送信機。
[C52] 前記第1の期間は、前記ワイヤレス識別送信機上のタイマー、時計信号、および前記近隣ブロードキャスト受信機からの受信されたメッセージのうちの少なくとも1つによって定義される、C50に記載のワイヤレス識別送信機。
[C53] 不明瞭にされた情報を含むメッセージの発信者を安全に識別するように構成されるサーバであって、
メモリと、
前記メモリに結合されたサーバプロセッサと、を備え、前記サーバプロセッサは、
共有秘密鍵をワイヤレス識別送信機に対応するデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記共有秘密鍵と関連付けられる前記デバイス識別子と一致するかどうかを決定することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行する、サーバプロセッサ実行可能命令によって構成される、サーバ。
[C54] 前記メッセージはさらにノンスを含み、
前記サーバプロセッサは、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号することが、
前記復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記メッセージから抽出された前記ノンスと、前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号することを備えるように、動作を実行するサーバプロセッサ実行可能命令によって構成される、C53に記載の方法。
[C55] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C53に記載のサーバ。
[C56] 前記共有秘密鍵は128ビットのサイズを有する、C53に記載のサーバ。
[C57] 前記サーバプロセッサは、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号することが、さらに、暗号化の前に前記デバイス識別子に連結されていたデータを復号することを備えるように、動作を実行するサーバプロセッサ実行可能命令によって構成される、C53に記載のサーバ。
[C58] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
メモリと、
前記メモリに結合されたプロセッサと、を備え、前記プロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
サーバと共有される秘密鍵と前記ノンスとを使用してストリーミングライク暗号化アルゴリズムで前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化することによって、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行する、プロセッサ実行可能命令によって構成される、ワイヤレス識別送信機。
[C59] 前記定期的にブロードキャストされるメッセージは、さらに前記ノンスを含む、C58に記載のワイヤレス識別送信機。
[C60] 前記ノンスは、前記デバイス識別子の符号化が変化することが必要とされるたびに値が変化する、前記ワイヤレス識別送信機によって生成される繰り返されない数を表す、C58に記載のワイヤレス識別送信機。
[C61] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C58に記載のワイヤレス識別送信機。
[C62] 前記メッセージは80ビット以下のサイズを有する単一のパケットであり、前記秘密鍵は128ビットである、C58に記載のワイヤレス識別送信機。
[C63] 前記プロセッサは、
前記ローリング識別子を生成することが、送信されるべきデータを前記デバイス識別子に連結することと、サーバと共有される前記秘密鍵と前記ノンスとを使用して前記ストリーミングライク暗号化アルゴリズムで前記連結された識別子とデータとを符号化することとを備えるように、動作を実行するプロセッサ実行可能命令によって構成される、C58に記載のワイヤレス識別送信機。
[C64] 不明瞭にされた情報を含むメッセージの発信者を安全に識別するように構成されるサーバであって、
メモリと、
前記メモリに結合されたサーバプロセッサと、を備え、前記サーバプロセッサは、
共有秘密鍵をワイヤレス識別送信機に対するノンスおよびデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることと、
サーバ暗号化データを生成するために、前記共有秘密鍵と、前記ノンスと、擬似ランダム関数とを使用して、前記デバイス識別子を符号化することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するかどうかを決定することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバプロセッサ実行可能命令によって構成される、サーバ。
[C65] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C64に記載のサーバ。
[C66] 前記サーバプロセッサは、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることが、
前記メッセージ内に含まれる情報に基づいて、前記ワイヤレス識別送信機からのブロードキャストを近隣ブロードキャスト受信機が受信した時間に対応するように前記ノンスを計算することを備えるように、動作を実行するサーバプロセッサ実行可能命令によって構成される、C64に記載のサーバ。
[C67] 前記サーバプロセッサは、
前記受信されたメッセージからノンスを抽出することをさらに備える動作を実行するサーバプロセッサ実行可能命令によって構成され、
前記デバイス識別子を符号化することは、前記受信されたメッセージから抽出された前記ノンスを使用する、C64に記載のサーバ。
[C68] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
メモリと、
前記メモリに結合されたプロセッサと、を備え、前記プロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される秘密鍵と、前記ノンスとを擬似ランダム関数により符号化することによって、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと
を備える動作を実行する、プロセッサ実行可能命令によって構成される、ワイヤレス識別送信機。
[C69] 前記サーバプロセッサは、
擬似ランダム関数を使用することによってローリング識別子を生成することが、
送信されるべきデータを前記デバイス識別子に連結し、サーバと共有される前記秘密鍵と前記ノンスとに基づいて前記連結されたデバイス識別子とデータとを符号化するために、前記擬似ランダム関数を使用すること、を備えるように、動作を実行するサーバプロセッサ実行可能命令によって構成される、C68に記載のワイヤレス識別送信機。
[C70] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C68に記載のワイヤレス識別送信機。
[C71] 不明瞭にされた情報を含むメッセージの発信者を識別するように構成されるサーバであって、
メモリと、
前記メモリに結合されたサーバプロセッサと、を備え、前記サーバプロセッサは、
ワイヤレス識別送信機に対するデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化ノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記抽出された符号化ノンスと一致する予め計算された符号化ノンスと関連付けられるノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのうちの1つと一致しないとき、前記復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記ワイヤレス識別送信機と関連付けられる前記初期ノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機の前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバプロセッサ実行可能命令によって構成される、サーバ。
[C72] 前記第1の秘密鍵と前記第2の秘密鍵とは同じ値を有する、C71に記載のサーバ。
[C73] 識別情報の片方向通信を可能にするために不明瞭にされた情報を送信するように構成されるワイヤレス識別送信機であって、
メモリと、
前記メモリに結合されたプロセッサと、を備え、前記プロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成される、ワイヤレス識別送信機。
[C74] メッセージの発信者を安全に識別するように構成されるサーバであって、
メモリと、
前記メモリに結合されたサーバプロセッサと、を備え、前記サーバプロセッサは、
ワイヤレス識別送信機についてデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
前記第1の秘密鍵、前記現在ノンス、および前記デバイス識別子とともに、ストリーミングライク暗号化アルゴリズムを使用して、複数の符号化されたデバイス識別子を予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化されたノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、前記抽出されたローリング識別子を前記複数の予め計算された符号化デバイス識別子と比較することと、
前記抽出されたローリング識別子が前記複数の予め計算された符号化されたデバイス識別子のいずれかと一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバプロセッサ実行可能命令によって構成される、サーバ。
[C75] メッセージの発信者を安全に識別するように構成されるサーバであって、
メモリと、
前記メモリに結合されたサーバプロセッサと、を備え、前記サーバプロセッサは、
暗号化アルゴリズム、共有秘密鍵、初期ノンス、およびワイヤレス識別送信機と関連付けられるデバイス識別子で、複数の初期モデルペイロードを生成することと、前記暗号化アルゴリズムは前記ワイヤレス識別送信機と共有され、
前記暗号化アルゴリズム、前記共有秘密鍵、現在ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の現在モデルペイロードを生成することと、
不明瞭にされた識別情報をもつペイロードを含む前記メッセージを受信することと、
前記受信されたメッセージの前記ペイロードを前記複数の現在モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのいずれとも一致しないとき、前記受信されたメッセージの前記ペイロードを前記複数の初期モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の初期モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが、初期モデルペイロードと現在モデルペイロードのうちの少なくとも1つと一致するとき、前記ワイヤレス識別送信機と関連付けられる前記現在ノンスを更新することと、
を備える動作を実行するサーバプロセッサ実行可能命令によって構成される、サーバ。
[C76] 入来するメッセージを受信するように構成されるワイヤレス識別送信機であって、
メモリと、
前記メモリに結合されたプロセッサと、を備え、前記プロセッサは、
第1の期間に、短距離ワイヤレス送信を介して、入来する送信を受信することが可能かどうかを示すメッセージを、定期的にブロードキャストすることと、
前記第1の期間が満了したことに応答して、第2の期間の間にリンクアドバタイズメントメッセージを受信することと、
前記受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、近隣ブロードキャスト受信機とのリンクをネゴシエートすることと、
前記ネゴシエートされたリンクを認証することと、
前記ネゴシエートされたリンクを介して前記入来するメッセージを処理することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記ネゴシエートされたリンクはBluetoothペアリングにより実行される、ワイヤレス識別送信機。
[C77] 前記入来するメッセージは、ファームウェアの更新、構成情報、トリガ信号、およびソフトウェア命令のうちの少なくとも1つを含む、C76に記載のワイヤレス識別送信機。
[C78] 前記第1の期間は、前記ワイヤレス識別送信機上のタイマー、時計信号、および前記近隣ブロードキャスト受信機からの受信されたメッセージのうちの少なくとも1つによって定義される、C76に記載のワイヤレス識別送信機。
[C79] サーバに、不明瞭にされた情報を含むメッセージの発信者を前記サーバが安全に識別するための動作を実行させるように構成されるサーバ実行可能命令を記憶した、非一時的サーバ可読記憶媒体であって、前記動作は、
共有秘密鍵をワイヤレス識別送信機に対応するデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記共有秘密鍵と関連付けられる前記デバイス識別子と一致するかどうかを決定することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える、非一時的サーバ可読記憶媒体。
[C80] 前記メッセージはさらにノンスを含み、
前記記憶されたサーバ実行可能命令は、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することが、
前記復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記メッセージから抽出された前記ノンスと、前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号すること、を備えるように、
サーバに動作を実行させるように構成される、C79に記載の非一時的サーバ可読記憶媒体。
[C81] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C79に記載の非一時的サーバ可読記憶媒体。
[C82] 前記共有秘密鍵が128ビットのサイズを有する、C79に記載の非一時的サーバ可読記憶媒体。
[C83] 前記記憶されたサーバ実行可能命令は、
復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと前記共有秘密鍵とを使用して前記抽出されたローリング識別子を復号することが、さらに、暗号化の前に前記デバイス識別子に連結されていたデータを復号することを備えるように、
サーバに動作を実行させるように構成される、C79に記載の非一時的サーバ可読記憶媒体。
[C84] 識別情報の片方向通信を可能にするためにワイヤレス識別送信機が不明瞭にされた情報を送信するための動作をプロセッサに実行させるように構成される、プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
前記ワイヤレス識別送信機内でノンスを初期化することと、
サーバと共有される秘密鍵と前記ノンスとを使用してストリーミングライク暗号化アルゴリズムで前記ワイヤレス識別送信機と関連付けられるデバイス識別子を符号化することによって、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して、前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
予め定義された間隔で前記ノンスをインクリメントすることと、
を備える、非一時的プロセッサ可読記憶媒体。
[C85] 前記定期的にブロードキャストされるメッセージはさらに前記ノンスを含む、C84に記載の非一時的プロセッサ可読記憶媒体。
[C86] 前記ノンスは、前記ワイヤレス識別送信機によって生成される繰り返されない数を表し、その値は、前記デバイス識別子の符号化が変化することが必要とされるたびに変化する、C84に記載の非一時的プロセッサ可読記憶媒体。
[C87] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C84に記載の非一時的プロセッサ可読記憶媒体。
[C88] 前記メッセージは80ビット以下のサイズを有する単一のパケットであり、前記秘密鍵は128ビットである、C84に記載の非一時的プロセッサ可読記憶媒体。
[C89] 前記記憶されたサーバ実行可能命令は、
前記ローリング識別子を生成することが、送信されるべきデータを前記デバイス識別子に連結することと、サーバと共有される前記秘密鍵と前記ノンスとを使用して前記ストリーミングライク暗号化アルゴリズムにより前記連結された識別子とデータとを符号化することと、を備えるように、
サーバに動作を実行させるように構成される、C84に記載の非一時的プロセッサ可読記憶媒体。
[C90] 不明瞭にされた情報を含むメッセージの発信者をサーバが安全に識別するための動作を前記サーバに実行させるように構成されるサーバ実行可能命令を記憶した、非一時的サーバ可読記憶媒体であって、前記動作は、
共有秘密鍵をワイヤレス識別送信機についてのノンスおよびデバイス識別子と関連付けることと、
ローリング識別子を含む前記メッセージを受信することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることと、
サーバ暗号化データを生成するために、前記共有秘密鍵と、前記ノンスと、擬似ランダム関数とを使用して、前記デバイス識別子を符号化することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するかどうかを決定することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える、非一時的サーバ可読記憶媒体。
[C91] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C90に記載の非一時的サーバ可読記憶媒体。
[C92] 前記サーバ実行可能命令は、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることが、前記メッセージ内に含まれる情報に基づいて、前記ワイヤレス識別送信機からのブロードキャストを近隣ブロードキャスト受信機が受信した時間に対応するように前記ノンスを計算することを備えるように、前記サーバに動作を実行させるように構成される、C90に記載の非一時的サーバ可読記憶媒体。
[C93] 前記サーバ実行可能命令は、前記受信されたメッセージからノンスを抽出することをさらに備える動作を前記サーバに実行させるように構成され、
前記デバイス識別子を符号化することは、前記受信されたメッセージから抽出された前記ノンスを使用する、C90に記載の非一時的サーバ可読記憶媒体。
[C94] 識別情報の片方向通信を可能にするためにワイヤレス識別送信機が不明瞭にされた情報を送信するための動作をプロセッサに実行させるように構成される、プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される秘密鍵と、前記ノンスとを、擬似ランダム関数で符号化することによって、ローリング識別子を生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える、非一時的プロセッサ可読記憶媒体。
[C95] 前記プロセッサ実行可能命令は、
擬似ランダム関数を使用することによってローリング識別子を生成することが、送信されるべきデータを前記デバイス識別子に連結することと、サーバと共有される前記秘密鍵と前記ノンスとに基づいて前記連結されたデバイス識別子とデータとを符号化するために、前記擬似ランダム関数を使用することと、を備えるように、
プロセッサに動作を実行させるように構成される、C94に記載の非一時的サーバ可読記憶媒体。
[C96] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C94に記載の非一時的プロセッサ可読記憶媒体。
[C97] 不明瞭にされた情報を含むメッセージの発信者をサーバが安全に識別するための動作を前記サーバに実行させるように構成されるサーバ実行可能命令を記憶した、非一時的サーバ可読記憶媒体であって、前記動作は、
ワイヤレス識別送信機に対するデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化ノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記抽出された符号化ノンスと一致する予め計算された符号化ノンスと関連付けられるノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのうちの1つと一致しないとき、前記復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記ワイヤレス識別送信機と関連付けられる前記初期ノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機の前記デバイス識別子と一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える、非一時的サーバ可読記憶媒体。
[C98] 前記第1の秘密鍵と前記第2の秘密鍵とは同じ値を有する、C97に記載の非一時的サーバ可読記憶媒体。
[C99] 識別情報の片方向通信を可能にするためにワイヤレス識別送信機が不明瞭にされた情報を送信するための動作をプロセッサに実行させるように構成される、プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムにより符号化することによって、ローリング識別子を生成することと、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成することと、
短距離ワイヤレス送信を使用して前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える、非一時的プロセッサ可読記憶媒体。
[C100] メッセージの発信者をサーバが安全に識別するための動作を前記サーバに実行させるように構成されるサーバ実行可能命令を記憶した、非一時的サーバ可読記憶媒体であって、前記動作は、
ワイヤレス識別送信機に対するデバイス識別子を、初期ノンスと、現在ノンスと、第1の秘密鍵と、第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
前記第1の秘密鍵、前記現在ノンス、および前記デバイス識別子とともに、ストリーミングライク暗号化アルゴリズムを使用して、複数の符号化されたデバイス識別子を予め計算することと、
ローリング識別子と符号化ノンスとを含む前記メッセージを受信することと、
前記受信されたメッセージから前記符号化ノンスを抽出することと、
前記受信されたメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、前記抽出されたローリング識別子を前記複数の予め計算された符号化されたデバイス識別子と比較することと、
前記抽出されたローリング識別子が前記複数の予め計算された符号化されたデバイス識別子のいずれかと一致するとき、前記受信されたメッセージの前記発信者を前記ワイヤレス識別送信機として識別することと、
を備える、非一時的サーバ可読記憶媒体。
[C101] メッセージの発信者をサーバが安全に識別するための動作を前記サーバに実行させるように構成されるサーバ実行可能命令を記憶した、非一時的サーバ可読記憶媒体であって、前記動作は、
暗号化アルゴリズム、共有秘密鍵、初期ノンス、およびワイヤレス識別送信機と関連付けられるデバイス識別子で、複数の初期モデルペイロードを生成することと、前記暗号化アルゴリズムは前記ワイヤレス識別送信機と共有され、
前記暗号化アルゴリズム、前記共有秘密鍵、現在ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の現在モデルペイロードを生成することと、
不明瞭にされた識別情報をもつペイロードを含む前記メッセージを受信することと、
前記受信されたメッセージの前記ペイロードを前記複数の現在モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが前記複数の現在モデルペイロードのいずれとも一致しないとき、前記受信されたメッセージの前記ペイロードを前記複数の初期モデルペイロードと比較することと、
前記受信されたメッセージの前記ペイロードが前記複数の初期モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが、初期モデルペイロードと現在モデルペイロードとのうちの少なくとも1つと一致するとき、前記ワイヤレス識別送信機と関連付けられる前記現在のノンスを更新することと、
を備える、非一時的サーバ可読記憶媒体。
[C102] 入来するメッセージを受信する、ワイヤレス識別送信機のための動作をプロセッサに実行させるように構成される、プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
第1の期間に、短距離ワイヤレス送信を介して、入来する送信を受信することが可能かどうかを示すメッセージを、定期的にブロードキャストすることと、
前記第1の期間が満了したことに応答して、第2の期間の間にリンクアドバタイズメントメッセージを受信することと、
前記受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、近隣ブロードキャスト受信機とのリンクをネゴシエートすることと、
前記ネゴシエートされたリンクを認証することと、
前記ネゴシエートされたリンクを介して入来するメッセージを処理することと、
を備え、
前記ネゴシエートされたリンクがBluetoothペアリングを介して実行される、非一時的プロセッサ可読記憶媒体。
[C103] 前記入来するメッセージは、ファームウェアの更新、構成情報、トリガ信号、およびソフトウェア命令の少なくとも1つを含む、C102に記載の非一時的プロセッサ可読記憶媒体。
[C104] 前記第1の期間が、前記ワイヤレス識別送信機上のタイマー、時計信号、および前記近隣ブロードキャスト受信機からの受信されたメッセージのうちの少なくとも1つによって定義される、C102に記載の非一時的プロセッサ可読記憶媒体。
[C105] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、前記第のプロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、前記サーバと共有される秘密鍵と、前記ノンスとを、ストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記第1の送受信機を介して、短距離ワイヤレス送信を使用して、前記ローリング識別子と前記ノンスとを含むメッセージを定期的にブロードキャストすることと、
予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記第2の送受信機を介して、前記ワイヤレス識別送信機から前記ローリング識別子と前記ノンスとを含む前記メッセージを受信することと、
前記ネットワークデバイスを介して、前記ローリング識別子と前記ノンスとを含むサイティングメッセージを前記サーバに送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、
前記秘密鍵を前記ワイヤレス識別送信機に対応する前記デバイス識別子と関連付けることと、
前記ローリング識別子と前記ノンスとを含む前記サイティングメッセージを受信することと、
前記受信されたサイティングメッセージから前記ノンスと前記ローリング識別子とを抽出することと、
復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記秘密鍵と、前記抽出されたノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記秘密鍵と関連付けられる前記デバイス識別子と一致するかどうかを決定することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子と一致するとき、前記受信されたメッセージの発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C106] 前記ストリーミングライク暗号化アルゴリズムはAES−CTR暗号である、C105に記載のシステム。
[C107] 前記秘密鍵は128ビットのサイズを有する、C105に記載のシステム。
[C108] 前記ノンスは、前記ワイヤレス識別送信機によって生成される繰り返されない数を表し、その値は、前記デバイス識別子の符号化が変化することが必要とされるたびに変化する、C105に記載のシステム。
[C109] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、前記第1のプロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、前記サーバと共有される秘密鍵と、前記ノンスとを擬似ランダム関数で符号化することによって、ローリング識別子を生成することと、
前記第1の送受信機を介して、短距離ワイヤレス送信を使用して、前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記第2の送受信機を介して、前記ワイヤレス識別送信機から前記ローリング識別子を含む前記メッセージを受信することと、
前記ネットワークデバイスを介して、前記ローリング識別子を含むサイティングメッセージを前記サーバに送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、
前記秘密鍵を前記ワイヤレス識別送信機に対する前記ノンスおよび前記デバイス識別子とに関連付けることと、
前記ローリング識別子を含む前記サイティングメッセージを前記近隣ブロードキャスト受信機から受信することと、
前記受信されたサイティングメッセージから前記ローリング識別子を抽出することと、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることと、
サーバ暗号化データを生成するために、前記秘密鍵と、前記ノンスと、前記擬似ランダム関数とを使用して、前記デバイス識別子を符号化することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するかどうかを決定することと、
前記サーバ暗号化データが前記抽出されたローリング識別子と一致するとき、前記受信されたメッセージの発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C110] 前記擬似ランダム関数は、鍵付きハッシュメッセージ認証コード(HMAC)または暗号ベースのメッセージ認証コード(CMAC)のうちの1つである、C109に記載のシステム。
[C111] 前記サーバは、
前記サーバの現在の時間を表すために、前記ノンスをインクリメントすることが、前記サイティングメッセージ内に含まれる情報に基づいて、前記ワイヤレス識別送信機からの前記メッセージを前記近隣ブロードキャスト受信機が受信した時間に対応するように前記ノンスを計算することを備えるように、動作を実行するサーバ実行可能命令によって構成される、C109に記載のシステム。
[C112] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、
前記第1のプロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、前記サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成することと、
前記第1の送受信機を介して、短距離ワイヤレス送信を使用して、前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記第2の送受信機を介して、前記ワイヤレス識別送信機から、前記ローリング識別子と前記符号化されたノンスとを含む前記メッセージを受信することと、
前記ネットワークデバイスを介して、前記ローリング識別子と前記符号化されたノンスとを含むサイティングメッセージを前記サーバに送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、
前記ワイヤレス識別送信機についての前記デバイス識別子を、初期ノンスと、現在ノンスと、前記ワイヤレス識別送信機と共有される前記第1の秘密鍵と、前記第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに前記擬似ランダム関数を使用して、複数の符号化ノンスを予め計算することと、
前記ローリング識別子と前記符号化ノンスとを含む前記サイティングメッセージを、前記近隣ブロードキャスト受信機から受信することと、
前記受信されたサイティングメッセージから前記符号化ノンスを抽出することと、
前記受信されたサイティングメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化ノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、復号されたデバイス識別子を生成するために、前記ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記抽出された符号化ノンスと一致する予め計算された符号化ノンスと関連付けられる記憶されたノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記抽出された符号化ノンスが前記複数の予め計算された符号化ノンスのうちの1つと一致しないとき、前記復号されたデバイス識別子を生成するために、ストリーミングライク暗号化アルゴリズムと、前記第1の秘密鍵と、前記ワイヤレス識別送信機と関連付けられる前記初期ノンスとを使用して、前記抽出されたローリング識別子を復号することと、
前記復号されたデバイス識別子が前記ワイヤレス識別送信機の前記デバイス識別子と一致するとき、前記受信されたメッセージの発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C113] 前記第1の秘密鍵と前記第2の秘密鍵とは同じ値を有する、C112に記載のシステム。
[C114] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、前記第1のプロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、前記サーバと共有される第1の秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記サーバと共有される第2の秘密鍵とともに擬似ランダム関数を使用して前記ノンスを符号化することによって、符号化されたノンスを生成することと、
前記第1の送受信機を介して、短距離ワイヤレス送信を使用して、前記ローリング識別子と前記符号化されたノンスとを含むメッセージを定期的にブロードキャストすることと、
前記ワイヤレス識別送信機の現在の時間を維持するために、予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記第2の送受信機を介して、前記ワイヤレス識別送信機から前記ローリング識別子と前記符号化されたノンスとを含む前記メッセージを受信することと、
前記ネットワークデバイスを介して、前記ローリング識別子と前記符号化されたノンスとを含むサイティングメッセージを前記サーバに送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、
前記ワイヤレス識別送信機についての前記デバイス識別子を、初期ノンスと、現在ノンスと、前記第1の秘密鍵と、前記第2の秘密鍵とに関連付けることと、
前記第2の秘密鍵および前記現在ノンスとともに、前記擬似ランダム関数を使用して複数の符号化ノンスを予め計算することと、
前記第1の秘密鍵、前記現在ノンス、および前記デバイス識別子とともに、前記ストリーミングライク暗号化アルゴリズムを使用して、複数の符号化されたデバイス識別子を予め計算することと、
前記ローリング識別子と前記符号化されたノンスとを含む前記サイティングメッセージを、前記近隣ブロードキャスト受信機から受信することと、
前記受信されたサイティングメッセージから前記符号化されたノンスを抽出することと、
前記受信されたサイティングメッセージから前記ローリング識別子を抽出することと、
前記抽出された符号化されたノンスを前記複数の予め計算された符号化ノンスと比較することと、
前記抽出された符号化されたノンスが前記複数の予め計算された符号化ノンスのいずれかと一致するとき、前記抽出されたローリング識別子を前記複数の予め計算された符号化されたデバイス識別子と比較することと、
前記抽出されたローリング識別子が前記複数の予め計算された符号化されたデバイス識別子のいずれかと一致するとき、前記受信されたメッセージの発信者を前記ワイヤレス識別送信機として識別することと、
を備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C115] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、前記第1のプロセッサは、
前記ワイヤレス識別送信機内でノンスを初期化することと、
前記ワイヤレス識別送信機と関連付けられるデバイス識別子と、前記サーバと共有される秘密鍵と、前記ノンスとをストリーミングライク暗号化アルゴリズムで符号化することによって、ローリング識別子を生成することと、
前記第1の送受信機を介して、短距離ワイヤレス送信を使用して、前記ローリング識別子を含むメッセージを定期的にブロードキャストすることと、
予め定義された間隔で前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記第2の送受信機を介して、前記ワイヤレス識別送信機から前記ローリング識別子を含む前記メッセージを受信することと、
前記ネットワークデバイスを介して、前記ローリング識別子を含むサイティングメッセージを前記サーバに送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、
前記暗号化アルゴリズム、前記秘密鍵、初期ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の初期モデルペイロードを生成することと、前記暗号化アルゴリズムは前記ワイヤレス識別送信機と共有され、
前記暗号化アルゴリズム、前記秘密鍵、現在ノンス、および前記ワイヤレス識別送信機と関連付けられる前記デバイス識別子で、複数の現在モデルペイロードを生成することと、
不明瞭にされた識別情報をもつペイロードを含む前記サイティングメッセージを、前記近隣ブロードキャスト受信機から受信することと、
前記受信されたサイティングメッセージの前記ペイロードを前記複数の現在モデルペイロードを比較することと、
前記受信されたサイティングメッセージの前記ペイロードが前記複数の現在モデルペイロードのうちの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたサイティングメッセージの前記ペイロードが前記複数の現在モデルペイロードのいずれとも一致しないとき、前記受信されたサイティングメッセージの前記ペイロードを前記複数の初期モデルペイロードと比較することと、
前記受信されたサイティングメッセージの前記ペイロードが前記複数の初期モデルペイロードの1つと一致するとき、前記ワイヤレス識別送信機を識別することと、
前記受信されたメッセージの前記ペイロードが初期モデルペイロードと現在モデルペイロードのうちの少なくとも1つと一致するとき、前記ワイヤレス識別送信機と関連付けられる前記現在ノンスを更新することと、
を備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C116] サーバと、
ワイヤレス識別送信機と、
近隣ブロードキャスト受信機と、を備えるシステムであって、
前記ワイヤレス識別送信機は、
第1のメモリと、
前記近隣ブロードキャスト受信機によって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、
前記第1のメモリおよび前記第1の送受信機に結合される第1のプロセッサと、を備え、前記第1のプロセッサは、
第1の期間に、前記第1の送受信機を使用して、入来する送信を受信することが可能かどうかを示すメッセージを、短距離ワイヤレス送信を介して定期的にブロードキャストすることと、
前記第1の期間が満了したことに応答して、第2の期間の間にリンクアドバタイズメントメッセージを受信することと、
前記受信されたリンクアドバタイズメントメッセージ内の情報に基づいて、前記近隣ブロードキャスト受信機とのリンクをネゴシエートすることと、前記ネゴシエートされたリンクがBluetoothペアリングを介して実行され、
前記ネゴシエートされたリンクを認証することと、
前記ネゴシエートされたリンクを介して入来するメッセージを処理することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記近隣ブロードキャスト受信機は、
第2のメモリと、
前記ワイヤレス識別送信機と短距離ワイヤレス信号を交換するように構成される第2の送受信機と、
前記サーバと信号を交換するように構成されるネットワークデバイスと、
前記第2のメモリ、前記第2の送受信機、および前記ネットワークデバイスに結合された第2のプロセッサと、を備え、前記第2のプロセッサは、
前記ネットワークデバイスを使用して前記サーバからメッセージを受信することと、
前記ワイヤレス識別送信機が前記入来する送信を受信する可能性を示すブロードキャストメッセージを受信することと、
前記受信されたブロードキャストメッセージにおいて示される前記可能性に基づいて、前記リンクアドバタイズメントメッセージを送信することと、
前記リンクアドバタイズメントメッセージ内の前記情報に基づいて、前記ワイヤレス識別送信機との前記リンクをネゴシエートすることと、前記ネゴシエートされたリンクは前記Bluetoothペアリングを介して実行され、
前記ネゴシエートされたリンクを認証することと、
前記ネゴシエートされたリンクを介して、前記メッセージを前記サーバから前記ワイヤレス識別送信機に送信することと、
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記サーバは、前記メッセージを前記近隣ブロードキャスト受信機に送信することを備える動作を実行するサーバ実行可能命令によって構成される、システム。
[C117] 前記ワイヤレス識別送信機に送信される前記メッセージは、ファームウェアの更新、構成情報、トリガ信号、およびソフトウェア命令のうちの少なくとも1つを含む、C116に記載のシステム。
[C118] 前記第1の期間は、前記ワイヤレス識別送信機上のタイマー、時計信号、および前記近隣ブロードキャスト受信機からの第2のメッセージのうちの少なくとも1つによって定義される、C116に記載のシステム。
[C119] Bluetoothを使用して、向上されたセキュリティで通信する第1の通信デバイスのための方法であって、
第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスと共有されるノンスを記憶することと、
前記通信リンクを介して、ローリングBluetoothマシンアドレスを示すメッセージを受信することと、
前記ノンスと、前記第2の通信デバイスと共有される暗号化アルゴリズムとを使用して、前記第2の通信デバイスの予想されるBluetoothマシンアドレスを生成することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを処理することと、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと、を備える方法。
[C120] 前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記予想されるBluetoothマシンアドレスと一致しないとき、予め定義されたオフセット値のセットにより、前記ノンスを変更することと、
前記変更されたノンスに基づいて、ある期間の間、前記受信されたメッセージの前記ローリングBluetoothマシンアドレスと比較するための、複数の新たな予想されるBluetoothマシンアドレスを生成することと、
前記期間の間に一致が発見されないとき、前記受信されたメッセージを無視することと、
をさらに備える、C119に記載の方法。
[C121] Bluetoothを使用して、向上されたセキュリティで通信するように構成される第1の通信デバイスであって、
第2の通信デバイスとの通信リンクを確立する手段と、
前記第2の通信デバイスと共有されるノンスを記憶する手段と、
前記通信リンクを介して、ローリングBluetoothマシンアドレスを示すメッセージを受信する手段と、
前記ノンスと、前記第2の通信デバイスと共有される暗号化アルゴリズムとを使用して、前記第2の通信の予想されるBluetoothマシンアドレスを生成する手段と、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較する手段と、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを処理する手段と、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントする手段と、
を備える、第1の通信デバイス。
[C122] 前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記予想されるBluetoothマシンアドレスと一致しないとき、予め定義されたオフセット値のセットにより、前記ノンスを変更する手段と、
前記変更されたノンスに基づいて、ある期間の間、前記受信されたメッセージの前記ローリングBluetoothマシンアドレスと比較するための、複数の新たな予想されるBluetoothマシンアドレスを生成する手段と、
前記期間の間に一致が発見されないとき、前記受信されたメッセージを無視する手段と、
をさらに備える、C121に記載の第1の通信デバイス。
[C123] Bluetoothを使用して、向上されたセキュリティで通信するように構成される第1の通信デバイスであって、
メモリと、
前記メモリに結合されたプロセッサと、を備え、前記プロセッサは、
第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスと共有されるノンスを記憶することと、
前記通信リンクを介して、ローリングBluetoothマシンアドレスを示すメッセージを受信することと、
前記ノンスと、前記第2の通信デバイスと共有される暗号化アルゴリズムとを使用して、前記第2の通信デバイスの予想されるBluetoothマシンアドレスを生成することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを処理することと、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成される、第1の通信デバイス。
[C124] 前記プロセッサは、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記予想されるBluetoothマシンアドレスと一致しないとき、予め定義されたオフセット値のセットにより、前記ノンスを変更することと、
前記変更されたノンスに基づいて、ある期間の間、前記受信されたメッセージの前記ローリングBluetoothマシンアドレスと比較するための、複数の新たな予想されるBluetoothマシンアドレスを生成することと、
前記期間の間に一致が発見されないとき、前記受信されたメッセージを無視することと、
をさらに備える動作を実行するプロセッサ実行可能命令によって構成される、C123に記載の第1の通信デバイス。
[C125] Bluetoothを使用して向上されたセキュリティで第1の通信デバイスが通信するための動作をプロセッサに実行させるように構成される、プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスと共有されるノンスを記憶することと、
前記通信リンクを介して、ローリングBluetoothマシンアドレスを示すメッセージを受信することと、
前記ノンスと、前記第2の通信デバイスと共有される暗号化アルゴリズムとを使用して、前記第2の通信デバイスの予想されるBluetoothマシンアドレスを生成することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを処理することと、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと、
を備える、非一時的プロセッサ可読記憶媒体。
[C126] 前記プロセッサ実行可能ソフトウェア命令は、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記予想されるBluetoothマシンアドレスと一致しないとき、予め定義されたオフセット値のセットにより、前記ノンスを変更することと、
前記変更されたノンスに基づいて、ある期間の間、前記受信されたメッセージの前記ローリングBluetoothマシンアドレスと比較するための、複数の新たな予想されるBluetoothマシンアドレスを生成することと、
前記期間の間に一致が発見されないとき、前記受信されたメッセージを無視することと、
をさらに備える動作を実行する、C125に記載の非一時的プロセッサ可読記憶媒体。
[C127] Bluetoothを使用して、向上されたセキュリティで通信するための方法であって、
第1の通信デバイスにおいて、第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスと共有されるノンスを記憶することと、
前記第2の通信デバイスにおいて、前記ノンスと、前記第1の通信デバイスと共有される暗号化アルゴリズムとを使用して、ローリングBluetoothマシンアドレスを生成することと、
前記ローリングBluetoothマシンアドレスを使用して、メッセージを前記第2の通信デバイスから前記第1の通信デバイスに送信することと、
前記第1の通信デバイスにおいて、前記通信リンクを介して、前記ローリングBluetoothマシンアドレスを示す前記メッセージを受信することと、
前記第1の通信デバイスにおいて、前記ノンスと、前記第2の通信デバイスと共有される前記暗号化アルゴリズムとを使用して、前記第2の通信デバイスの予想されるBluetoothマシンアドレスを生成することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを前記第1の通信デバイスにおいて処理することと、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと、
を備える方法。
[C128] 第1の通信デバイスと、
第2の通信デバイスと、を備えるシステムであって、
前記第1の通信デバイスは、
第1のメモリと、
前記第2の通信デバイスによって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第1の送受信機と、を備え、前記第1の送受信機は、
前記第2の通信デバイスとの通信リンクを確立することと、
前記第2の通信デバイスと共有されるノンスを記憶することと、
前記通信リンクを介して、ローリングBluetoothマシンアドレスを示すメッセージを受信することと、
前記ノンスと、前記第2の通信デバイスと共有される暗号化アルゴリズムとを使用して、前記第2の通信デバイスの予想されるBluetoothマシンアドレスを生成することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスを前記予想されるBluetoothマシンアドレスと比較することと、
前記受信されたメッセージの前記ローリングBluetoothマシンアドレスが前記第1の通信デバイスによって生成された前記予想されるBluetoothマシンアドレスと一致するとき、前記受信されたメッセージを処理することと、
ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと
を備える動作を実行するプロセッサ実行可能命令によって構成され、
前記第2の通信デバイスは、
第2のメモリと、
前記第1の通信デバイスによって受信されることが可能な短距離ワイヤレス信号をブロードキャストするように構成される第2の送受信機と、を備え、前記第2の送受信機は、
前記第1の通信デバイスとの前記通信リンクを確立することと、
前記第1の通信デバイスと共有される前記ノンスを記憶することと、
前記ノンスと、前記第1の通信デバイスと共有される前記暗号化アルゴリズムとを使用して、前記ローリングBluetoothマシンアドレスを生成することと、
前記ローリングBluetoothマシンアドレスを使用して、前記メッセージを前記第1の通信デバイスに送信することと、
前記通信リンクを介して、入来するメッセージを前記第2の通信デバイスから受信することと、
前記ノンスの更新が必要であると決定したことに応答して、前記ノンスをインクリメントすることと、
を備える動作を実行するプロセッサ実行可能命令によって構成される、システム。