(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-23
(45)【発行日】2022-05-31
(54)【発明の名称】PHONE-AS-A-KEYシステムにおいて送信される非白色化トーンを有するメッセージのためのキューイング制御
(51)【国際特許分類】
H04L 69/00 20220101AFI20220524BHJP
H04L 9/32 20060101ALI20220524BHJP
B60R 25/24 20130101ALI20220524BHJP
【FI】
H04L69/00
H04L9/32 200A
B60R25/24
【外国語出願】
(21)【出願番号】P 2020151413
(22)【出願日】2020-09-09
【審査請求日】2020-11-25
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-09-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500164385
【氏名又は名称】デンソー インターナショナル アメリカ インコーポレーテッド
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100106149
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】スティット レイモンド マイケル
【審査官】安藤 一道
(56)【参考文献】
【文献】国際公開第2019/135373(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 69/00
H04L 9/32
B60R 25/24
(57)【特許請求の範囲】
【請求項1】
現在の接続イベント中に、車両のphone-as-a-key(PaaK)システムから
複数の第1の通知メッセージを受信し、
複数の第1の通知メッセージの各々に応答して、
複数の第2の通知メッセージをPaaKシステムに送信するように構成されるトランシーバと、
第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信され、
第1の通知メッセージを受け入れるように構成される受信キューと、
第2の通知メッセージを格納するように構成される送信キューと、
受信キューからの第1の通知メッセージの受け入れに応答して、第2の通知メッセージを生成し、送信キューに格納するように構成される制御モジュールと、を備え、
現在の接続イベント中にPaakシステムから送信される複数の第1の通知メッセージの最初のメッセージは、現在の接続イベントの前の最後の接続イベント中に、携帯型アクセスデバイスからの第2の通知メッセージの受信に基づき、Paakシステムにおいて、いずれの特性およびチャネル試行が検出されたかを示すものであり、
制御モジュールは、
複数の第1の通知メッセージの最初のメッセージに基づいて、(i)現在の接続イベントの前の最後の接続イベント中に
PaaKシステムによって検出された特性およびチャネル試行を判別し、(ii)最後の接続イベント中に
PaaKシステムによって検出されなかったデータを含むように、1つ以上の第2の通知メッセージを生成するように構成される携帯型アクセスデバイス。
【請求項2】
第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられ、
複数の第1の通知メッセージの最初のメッセージは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示し、
制御モジュールは、特性、チャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかに基づいて、1つ以上の第2の通知メッセージを生成するように構成される、請求項1の携帯型アクセスデバイス。
【請求項3】
第1の通知メッセージと第2の通知メッセージは、2.4GHzの無線周波数信号として送信される、請求項1の携帯型アクセスデバイス。
【請求項4】
制御モジュールは、現在の接続イベント中に、(i)送信キューに格納されてPaaKシステムに送信される特性の数、または(ii)送信キューに格納されてPaaKシステムに送信されるプロトコルデータユニットの数の少なくとも1つを制限するように構成され、
第2の通知メッセージは、特性とプロトコルデータユニットを含む、請求項1の携帯型アクセスデバイス。
【請求項5】
制御モジュールは、PaaKシステムからの第1の通知メッセージの1つに基づいて、PaaKシステムの受信キューが満杯になっていることを判定し、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される、請求項1の携帯型アクセスデバイス。
【請求項6】
制御モジュールは、2つの接続イベントに対する、対応する制御ループにおけるタイムラグを維持するため、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される、請求項
5の携帯型アクセスデバイス。
【請求項7】
制御モジュールは、いくつかの第2の通知メッセージに含めるための非白色化パケットを生成するように構成され、
非白色化パケットは、現在の接続イベントの標と、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信している現在のチャネルの標とに基づいて生成される、請求項1の携帯型アクセスデバイス。
【請求項8】
制御モジュールは、それぞれが、連続ビットの所定数のシリーズを含むモバイル非白色化セクションを含むように、いくつかの第2の通知メッセージを生成するように構成され、
連続するビットのシリーズの各々は、すべて0またはすべて1を含む、請求項1の携帯型アクセスデバイス。
【請求項9】
所定数のシリーズの連続するビットは、連続ビットの2~10のシリーズを含み、連続ビットのシリーズの各々は、12~32ビットを含む、請求項
8の携帯型アクセスデバイス。
【請求項10】
トランシーバは、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信する際に、進んでいる、合っている、または遅れているかを示す、接続イベント情報スコアをPaaKシステムから受信するように構成され、
制御モジュールは、接続イベント情報スコアに基づいて送信キューの充填レートを調整するように構成される、請求項1の携帯型アクセスデバイス。
【請求項11】
車両用phone-as-a-key(PaaK)システムであって、
現在の接続イベント中に、
複数の第1の通知メッセージを携帯型アクセスデバイスに送信し、
複数の第1の通知メッセージの各々に応答
する、携帯型アクセスデバイスから
の複数の第2の通知メッセージを受信するように構成されるトランシーバと、
第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられ、
第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信され、
第2の通知メッセージを受け入れるように構成される受信キューと、
第1の通知メッセージを格納するように構成される送信キューと、
第1の通知メッセージを生成して送信キューに格納するとともに、
現在の接続イベントの前の最後の接続イベント中に
、携帯型アクセスデバイスによって送信された
第2の通知メッセージの受信に基づき、Paakシステムにおいて、いずれの特性およびチャネル試行が検出されたかを示すように、
現在の接続イベント中に送信される複数の第1の通知メッセージの最初のメッセージを生成するように構成されるPaaKモジュールと、を備えるPaaKシステム。
【請求項12】
トランシーバ、受信キュー、送信キュー、およびPaaKモジュールがPaaKデバイスとして実装される、請求項
11のPaaKシステム。
【請求項13】
PaaKモジュールは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示すように、第1の通知メッセージの最初のメッセージを生成するように構成される、請求項
11のPaaKシステム。
【請求項14】
第2の通知メッセージからモバイル非白色化トーンまたはモバイル非白色化セクションの少なくとも1つを除去するように構成されるトーン除去モジュールと、
第2の通知メッセージの残りの部分のバイトが有効であるかを判定するように構成される検証モジュールと、をさらに備える請求項
11のPaaKシステム。
【請求項15】
PaaKモジュールは、送信キューに格納される、または、現在の接続イベント中に携帯型アクセスデバイスに送信される、複数の空でないプロトコルデータユニットの少なくとも1つを制限するように構成され、
第1の通知メッセージは、空でないプロトコルデータユニットを含む、請求項
11のPaaKシステム。
【請求項16】
PaaKモジュールは、受信キューが満杯になっているかを判定し、受信キューの充填レベルに基づいて、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスに、携帯型アクセスデバイスがPaaKシステムに送信する通知メッセージの数を減少させるようにするため、受信キューの状態を第1の通知メッセージの1つにおいて示すように構成される、請求項
11のPaaKシステム。
【請求項17】
PaaKモジュールは、携帯型アクセスデバイスによる非白色化パケットの生成のため、現在の接続イベントと、PaaKモジュールが携帯型アクセスデバイスと通信している現在のチャネルとを、携帯型アクセスデバイスに示すように構成され、
第2の通知メッセージは、非白色化パケットを含む、請求項
11のPaaKシステム。
【請求項18】
PaaKモジュールは、携帯型アクセスデバイスが、PaaKモジュールへの第2の通知メッセージの送信において、進んでいる、合っている、または遅れているかを示す接続イベント情報スコアを生成し、その接続イベント情報スコアを送信キューに格納するように構成され、
トランシーバは、接続イベント情報スコアを携帯型アクセスデバイスに送信するように構成される、請求項
11のPaaKシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
この出願は、2019年9月13日に出願された米国仮出願第62/900114号および2019年9月19日に出願された米国仮出願第62/902844号の利益を主張する。上記出願の開示全体が参照により本明細書に組み込まれる。
【技術分野】
【0002】
本開示は、携帯型アクセスデバイスと車両との間の安全な通信リンクを確立するためのシステムおよび方法に関する。
【背景技術】
【0003】
ここで提供される背景技術の説明は、本開示の文脈を一般的に提示するためのものである。この背景技術の欄に記載されている範囲での本発明者の研究、並びに出願時に先行技術としてみなされない可能性がある説明の部分は、明示的にも黙示的にも本開示に対する先行技術として認容されない。
【0004】
従来、パッシブエントリー/パッシブスタート(PEPS)システムは、車両の中央PEPS電子制御装置(ECU)とペアリングされているキーフォブを所有しているユーザに、車両へアクセスすることを許可することにより、キーレスエントリーを実行することができる。ユーザは、車両のドアハンドルをつかむだけで良く、また、ボタンを押して車両を始動することができる。ボタンが押されたことに応じて、中央PEPS ECUは認証プロセスを実行し、キーフォブが車両へのアクセスを認可されているかどうかを判定する。複数の車両アンテナを介して受信された信号の強度が監視され、車両に対するキーフォブの位置を推定することができる。キーフォブが認証され、車両の所定の範囲内に位置する場合、車両アクセス機能がユーザに利用可能となる(たとえば、ドアのロック解除、車両の始動、車両内の温度の設定など)。
【0005】
従来、PEPSシステムは、約125kHzの低周波(LF)信号の送信を含む独自グレードの無線プロトコルを使用している。これらのタイプのPEPSシステムは、LF信号の送信に関連する物理的性質によって制限を受ける。LF信号の電波伝播は、キーフォブの範囲と位置の正確な推定を可能とする。これは、たとえば、2メートルの目標起動範囲内の信号強度を監視することによって達成される。ただし、LF信号の長い波長と、車両のアンテナとキーフォブ受信機の実用的なサイズが原因で、妥当な電力消費と安全な送信電力レベルの範囲内で、LFを使用してキーフォブと数メートルを超えて確実に通信することは困難である。その結果、キーフォブが車両から数メートル以上離れて位置している場合、ユーザが車両アクセス機能を利用できるようにすることも困難である。
【0006】
そのため、車両機能にアクセスするために、キーフォブの代わりにスマートデバイス(例えば、スマートフォンやウェアラブルデバイス)が使用されるようになりつつある。スマートデバイスは高い無線周波数(RF)で通信するため、LFシステムよりもより長い距離で通信することができる。従って、スマートデバイスにより、パッシブウェルカム照明やリモートパーキングアプリケーションでの距離限度など、さまざまな車両機能や長距離の距離機能の実行が可能となる。
【0007】
LFアクセスデバイスを使用するPEPSシステム及びRFアクセスデバイスを使用するPEPSシステムは、それぞれのPEPSシステムを悪意のある攻撃に晒す無線脆弱性を有している。一例として、ユーザは、受動的盗聴、中間者(MITM)攻撃の実行、リプレイ攻撃の実行、および/またはPEPSシステムの様々なテレメトリックリンクのID追跡の実行によって、PEPSシステムを攻撃することができる。
【発明の概要】
【0008】
この欄は、本開示の一般的な概要を提供し、その全範囲またはそのすべての特徴の包括的な開示ではない。
【0009】
車両に無線でアクセスするための携帯型アクセスデバイスが提供される。携帯型アクセスデバイスは、トランシーバ、受信キューと送信キュー、および制御モジュールを含む。トランシーバは、現在の接続イベント中に、車両のphone-as-a-key(PaaK)システムから複数の第1の通知メッセージを受信し、複数の第1の通知メッセージの各々に応答して、複数の第2の通知メッセージをPaaKシステムに送信するように構成される。第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信される。受信キューは、第1の通知メッセージを受け入れるように構成される。送信キューは、第2の通知メッセージを格納するように構成される。制御モジュールは、受信キューからの第1の通知メッセージの受け入れに応答して、第2の通知メッセージを生成し、送信キューに格納するように構成される。現在の接続イベント中にPaakシステムから送信される複数の第1の通知メッセージの最初のメッセージは、現在の接続イベントの前の最後の接続イベント中に、携帯型アクセスデバイスからの第2の通知メッセージの受信に基づき、Paakシステムにおいて、いずれの特性およびチャネル試行が検出されたかを示すものである。制御モジュールは、複数の第1の通知メッセージの最初のメッセージに基づいて、(i)現在の接続イベントの前の最後の接続イベント中にPaaKシステムによって検出された特性およびチャネル試行を判別し、(ii)最後の接続イベント中にPaaKシステムによって検出されなかったデータを含むように、1つ以上の第2の通知メッセージを生成するように構成される。
【0011】
他の特徴では、第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられる。第1の通知メッセージの最初のメッセージは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示す。制御モジュールは、特性、チャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかに基づいて、1つ以上の第2の通知メッセージを生成するように構成される。
【0012】
他の特徴では、第1の通知メッセージと第2の通知メッセージは、2.4GHzの無線周波数信号として送信される。
【0013】
他の特徴では、制御モジュールは、現在の接続イベント中に、(i)送信キューに格納されてPaaKシステムに送信される特性の数、または(ii)送信キューに格納されてPaaKシステムに送信されるプロトコルデータユニットの数の少なくとも1つを制限するように構成される。第2の通知メッセージは、特性とプロトコルデータユニットを含む。
【0014】
他の特徴では、制御モジュールは、PaaKシステムからの第1の通知メッセージの1つに基づいて、PaaKシステムの受信キューが満杯になっていることを判定し、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される。
【0015】
他の特徴では、制御モジュールは、2つの接続イベントに対する、対応する制御ループにおけるタイムラグを維持するため、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される。
【0016】
他の特徴では、制御モジュールは、いくつかの第2の通知メッセージに含めるための非白色化パケットを生成するように構成される。非白色化されたパケットは、現在の接続イベントの標と、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信している現在のチャネルの標とに基づいて生成される。
【0017】
他の特徴では、制御モジュールは、それぞれが、連続ビットの所定数のシリーズを含むモバイル非白色化セクションを含むように、いくつかの第2の通知メッセージを生成するように構成される。連続するビットのシリーズの各々は、すべて0またはすべて1を含む。
【0018】
他の特徴では、所定数のシリーズの連続するビットは、連続ビットの2~10のシリーズを含み、連続ビットのシリーズの各々は、12~32ビットを含む。
【0019】
他の特徴では、トランシーバは、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信する際に、進んでいる、合っている、または遅れているかを示す、接続イベント情報スコアをPaaKシステムから受信するように構成される。制御モジュールは、接続イベント情報スコアに基づいて送信キューの充填レートを調整するように構成される。
【0020】
他の特徴では、車両用PaaKシステムが提供される。PaaKシステムは、トランシーバ、受信キュー、送信キュー、およびPaaKモジュールを含む。トランシーバは、現在の接続イベント中に、複数の第1の通知メッセージを携帯型アクセスデバイスに送信し、複数の第1の通知メッセージの各々に応答する、携帯型アクセスデバイスからの複数の第2の通知メッセージを受信するように構成される。第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられる。第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信される。受信キューは、第2の通知メッセージを受け入れるように構成される。送信キューは、第1の通知メッセージを格納するように構成される。PaaKモジュールは、第1の通知メッセージを生成して送信キューに格納するとともに、現在の接続イベントの前の最後の接続イベント中に、携帯型アクセスデバイスによって送信された第2の通知メッセージの受信に基づき、Paakシステムにおいて、いずれの特性およびチャネル試行が検出されたかを示すように、現在の接続イベント中に送信される複数の第1の通知メッセージの最初のメッセージを生成するように構成される。
【0021】
他の特徴では、トランシーバ、受信キュー、送信キュー、およびPaaKモジュールがPaaKデバイスとして実装される。
【0022】
他の特徴では、PaaKモジュールは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示すように、第1の通知メッセージの最初のメッセージを生成するように構成される。
【0024】
他の特徴では、PaaKシステムは、第2の通知メッセージからモバイル非白色化トーンまたはモバイル非白色化セクションの少なくとも1つを除去するように構成されたトーン除去モジュールと、第2の通知メッセージの残りの部分のバイトが有効であるかを判定するように構成された検証モジュールと、をさらに含む。
【0025】
他の特徴では、PaaKモジュールは、送信キューに格納される、または、現在の接続イベント中に携帯型アクセスデバイスに送信される複数の空でないプロトコルデータユニットの少なくとも1つを制限するように構成され、第1の通知メッセージは、空でないプロトコルデータユニットを含む。
【0026】
他の特徴では、PaaKモジュールは、受信キューが満杯になっているかを判定し、受信キューの充填レベルに基づいて、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスに、携帯型アクセスデバイスがPaaKシステムに送信する通知メッセージの数を減少させるようにするため、受信キューの状態を第1の通知メッセージの1つにおいて示すように構成される。
【0027】
他の特徴では、PaaKモジュールは、携帯型アクセスデバイスによる非白色化パケットの生成のため、現在の接続イベントと、PaaKモジュールが携帯型アクセスデバイスと通信している現在のチャネルとを、携帯型アクセスデバイスに示すように構成される。第2の通知メッセージは、非白色化パケットを含む。他の特徴では、PaaKモジュールは、携帯型アクセスデバイスが、PaaKモジュールへの第2の通知メッセージの送信において、進んでいる、合っている、または遅れているかを示す接続イベント情報スコアを生成し、接続イベント情報スコアを送信キューに格納するように構成される。トランシーバは、接続イベント情報スコアを携帯型アクセスデバイスに送信するように構成される。
【0028】
他の特徴では、読み取り機が提供され、それは、トランシーバと制御モジュールとを含む。トランシーバは、現在の接続イベント中に、携帯型アクセスデバイスから車両のphone-as-a-key(PaaK)システムへ送信される通知メッセージを監視するように構成され、通知メッセージは、携帯型アクセスデバイスとPaaKシステム間の通信リンクを確立するために送信される。制御モジュールは、1つ以上の通知メッセージのフィールドに基づいて、通知メッセージの同位相および直交位相キャプチャを実行し、フィールドは、連続ビットの2つ以上のシリーズを含むモバイル非白色化セクションを含み、1つ以上のシリーズの各々における連続ビットは、全てゼロまたはすべて1であり、同位相および直交位相キャプチャに基づいて、通知メッセージの到達角度を決定し、そして、PaaKシステムにより決定される許可されるアクセスのため、PaaKシステムに到達角度を示す。
【0029】
他の特徴では、フィールドは、アクセスアドレス、論理リンク識別子、論理リンクヘッダ、チャネル識別子、汎用属性プロファイルオペコード、および属性ハンドルを含む。
【0030】
他の特徴では、制御モジュールは、アクセスアドレス、論理リンク識別子、論理リンクヘッダ、チャネル識別子、汎用属性プロファイルオペコード、および属性ハンドルに基づいて、同相および直交位相キャプチャを実行するかどうかを決定するように構成される。
【0031】
他の特徴では、到達角度は、読み取り機または車両上の基準点の少なくとも1つに対するものである。
【0032】
他の特徴では、制御モジュールは、連続ビットの1つ以上のシリーズの送信開始時間および送信終了時間に基づいて、通知メッセージの到達角度を決定しながら、アンテナ切り替えを実行するようにトランシーバを制御するように構成される。
【0033】
他の特徴では、制御モジュールは、通知メッセージの到達角度を決定しつつ、(i)連続ビットの1つ以上のシリーズの送信開始時間、または(ii)連続ビットの1つ以上のシリーズの送信終了時間に、アンテナを切り替えるようにトランシーバを制御するよう構成される。
【0034】
他の特徴では、制御モジュールは、既知の非白色化値に基づいて、通知メッセージに対する巡回冗長検査を実行するように構成される。
【0035】
他の特徴では、制御モジュールが通知メッセージの到達角度を決定している間は、トランシーバは、アンテナ切り替えを実行しない。
【0036】
他の特徴では、制御モジュールは、通知メッセージに対して巡回冗長検査を実行し、巡回冗長検査の結果をPaaKシステムに示すように構成される。
【0037】
他の特徴では、制御モジュールは、到達角度を決定している間、かつ特性が携帯型アクセスデバイスからPaaKシステムに送信されている間、アンテナ切り替えを実行するようにトランシーバを制御するように構成される。
【0038】
他の特徴では、通知メッセージの最初のメッセージは、モバイル非白色化セクションを含まず、通知メッセージの他のメッセージが、モバイル非白色化セクションを含む。制御モジュールは、通知メッセージの最初のメッセージに基づいて受信信号強度インジケータ値を決定し、その受信信号強度インジケータをPaaKシステムに示すように構成される。
【0039】
他の特徴では、phone-as-a-key(PaaK)システムが提供され、それは、トランシーバとPaaKモジュールとを含む。トランシーバは、現在の接続イベント中に、携帯型アクセスデバイスから送信される通知メッセージを受信するように構成され、通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するため、および車両へのアクセスを得るために送信され、1つ以上の通知メッセージはフィールドを含み、1つ以上の通知メッセージの各々のフィールドは、連続ビットの2つ以上のシリーズを含むモバイル非白色化セクションを含み、1つ以上のシリーズの各々におけるビットは、全てゼロまたはすべて1である。PaaKモジュールは、1つ以上の通知メッセージの各々からモバイル非白色化セクションを削除し、通知メッセージが有効であるかどうかを判定し、通知メッセージが有効である場合、携帯側アクセスデバイスとリンクを確立し、PaaKシステムとは別個の読み取り機から到達角度情報を受信し、到達角度情報は、読み取り機または車両上の基準点の少なくとも1つに対する、通知メッセージの到達角度を示し、そして、到達角度情報に基づいて携帯型アクセスデバイスに車両へのアクセスを提供する、ように構成される。
【0040】
他の特徴では、読み取り機は、到達角度情報を決定している間に、アンテナ切り替えを実行する。
【0041】
他の特徴では、読み取り機は、到達角度情報を決定している間、アンテナ切り替えを実行しない。
【0042】
他の特徴では、PaaKモジュールは、読み取り機によって実行される巡回冗長検査に基づいて、通知メッセージが有効かどうかを判定するように構成される。
【0043】
他の特徴では、PaaKモジュールは、PaaKモジュールによって実行される巡回冗長検査に基づいて、通知メッセージが有効かどうかを判定するように構成される。
【0044】
他の特徴では、通知メッセージの最初のメッセージは、モバイル非白色化セクションを含まず、通知メッセージの他のメッセージが、モバイル非白色化セクションを含む。PaaKモジュールは、通知メッセージの最初のメッセージに基づく、読み取り機から受信された受信信号強度インジケータ値に基づいて、1つ以上の通知メッセージが有効であるかどうかを判定するように構成される。
【0045】
他の特徴では、通知メッセージは第2の通知メッセージである。PaaKモジュールは、第1の通知メッセージを生成し、第1の通知メッセージに応答する携帯型アクセスデバイスからの第2の通知メッセージを受信するように構成される。第1の通知メッセージの最初のメッセージはステータスメッセージであり、第1の通知メッセージの他のメッセージは空のプロトコルデータユニットメッセージである。第2の通知メッセージの最初のメッセージはステータスメッセージであり、第2の通知メッセージの他のメッセージはモバイル非白色化メッセージである。
【0046】
他の特徴では、PaaKモジュールは、携帯型アクセスデバイスがターゲットにしているチャネル及び接続イベントに対して、携帯型アクセスデバイスが進んでいるか、あるいは遅れているかを携帯型アクセスデバイスに示すように構成される。
【0047】
他の特徴では、PaaKモジュールが、(i)いつ現在の接続イベントが始まり、停止するか、(ii)携帯型アクセスデバイスのチャネルホップシーケンス、(iii)携帯型アクセスデバイスのフレームシーケンス、および(iv)いつ、携帯型アクセスデバイスが特性を送信し、それに基づいて、PaaKシステムの送信キューの充填を制御し、携帯型アクセスデバイスの送信キューの充填レートを調整するため、携帯型アクセスデバイスに信号を送信するか、を決定するように構成される。
【0048】
他の特徴では、(i)非一時的なコンピュータ可読媒体に格納された命令を実行するように構成されたプロセッサを含む携帯型アクセスデバイスと(ii)周辺デバイスとの間の通信リンクを確立するために提供される方法が、開示される。この方法は、携帯型アクセスデバイスのプロセッサを使用して、共有秘密鍵に基づく第1のメッセージ認証コード(MAC)バイト、第1のノンスバイト、第1のMACバイトと第1のノンスバイトとメッセージバイトとに基く認証パケット、共有秘密鍵に基づく非白色化トーンバイト、および、認証パケットと非白色化トーンバイトを含むメッセージパケット、を生成することを含む。メッセージパケットを生成することは、認証パケットの第1の位置を擬似ランダムに特定すること、第1の位置に非白色化トーンバイトを挿入すること、携帯型アクセスデバイスのプロセッサを使用して、周辺デバイスにメッセージパケットを送信すること、および、携帯型アクセスデバイスのプロセッサを使用し、周辺デバイスがメッセージパケットを検証することに応答して携帯型アクセスデバイスと周辺デバイスとの間の通信リンクを確立すること、を含む。
【0049】
いくつかの構成では、方法は、周辺デバイスのプロセッサを使用して、共有秘密鍵に基づいて第2のMACバイトを生成することを含み、周辺デバイスのプロセッサは、非一時的なコンピュータ可読媒体に格納された命令を実行するように構成される。この方法はまた、周辺デバイスのプロセッサを使用して、第2のノンスバイトを生成することを含む。
【0050】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、メッセージパケットから非白色化トーンバイトを除去することを含む。メッセージパケットを検証することはまた、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のMACバイトは第2のMACバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0051】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のノンスバイトは第2のノンスバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0052】
いくつかの構成では、方法は、(i)周辺デバイスのプロセッサを使用して、第1のMACバイトが第2のMACバイトに一致しないことを決定したこと、(ii)周辺デバイスのプロセッサを使用して、第1のノンスバイトが第2のノンスバイトに一致しないことを決定したこと、の1つに応答して、メッセージパケットが無効であると決定することをさらに含む。
【0053】
いくつかの構成では、第1のノンスバイトは乱数生成器を使用して生成される。
【0054】
いくつかの構成では、第1の位置は、第1のMACバイトの第1のMACビットと、第1のMACバイトの第2のMACビットとの間である。
【0055】
いくつかの構成では、第1の位置は、第1のノンスバイトの第1のノンスビットと、第1のノンスバイトの第2のノンスビットとの間である。
【0056】
いくつかの構成では、第1の位置は、第1のノンスバイトと第1のMACバイトとの一方の場所の前にある。
【0057】
いくつかの構成では、第1のノンスバイトの場所と第1のMACバイトの場所が第1の位置の前にある。
【0058】
本開示はまた、非一時的なコンピュータ可読媒体に格納された命令を実行するように構成されたプロセッサを含む携帯型アクセスデバイスを含むシステムを提供する。命令は、携帯型アクセスデバイスのプロセッサを使用して、共有秘密鍵に基づく第1のメッセージ認証コード(MAC)バイト、第1のノンスバイト、第1のMACバイトと第1のノンスバイトとメッセージバイトとに基づく認証パケット、共有秘密鍵に基づく非白色化トーンバイト、および、認証パケットと非白色化トーンバイトを含むメッセージパケット、を生成することを含む。メッセージパケットを生成することは、認証パケットの第1の位置を擬似ランダムに特定すること、第1の位置に非白色化トーンバイトを挿入すること、携帯型アクセスデバイスのプロセッサを使用して、周辺デバイスにメッセージパケットを送信すること、および、携帯型アクセスデバイスのプロセッサを使用し、周辺デバイスがメッセージパケットを検証することに応答して携帯型アクセスデバイスと周辺デバイスとの間の通信リンクを確立すること、を含む。
【0059】
いくつかの構成では、周辺デバイスは、第2の非一時的なコンピュータ可読媒体に格納された第2の命令を実行するように構成されたプロセッサを含む。第2の命令は、周辺デバイスのプロセッサを使用し、共有秘密鍵に基づいて第2のMACバイトを生成することを含む。第2の命令はまた、周辺デバイスのプロセッサを使用して、第2のノンスバイトを生成することを含む。
【0060】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、メッセージパケットから非白色化トーンバイトを除去することを含む。メッセージパケットを検証することはまた、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のMACバイトは第2のMACバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0061】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のノンスバイトは第2のノンスバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0062】
いくつかの構成では、命令は、(i)周辺デバイスのプロセッサを使用して、第1のMACバイトが第2のMACバイトに一致しないことを決定したこと、(ii)周辺デバイスのプロセッサを使用して、第1のノンスバイトが第2のノンスバイトに一致しないことを決定したこと、の1つに応答して、メッセージパケットが無効であると決定することを含む。
【0063】
いくつかの構成では、第1のノンスバイトは乱数生成器を使用して生成される。
【0064】
いくつかの構成では、第1の位置は、第1のMACバイトの第1のMACビットと、第1のMACバイトの第2のMACビットとの間である。
【0065】
いくつかの構成では、第1の位置は、第1のノンスバイトの第1のノンスビットと、第1のノンスバイトの第2のノンスビットとの間である。
【0066】
いくつかの構成では、第1の位置は、第1のノンスバイトと第1のMACバイトとの一方の場所の前にある。
【0067】
いくつかの構成では、第1のノンスバイトの場所と第1のMACバイトの場所が第1の位置の前にある。
【0068】
さらなる適用可能範囲は、本明細書で提供される説明から明らかとなろう。本概要の説明および特定の例は、例示の目的だけを意図しており、本開示の範囲を制限することを意図していない。
【図面の簡単な説明】
【0069】
本明細書で説明される図面は、全ての可能な実施例ではなく、選択された実施形態だけを図示する目的のためのものであり、また、本開示の範囲を限定することを意図するものでもない。
【0070】
【
図1】本開示による車両および携帯型アクセスデバイスの上面図である。
【0071】
【
図2】本開示による車両および携帯型アクセスデバイスの機能ブロック図である。
【0072】
【
図3】本開示による車両のセンサの機能ブロック図である。
【0073】
【
図4】本開示による車両の通信ゲートウェイ(または、無線周波数(RF)アンテナモジュール)の機能ブロック図である。
【0074】
【
図5】本開示によるアクセスモジュールを含む車両の機能ブロック図である。
【0075】
【
図6】
図5のアクセスモジュールの機能ブロック図である。
【0076】
【
図7】本開示による携帯型アクセスデバイスの機能ブロック図である。
【0077】
【
図8】正当と認められた携帯型アクセスデバイスと車両との間の通信リンクを攻撃する不正デバイスを示す図である。
【0078】
【
図9】本開示による暗号検証モジュールおよびphone-as-a-key(PaaK)モジュールの機能ブロック図である。
【0079】
【
図10A】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10B】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10C】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10D】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10E】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10F】本開示による例示的なメッセージパケットを示すパケット図である。
【
図10G】本開示による例示的なメッセージパケットを示すパケット図である。
【0080】
【0081】
【
図14】本開示によるPaaKシステムを示す機能ブロック図である。
【0082】
【
図15】本開示によるチャネルホッピングシーケンスで送信される携帯型アクセスデバイスのメッセージおよびPaaKデバイスのメッセージの接続長およびタイミングを示す例示的なメッセージタイミング図である。
【0083】
【
図16】本開示による接続間隔およびチャネルホッピングシーケンスを示す例示的なメッセージタイミング図である。
【0084】
【
図17】本開示による、それぞれが連続する同一のビットを含む種々のビットセットを備えたモバイル非白色化セクションを含む例示的なパケットを示すパケット図である。
【0085】
【
図18】本開示によるアンテナ切り替えタイミングを示す非白色化セクションの図である。
【0086】
【
図19】本開示による、可能性のあるモバイル非白色化トーンを備えたパケットを示す機能ブロック図である。
【0087】
【
図20】本開示による接続イベントに含まれるメッセージのタイプおよび対応するタイミングを示すパケット図である。
【0088】
【
図21】本開示によるアンテナシステムの機能ブロック図である。
【0089】
複数の図面にわたって、対応する参照番号は、対応する部分を示している。
【発明を実施するための形態】
【0090】
例示的な実施形態が、添付の図面を参照してより詳細に説明される。
【0091】
本開示は、コンシューマーグレードのワイヤレスプロトコルを使用する、PEPSシステムのような、位置特定システムを実現するためのシステム、方法、およびアーキテクチャに関する。具体的には、本開示は、車両と、スマートフォンまたはウェアラブルデバイスなどの携帯型アクセスデバイスとの間の通信のため、ブルートゥース(登録商標)ローエナジー(BLE)通信プロトコルなどの、無線通信プロトコルを使用するPEPSシステムに関する。PEPSシステムは、携帯型アクセスデバイスと車両との間の現存する接続を見つけ出し、携帯型アクセスデバイスと車両との間の通信のタイミングおよび信号特性を測定するように構成されたセンサネットワークを含む。PaaKモジュールは、タイミングと信号特性に基づいて、携帯型アクセスデバイスと車両の間の距離、および携帯型アクセスデバイスの位置を決定することができる。PEPSシステムはまた、不正デバイスが車両と携帯型アクセスデバイスとの間の通信リンクに対してリプレイ攻撃を実行することを防止するための暗号化処理を実行するように構成される。本明細書に記載される例は、キューイング技術、タイミング技術、非白色化パケット生成技術、メッセージ置換技術、巡回冗長検査(CRC)検証ベースの技術、および到達角度とアンテナ切り替えベースの技術をさらに含む。
【0092】
図1、2は、通信ゲートウェイ29、センサ31A~31J(まとめてセンサ31と呼ばれる)、および制御モジュール20を含む、車両30内のPEPSシステム1を示す。
図1~2は、10個のセンサ31A~31Jを示すが、任意の数のセンサが使用されてもよい。さらに、
図2は、1つの制御モジュール20を示すが、PEPSシステム1は、車両30全体に分散された1つ以上の制御モジュール20を含んでもよい。
【0093】
1つ以上の制御モジュール20およびセンサ31は、車両インターフェース45を使用して互いに通信することができる。一例として、車両インターフェース45は、モジュール間の通信のためのコントローラエリアネットワーク(CAN)バスを含んでもよい。別の例として、車両インターフェース45は、低いデータレート通信のためのローカル相互接続ネットワーク(LIN)を含んでもよい。他の実施形態では、車両インターフェース45は、クロック拡張周辺インターフェース(CXPI)バスを含んでもよい。追加的または代替的に、車両インターフェース45は、CANバス、LIN、およびCXPIバス通信インターフェースの任意の組み合わせを含んでもよい。
【0094】
制御モジュール20は、1つ以上のアンテナ19(複数のアンテナが
図3、21に示される)に接続された無線通信チップセット(または、トランシーバ)21を含む、通信ゲートウェイ29を含むことができる。例えば、トランシーバ21は、BLE通信プロトコルを利用するブルートゥース(登録商標)ローエナジー(BLE)通信チップセットを含んでもよい。あるいは、Wi-FiまたはWi-Fiダイレクトなどの、他の無線通信プロトコルが使用されてもよい。
図2に示すように、アンテナ19は、車両30内に配置されてもよい。あるいは、アンテナ19は、車両30の外部または制御モジュール20内に配置されてもよい。制御モジュール20はまた、通信リンク50を介した通信のために携帯型アクセスデバイス10を認証するリンク認証モジュール22を含んでもよい。一例として、リンク認証モジュール22は、携帯型アクセスデバイス10を認証するために、チャレンジ-レスポンス認証または他の暗号検証アルゴリズムを実行するように構成されてもよい。
【0095】
制御モジュール20はまた、プッシュデータのためのデータ管理層モジュール23を含んでもよい。一例として、データ管理層モジュール23は、任意のモジュールによって取得された車両情報(例えば、テレマティクスモジュール26によって取得された位置情報)を取得し、その車両情報を携帯型アクセスデバイス10に送信するように構成される。
【0096】
制御モジュール20はまた、通信リンク50の通信チャネルおよびチャネル切り替えパラメータに相当する情報を取得し、その情報をセンサ31に送信するように構成される、接続情報配信モジュール24を含んでもよい。センサ31が、車両インターフェース45を介して接続情報配信モジュール24から情報を受信し、センサ31が通信ゲートウェイ29と同期されたことに応じて、センサ31は、通信リンク50を探し出して、追跡、および/または傍受することができる。
【0097】
制御モジュール20はまた、リンク認証モジュール22がチャレンジ-レスポンス認証プロセスを実行するとき、通信リンク50に対応するタイミング情報を取得する、タイミング制御モジュール25を含んでもよい。タイミング制御モジュール25はまた、車両インターフェース45を介してセンサ31にタイミング情報を提供するように構成される。
【0098】
制御モジュール20はまた、車両30に関連する位置情報および/または位置情報の誤差を生成するように構成された、テレマティクスモジュール26を含んでもよい。テレマティクスモジュール26は、全地球的衛星航法システム(例えば、GPS)、慣性航法システム、移動体通信用全地球的システム(GSM)、または他の位置特定システムによって実現され得る。
【0099】
制御モジュール20はまた、物理層およびプロトコルの違反を検出し、それに応じて、センサ処理および位置特定モジュール32に情報を提供する前にデータをフィルタリングするように構成されたセキュリティフィルタリングモジュール33を含んでもよい。セキュリティフィルタリングモジュール33はまた、センサ処理および位置特定モジュール32が、フラグが立てられたデータを破棄し、PEPSシステム1に警告することができるように、注入されたデータにフラグを立てるように構成されてもよい。センサ処理および位置特定モジュール32からのデータは、PEPSモジュール27に提供され、PEPSモジュール27は、(i)車両機能にアクセスするユーザの意図を検出するためにセンサ31から車両状態情報を読み取り、(ii)携帯型アクセスデバイス10の位置と、車両30のドアのロック解除および/または車両30の始動などの特定の機能を許可する場所のセットとを比較するように構成される。
【0100】
上述した様々なモジュールの上記の機能を実行するために、制御モジュール20は、リードオンリーメモリ(ROM)および/またはランダムアクセスメモリ(RAM)などの非一時的なコンピュータ可読媒体に格納された命令を実行するように構成される1つ以上のプロセッサも含むことができる。
【0101】
図1~2に示すように、携帯型アクセスデバイス10は、通信リンク50を介して車両30の通信ゲートウェイ29と通信することができる。限定するものではないが、携帯型アクセスデバイス10は、例えば、車両30の所有者、運転者、乗員、および/または、車両30の整備士などの、車両30のユーザと関連付けられる、スマートフォン、スマートウォッチ、ウェアラブル電子デバイス、キーフォブ、タブレットデバイス、ブルートゥース(登録商標)送信機デバイス、または、他のデバイスなどの任意のブルートゥース(登録商標)対応通信デバイスであってもよい。追加的または代替的に、携帯型アクセスデバイス10は、Wi-Fiおよび/またはWi-Fiダイレクトなどの別の無線通信プロトコルを介して無線通信するように構成されてもよい。通信リンク50は、ブルートゥース(登録商標)仕様に規定され、定義されているようなブルートゥース(登録商標)通信リンクであってもよい。一例として、通信リンク50は、BLE通信リンクであってもよい。あるいは、通信リンク50は、Wi-FiまたはWi-Fiダイレクト通信リンクであってもよい。
【0102】
携帯型アクセスデバイス10は、アンテナ13に接続された無線通信チップセット(または、トランシーバ)11を含むことができる。トランシーバ11は、BLE通信チップセットであってもよい。あるいは、トランシーバ11は、Wi-FiまたはWi-Fiダイレクト通信チップセットであってもよい。携帯型アクセスデバイス10はまた、制御モジュール51とメモリ53を含んでもよい。メモリ53は、制御モジュール51のプロセッサによって実行可能であり、リードオンリーメモリ(ROM)またはランダムアクセスメモリ(RAM)などの非一時的なコンピュータ可読媒体に格納されるアプリケーションコード12を格納する。携帯型アクセスデバイス10は、アプリケーションコード12に基づき、無線通信チップセット11およびアンテナ13を使用して、例えば、通信リンク50の認証、携帯型アクセスデバイス10の全地球的衛星航法システム(例えば、GPS)のセンサまたは加速度計によって取得される位置および/または速度情報の送信、および、車両機能の手動起動に対応する様々な命令を実行するように構成されてもよい。
【0103】
携帯型アクセスデバイス10はまた、暗号検証モジュール(CVM)14を含むことができ、CVM14は、制御モジュール51のプロセッサによって実行可能であり、リードオンリーメモリ(ROM)またはランダムアクセスメモリ(RAM)などの非一時的なコンピュータ可読媒体に記憶されるアプリケーションコードによって実現され得る。CVM14は、以下でさらに詳細に説明される。
【0104】
図3を参照すると、
図1の各々のセンサ31は、アンテナシステム43に接続された無線通信チップセット(または、トランシーバ)41を含むことができる。トランシーバ41は、BLE通信チップセットであってもよい。あるいは、トランシーバ41は、Wi-FiまたはWi-Fiダイレクト通信チップセットであってもよい。
図3に示すように、アンテナシステム43は、センサ31の内部または外部に配置されてもよく、アンテナの1つを選択するために、1つ以上のアンテナとアンテナスイッチを含んでもよい。例示的なアンテナシステムが
図21に示されている。
図21のアンテナシステムは、1つ以上のセンサ31、または本明細書に開示される他のデバイス、例えば、
図1、2の通信ゲートウェイ29、および/または、
図14、19のPaaKデバイス及びAoA読み取り機の1つ以上に実装されてもよい。
【0105】
図2を参照すると、制御モジュール20、より具体的には通信ゲートウェイ29は、携帯型アクセスデバイス10と、通信リンク50などの安全な通信接続を確立することができる。例えば、制御モジュール20は、BLE通信プロトコルを使用して、安全な通信接続を確立することができる。そして、制御モジュール20は、タイミングおよび同期情報などの安全な通信接続に関する情報を各々のセンサ31に通信することができる。例えば、制御モジュール20は、次の通信接続イベントのタイミング、通信接続イベント間のタイミング間隔、ホップシーケンスにおける次の通信接続イベントの通信チャネル、チャネルマップ、後続の通信接続イベントのチャネルを計算するために使用され得るチャネルホップ間隔またはオフセット、通信遅延情報、通信ジッター情報などのような、安全な通信接続に関する情報を通信することができる。すると、センサ31は、携帯型アクセスデバイスによって制御モジュール20へ送信された通信パケットを傍受し、携帯型アクセスデバイス10から受信した信号の信号情報を測定することができる。例えば、センサ31は、各々の信号の受信信号強度を測定し、それぞれの受信信号強度インジケータ(RSSI)値を決定することができる。追加的または代替的に、センサ31は、到達角度、到達時間、到達時間差などのような、携帯型アクセスデバイス10から受信した信号の他の測定値を決定してもよい。
【0106】
次いで、センサ31は測定情報を制御モジュール20に通信することができ、制御モジュール20は、各々のセンサ31から受信した測定情報に基づいて、携帯型アクセスデバイス10の位置または携帯型アクセスデバイス10までの距離を決定することができる。例えば、制御モジュール20は、例えば、様々なセンサ31によって受信された携帯型アクセスデバイス10からの様々な信号のRSSI値のパターンに基づいて、携帯型アクセスデバイス10の位置を決定することができる。例えば、相対的に強いRSSIは一般的に携帯型アクセスデバイス10がより近いことを示し、相対的に弱いRSSIは一般的に携帯型アクセスデバイス10が遠く離れていることを示す。各々のセンサ31を用いて、携帯型アクセスデバイス10によって送信された通信信号のRSSIを分析することにより、制御モジュール20は、車両30に対する携帯型アクセスデバイス10の位置または携帯型アクセスデバイス10までの距離を決定することができる。追加的または代替的に、携帯型アクセスデバイス10によって送信され、センサ31によって受信された信号の到達角度または到達時間差の測定値も、携帯型アクセスデバイス10の位置を決定するために制御モジュール20によって使用されてもよい。追加的または代替的に、センサ31自体が、測定情報に基づいて携帯型アクセスデバイス10の位置または携帯型アクセスデバイス10までの距離を決定し、その位置または距離を制御モジュール20に通信してもよい。
【0107】
次いで、車両30に対する携帯型アクセスデバイス10の決定された位置または距離に基づいて、PEPSシステム1は、車両30のドアのロック解除、車両30のトランクのロック解除、車両30の始動、および/または車両30の始動許可のような、車両機能を許可または実行することができる。例えば、携帯型アクセスデバイス10が車両30まで第1の距離閾値よりも近い場合、PEPSシステム1は車両の室内灯または室外灯を作動させることができる。携帯型アクセスデバイス10が車両まで第2の距離閾値よりも近い場合、PEPSシステム1は車両30のドアまたはトランクのロックを解除することができる。携帯型アクセスデバイス10が車両30の内部にある場合、PEPSシステム1は車両30の始動を許可することができる。
【0108】
引き続き
図3を参照すると、各々のセンサ31は、物理層(PHY)モジュール46、メディアアクセス制御(MAC)モジュール55、チャネルマップ再構築モジュール42,およびタイミング同期モジュール44を含む、トランシーバ49を含むことができる。BLE通信プロトコルが使用される場合、センサ31は、アンテナシステム43を使用してBLE信号を受信し、具体的には、PHYモジュール46を使用してBLE物理層メッセージを受信する。センサ31は、BLE物理層メッセージを観察し、チャネルマップ再構築モジュール42によって生成されるチャネルマップを使用して、例えば、RSSIを含む、関連信号の物理的特性の測定値を取得するように構成されることができる。
【0109】
図2を参照すると、センサ31は、複数のセンサ31によって受信された信号の、到達時間差、到達時間、または到達角度データを決定するために、相互に通信可能であり、および/または、車両インターフェース45を介して通信ゲートウェイ29と通信可能である。
【0110】
タイミング同期モジュール44は、車両インターフェース45でのメッセージの受信時間を正確に測定し、そのタイミング情報をトランシーバ41に渡すように構成される。トランシーバ41は、チャネルマップ情報およびタイミング信号に基づいて、特定の時間にPHYモジュール46を特定のチャネルに同調させるように構成される。さらに、BLE通信プロトコルが使用される場合、トランシーバ41は、例えば、ブルートゥース(登録商標)仕様バージョン5.0において提案または採用されたデータレートを含む、ブルートゥース(登録商標)物理層仕様に準拠する物理層メッセージおよびデータを観察するように構成される。データ、タイムスタンプ、および、測定信号強度が、トランシーバ41によって、車両インターフェース45を介して制御モジュール20の様々なモジュールに報告されてもよい。
【0111】
図4を参照すると、通信ゲートウェイ29は、BLE信号を受信するために、1つ以上のアンテナ19に接続された無線通信チップセット(または、トランシーバ)60を含んでいる。BLE通信プロトコルが使用されるとき、トランシーバ60は、ボックス48によって表される、ブルートゥース(登録商標)プロトコルスタックを実装する。ブルートゥース(登録商標)プロトコルスタックは、ブルートゥース(登録商標)仕様バージョン5.0などの、BLE仕様に準拠する。トランシーバ60はまた、トランシーバ60または通信ゲートウェイ29の制御モジュールのプロセッサによって実行可能なアプリケーションコードを含むアプリケーション47を含み、実行することができる。追加的または代替的に、アプリケーション47は、制御モジュール20のプロセッサによって実行可能であってもよく、制御モジュール20の非一時的なコンピュータ可読媒体に格納されてもよい。
【0112】
アプリケーション47は、データの有効性に係わらず、トランシーバ60によって送受信されるタイムスタンプ付きデータをトランシーバ60が検査できるようにするために、ブルートゥース(登録商標)仕様外の修正に対応するコードを含んでもよい。例えば、アプリケーション47は、トランシーバ60が期待データに対して送受信データを比較することを可能にする。通信ゲートウェイ29は、実際の送受信データを、車両インターフェース45を介して制御モジュール20の様々なモジュールに送信するように構成される。あるいは、通信ゲートウェイ29は、車両インターフェース45を介して各々のセンサ31からデータを受信するように構成されてもよい。アプリケーション47はさらに、各々のセンサ31が正しい時間に正しいデータを受信したことを、トランシーバ60が確認できるように構成されてもよい。
【0113】
ブルートゥース(登録商標)プロトコルスタック48は、チャネルマップ、アクセス識別子、次のチャネル、および次のチャネルまでの時間をアプリケーション47に提供するように構成される。ブルートゥース(登録商標)プロトコルスタック48は、(i)アプリケーション47を実行するモジュールへ、送信および受信イベントのタイムスタンプのためのタイミング信号、および/または、(ii)トランシーバ60のデジタルPIN出力、を出力するように構成される。タイミング同期モジュール44は、タイミング信号を受け入れ、接続情報メッセージおよび他の通信の正確なタイムスタンプを作成するため、車両インターフェース45と連携して機能するように構成される。
【0114】
通信ゲートウェイ29は、タイミング情報およびチャネルマップ情報をタイミング制御モジュール25に提供することができる。通信ゲートウェイ29は、進行中の接続に対応する情報を接続情報配信モジュール24へ、およびタイミング信号をタイミング制御モジュール25へ提供するように構成されることができ、その結果、センサ31は、通信リンク50を見つけて、追跡または傍受することができる。
【0115】
さらに、トランシーバ60は、phone-as-a-key(PaaK)モジュール49を含むことができ、PaaKモジュール49は、一実施形態において、
図2の制御モジュール20のプロセッサによって実行可能であり、リードオンリーメモリ(ROM)またはランダムアクセスメモリ(RAM)などの非一時的なコンピュータ可読媒体に格納されるアプリケーションコードによって実現される。PaaKモジュール49の例は、以下でさらに説明される。一実施形態において、PaaKモジュール49は、
図14に示されるPaaKデバイスの一部として実現される。
【0116】
図5は、
図1、2の車両30の一例である車両200を示す。車両200は、車両制御モジュール204、インフォテインメントモジュール206、および他の制御モジュール208(例えば、ボディ制御モジュール)を含む、PaaKシステム202を含む。モジュール204、206、208は、コントローラエリアネットワーク(CAN)バス209および/または他の車両インターフェース(例えば、
図2の車両インターフェース45)を介して互いに通信することができる。車両制御モジュール204は、車両システムの動作を制御することができる。車両制御モジュール204は、PEPSモジュール211、PaaKモジュール212(例えば、
図4のPaaKモジュール49)、パラメータ調整モジュール213、並びに、他のモジュールを含むことができる。車両制御モジュール204はまた、リードオンリーメモリ(ROM)および/またはランダムアクセスメモリ(RAM)を含み得る、メモリ218などの非一時的なコンピュータ可読媒体に格納された命令を実行するように構成された1つ以上のプロセッサを含むことができる。
【0117】
PEPSモジュール211は、車両の内部へのアクセスを提供し、車両の始動および/または操作を可能にするために、PEPS動作を実行することができる。PaaKモジュール212は、PEPSモジュール211と連携して動作し、本明細書で説明されるようにPaaK動作を実行する。PEPSモジュール211は、PaaKモジュール212、または、単一のモジュールとして実現され得るモジュール211、212を含んでもよい。パラメータ調整モジュール213は、車両200のパラメータを調整するために使用され得る。
【0118】
PaaKシステム202は、さらに、メモリ218、ディスプレイ220、オーディオシステム221、および、LFアンテナモジュール229とRFアンテナモジュール231を含む1つ以上のトランシーバ222を含むことができる。RFアンテナモジュール231は、RF回路223を含んでもよいし、および/またはRF回路223に接続されてもよい。PaaKシステム202は、さらに、テレマティクスモジュール225、センサ226、および、全地球測位システム(GPS)受信機228を含むナビゲーションシステム227を含んでもよい。RF回路223は、2.4ギガヘルツ(GHz)でのブルートゥース(登録商標)信号の送信を含む、携帯型デバイス(例えば
図1の携帯型デバイス10)との通信に使用されることができる。RF回路223は、RF信号を送受信するためのBLE無線機、送信機、受信機などを含んでもよい。RF回路は、
図2のセンサ31のうちの1つ以上を含んでもよい。
【0119】
1つ以上のトランシーバ222は、RF回路223を含むRFトランシーバを含み、RFアンテナモジュール231によって送受信されるタイムスタンプ付きデータを検査するためのコードを有するアクセスアプリケーションを実装することができる。アクセスアプリケーションは、例えば、RFアンテナモジュールが正しい時間に正しいデータを受信したかどうかを確認することができる。アクセスアプリケーションは、メモリ218に格納され、PEPSモジュール211および/またはPaaKモジュール212によって実行され得る。アクセスアプリケーションの他の動作例は、以下でさらに説明される。
【0120】
アクセスアプリケーションは、チャネルマップ、アクセス識別子、次のチャネル、および次のチャネルの時間を提供するように構成されたブルートゥース(登録商標)プロトコルスタックを実装することができる。アクセスアプリケーションは、RFアンテナモジュール231を介して送受信される信号のタイムスタンプ用のタイミング信号を出力するように構成される。アクセスアプリケーションは、チャネルマップ情報およびタイミング情報を取得し、この情報を車両内の他のモジュールと共有することができる。
【0121】
テレマティクスモジュール225は、セルタワーステーションを介してサーバーと通信することができる。これは、証明書、ライセンス情報、および/またはグローバルクロックタイミング情報を含むタイミング情報の転送を含むことができる。テレマティクスモジュール225は、車両200に関連する位置情報および/または位置情報の誤差を生成するように構成される。テレマティクスモジュール225は、ナビゲーションシステム227によって実現され得る。
【0122】
センサ226は、
図2のセンサ31、カメラ、物体検出センサ、温度センサ、加速度計、車速センサ、および/または、他のセンサなど、PEPS動作およびPaaK動作に使用されるセンサを含むことができる。センサ226は、携帯型アクセスデバイスをウェイクアップするプロセスを開始するために、例えば、ドアハンドルに触れている人を検出するためのタッチセンサを含むことができる。センサ226は、LFおよびRFアンテナ回路、および/または本明細書に開示のモジュールと通信することが可能な、ボディ制御モジュールなどの他の制御モジュール208に接続されてもよい。GPS受信機228は、車両の速度および/または車両の方向(または進行方向)および/またはグローバルクロックタイミング情報を提供することができる。
【0123】
メモリ218は、センサデータおよび/またはパラメータ230、証明書232、接続情報234、タイミング情報236、トークン237、鍵238、およびアプリケーション239を格納することができる。アプリケーション239は、モジュール229、231、204、206、208、210、211、212、223および/またはトランシーバ222によって実行されるアプリケーションを含んでもよい。一例として、アプリケーションは、トランシーバ222と、モジュール210、211、および/または212とによって実行されるアクセスアプリケーション、PEPSアプリケーション、および/またはPaaKアプリケーションを含んでもよい。メモリ218と車両制御モジュール204は別個のデバイスとして示されているが、メモリ218と車両制御モジュール204は単一のデバイスとして実現されてもよい。単一のデバイスは、1つ以上の他のデバイスを含んでもよい。
【0124】
車両制御モジュール204は、モジュール204、206、208、210、211、212、213によって設定されたパラメータに従って、エンジン240、コンバータ/ジェネレータ242、トランスミッション244、ウィンドウ/ドアシステム250、照明システム252、座席システム254、ミラーシステム256、ブレーキシステム258、電気モータ260、および/またはステアリングシステム262の動作を制御することができる。車両制御モジュール204は、いくつかのパラメータの設定を含み得る、PEPS動作および/またはPaaK動作を実行することができる。PEPS動作およびPaaK動作は、センサ226および/またはトランシーバ222から受信された信号に基づくことができる。車両制御モジュール204は、エンジン240、コンバータ/ジェネレータ242、トランスミッション244、ウィンドウ/ドアシステム250、照明システム252、座席システム254、ミラーシステム256、ブレーキシステム258、電気モータ260、および/またはステアリングシステム262などに提供され得る電力を電源264から受け取ることができる。PEPS動作およびPaaK動作のいくつかは、ウィンドウ/ドアシステム250のドアのロック解除、エンジン240の燃料および点火を可能とすること、電気モータ260の始動、任意のシステム250、252、254、256、258、262への電力供給、および/または本明細書でさらに説明されるような他の動作の実行を含むことができる。一実施形態では、車両200は、エンジンおよび/またはトランスミッションを含まない。
【0125】
エンジン240、コンバータ/ジェネレータ242、トランスミッション244、ウィンドウ/ドアシステム250、照明システム252、座席システム254、ミラーシステム256、ブレーキシステム258、電気モータ260および/またはステアリングシステム262は、例えば、燃料、点火、空気流、ステアリングホイール角度、スロットル位置、ペダル位置、ドアロック、ウィンドウ位置、シート角度などを調整するために、車両制御モジュール204によって制御されるアクチュエータを含むことができる。この制御は、センサ226、ナビゲーションシステム227、GPS228、ならびにメモリ218に格納された上記のデータおよび情報の出力に基づくことができる。
【0126】
PaaKモジュール212は、別個のデバイスに実装されてもよい。さらに、車両200は、AoA読み取り機を含むことができる。その例が
図14および
図19に示されている。AoA読み取り機は、携帯型アクセスデバイスから車両200および/またはPaaKモジュール212に送信される信号の到達角度を決定するために使用される。
【0127】
図6は、アクセスモジュール210の例を示している。アクセスモジュール210は、PEPSモジュール211、PaaKモジュール212、およびパラメータ調整モジュール213を含む。PaaKモジュール212は、リアルタイムクロック(RTC)312と、リンク認証モジュール300を含むことができ、これらは、PaaKモジュール212とは別に実装されてもよい。アクセスモジュール210は、接続情報配信モジュール302、タイミング制御モジュール304、センサ処理および位置特定モジュール306、データ管理モジュール308、およびセキュリティフィルタリングモジュール310をさらに含んでもよい。RTC312は、ローカルクロック時間を維持する。
【0128】
リンク認証モジュール300は、
図1、2の携帯型アクセスデバイスを認証し、安全な通信リンクを確立することができる。例えば、リンク認証モジュール300は、携帯型アクセスデバイスを認証するために、チャレンジ-レスポンス認証または他の暗号検証アルゴリズムを実行するように構成されることができる。
【0129】
接続情報配信モジュール302は、
図2のセンサ31の少なくともいくつかと通信し、センサが安全な通信リンクを見つけて、追跡または傍受するために必要な通信情報をセンサ31に提供するように構成される。これは、一旦、センサ31が通信ゲートウェイ29と同期されると、起こり得る。一例として、
図5の車両200および/またはPaaKシステム202は、携帯型アクセスデバイスを検出し、監視するために、車両200上の任意の場所に配置された任意の数のセンサを含むことができる。接続情報配信モジュール302は、通信リンクの通信チャネルおよびチャネル切り替えパラメータに対応する情報を取得し、その情報をセンサ226に送信するように構成される。センサ226が
図2の車両インターフェース45を介して接続情報配信モジュール302から情報を受信し、センサ226が通信ゲートウェイと同期されたことに応じて、センサ226は通信リンクを突き止めて、追跡または傍受することができる。
【0130】
タイミング制御モジュール304は、PaaKモジュール212によって統御されていない場合、RTCおよび/または現在保存されている日付を維持する、現在のタイミング情報をセンサに発信する、着信および発信メッセージ、要求、信号、証明書、および/またはその他のアイテムのタイムスタンプを生成する、往復時間を計算する、などを行うことができる。往復時間は、要求が生成および/または送信されてから、要求への応答が受信されるまでの時間を指す場合がある。タイミング制御モジュール304は、リンク認証モジュール300がチャレンジ-レスポンス認証を実行するときに、通信リンクに対応するタイミング情報を取得することができる。タイミング制御モジュール304はまた、車両インターフェース209を介してセンサ226にタイミング情報を提供するように構成される。
【0131】
リンク認証が確立された後、データ管理モジュール308は、テレマティクスモジュール225から車両200の現在の位置を収集し、その位置を携帯型アクセスデバイスと共有する。携帯型アクセスデバイスは、任意だが、GPSモジュールと、実行時に、車両200に対する携帯型アクセスデバイスの推定された相対位置を比較するアプリケーションソフトウェアを含む。車両200に対する携帯型アクセスデバイスの推定位置に基づいて、携帯型アクセスデバイスは、トランシーバ222の1つに、特定のアクションを実行するように車両に要求する信号を送信することができる。一例として、データ管理モジュール308は、任意のモジュールによって取得された車両情報(例えば、テレマティクスモジュール225によって取得された位置情報)を取得し、その車両情報を携帯型アクセスデバイスに送信するように構成される。
【0132】
セキュリティフィルタリングモジュール310は、物理層およびプロトコルの違反を検出し、それに応じて、センサ処理および位置特定モジュール306に情報を提供する前に、データをフィルタリングする。セキュリティフィルタリングモジュール310は、センサ処理および位置特定モジュール306がデータを破棄し、PEPSモジュール211に警告することができるように、注入されたデータにフラグを立てる。センサ処理および位置特定モジュール306からのデータは、PEPSモジュール211に渡され、それにより、PEPSモジュール211は、機能にアクセスするユーザの意図を検出し、携帯型アクセスデバイスの位置を、車両のドアまたはトランクのロック解除および/または車両の始動など、特定の車両機能を許可する位置のセットと比較するために、センサからの車両状態情報を読み取るように構成される。
【0133】
図7は、
図1、2の携帯型アクセスデバイス10の一例である、携帯型アクセスデバイス400を示している。携帯型アクセスデバイス400は、制御モジュール402、ユーザインターフェース404、メモリ406、センサ407、およびトランシーバ408を含むことができる。トランシーバ408は、メディアアクセス制御(MAC)モジュール410、PHYモジュール412、および複数の直線偏波アンテナ414を含むことができる。
【0134】
制御モジュール402は、BLE通信チップセットを含むか、またはその一部であってもよい。あるいは、制御モジュール402は、Wi-FiまたはWi-Fiダイレクト通信チップセットを含むか、またはその一部であってもよい。メモリ406は、制御モジュール402によって実行可能なアプリケーションコードを格納することができる。メモリ406は、リードオンリーメモリ(ROM)および/またはランダムアクセスメモリ(RAM)を含む非一時的なコンピュータ可読媒体であり得る。
【0135】
制御モジュール402は、
図5の車両200のモジュール204、211、212と通信し、以下でさらに説明するように認証およびその他の処理を実行する。制御モジュール402は、1つ以上のセンサ407(例えば、全地球的衛星航法システム(例えば、GPS)センサ、加速度計、および/または角速度センサ)から得られる位置および/または速度情報などの、携帯型アクセスデバイス400に関する情報を送信することができる。ユーザインターフェース404は、キーパッド、タッチスクリーン、音声起動インターフェース、および/または他のユーザインターフェースを含んでもよい。
【0136】
図8を参照すると、PEPSシステム801が示され、車両830、通信ゲートウェイ829、およびセンサ831を含む。センサ831は、携帯型アクセスデバイス810によって通信リンク850を介して通信ゲートウェイ829に送信される無線信号の物理的特性の測定を行うように構成される。センサ831は、例えば、通信リンク850を介して送信される無線信号の到達角度(AoA)を測定することができる。制御モジュールがセンサ831からAoA測定値を受信することに応答して、制御モジュールは、センサ831から受信したAoA測定値に基づいて、携帯型アクセスデバイス810の位置、携帯型アクセスデバイス810と車両830との間の距離、および/または携帯型アクセスデバイス810の軌跡を決定することができる。
【0137】
携帯型アクセスデバイス810の位置、携帯型アクセスデバイス810と車両830との間の距離、および/または携帯型アクセスデバイス810の軌跡に基づいて、制御モジュールは、特定の車両機能を作動させることができる。これらの機能には、ミラー位置の設定、ステアリングホイール位置の調整、運転者のシート位置の調整、気候制御設定の変更、オーディオ/メディア設定の調整、車両のドアのロック解除、車両のトランクのロック解除、車両の照明システムの起動、車両の始動などが含まれる。
【0138】
一実施形態では、不正デバイス860は、PEPSシステム801の無線脆弱性に基づいて、通信リンク850を介して車両インターフェースの信号を操作する、および/または、直接、信号を車両インターフェースに注入するように構成され得る。一例として、不正デバイス860は、制御モジュールからメッセージを送信および/または受信するために、通信リンク850に対し、破線矢印870、880によって示されるように、リプレイ攻撃を実行するように構成されるかもしれない。したがって、不正デバイス860のユーザは、不正におよび/または悪意を持って、特定の車両機能を作動させ、および/または特定の車両機能へのアクセスを取得する可能性がある。
【0139】
図9は、CVM14と、
図4のPaaKモジュール49の例を示している。
図2、4、9を参照すると、CVM14は、メッセージパケット940を生成するために使用される、メッセージ認証コード(MAC)ジェネレータ906、トーン非白色化モジュール907、およびトーン位置モジュール912を含むことができる。
図9~20に関して、頭文字MACは、メッセージ認証コードを指し、メディアアクセス制御を指さない。PaaKモジュール49は、リンク認証モジュール300を含み、これは、メッセージパケット940が有効であるかどうかを判定するために使用される、ノンスジェネレータ908、MACジェネレータ918、トーン削除器モジュール928、MAC比較器モジュール930、および検証モジュール932を含むことができる。
【0140】
通信リンク50を確立し、続いてPaaKモジュール49を介してメッセージバイト904を通信ゲートウェイ29に送信するために、トーン非白色化モジュール907は、1つ以上のトーンバイト(単一のトーンバイト913が
図9に示される)を挿入するように構成される。一例として、トーンバイトは、非白色化されたトーンバイトとすることができ、メッセージパケット940のペイロード914のランダムまたは疑似ランダム位置に配置することができる。一実施形態では、複数のトーンバイトが含まれる。非白色化されたトーンバイトは、すべてが同じ値(例えば、すべてゼロまたはすべて1)を有するビットのシリーズを含む、および/または、そのビットのシリーズを提供するために非白色化されたバイトを指すことができる。
【0141】
続いて、例えば、以下でより詳しく説明するように、PaaKモジュール49がペイロード914からトーンバイトを除去し、ペイロード914の他の部分の真正性および完全性を検証することができる場合、PaaKモジュール49は、メッセージバイト904を通信ゲートウェイ29に提供する。
【0142】
一実施形態では、CVM14は、認証パケット910を生成するように構成され、認証パケット910は、メッセージバイト904、MACジェネレータ906によって生成されたMACバイト911-1、およびノンスジェネレータ908によって生成されたノンスバイト909-1を含む。MACジェネレータ906は、メッセージバイト904内のデータの完全性または信頼性を保護および/または保証するように構成される。いくつかの実施形態では、MACジェネレータ906は、例えば、高度暗号化標準(AES)またはハッシュベースのメッセージ認証アルゴリズム(HMAC)などの対称暗号化または復号化アルゴリズムを使用して、MACバイト911-1を生成するように構成される。特定の例として、MACジェネレータ906は、共有秘密鍵902の第1の部分およびメッセージバイト904に基づいて、MACバイト911-1を生成することができる。
【0143】
ノンスジェネレータ908は、乱数または疑似乱数(例えば、32バイト値)であるノンスバイト909-1、909-2を生成するように構成される。具体的には、ノンスバイト909-1が、MACバイト911-1およびメッセージバイト904と組み合わされるとき、通信リンク50は、リプレイ攻撃を受けることを回避することができる。
【0144】
トーン位置モジュール912は、共有秘密鍵902の第2の部分、認証パケット910、および/または通信チャネルに基づいて、ペイロード914を生成するために、トーンバイト(例えば、非白色化されたトーンバイト)を生成し、疑似ランダムに認証パケット910に挿入するように構成される。トーン位置モジュール912は、例えば、以下で
図10A~10Gを参照してさらに詳しく説明するように、ノンスバイト909-1、MACバイト911-1、またはメッセージバイト904の1つの後を含む、認証パケット910内の任意の位置にトーンバイトを挿入することができる。あるいは、トーン位置モジュール912は、以下で
図10A~10Gを参照してさらに詳しく説明するように、ノンスバイト909-1の第1の部分と第2の部分との間、MACバイト911-1の第1の部分と第2の部分との間、または、メッセージバイト904の第1の部分と第2の部分との間、にトーンバイトを挿入しても良い。
図9に示されるように、トーン位置モジュール912は、MACバイト911-1の第1の部分と第2の部分との間にトーンバイトを疑似ランダムに挿入し、ここで、MACバイト911-1の第1の部分は、MAC_1バイトとして表され、MACバイト911-1の第2の部分は、MAC_2バイトとして表される。あるいは、トーン位置モジュール912は、BLE通信プロトコルのサービスおよび/または特徴的な属性に基づいて選択される固定またはランダムな位置にトーンバイトを挿入してもよい。
【0145】
いくつかの実施形態では、トーンバイトはそれぞれ任意の8ビット値であってもよい。他の実施形態では、トーンバイトはそれぞれ、特定の8ビット値に限定されてもよい。一例として、トーンバイトはそれぞれ、例えば、ペイロード914にDCバイアスを導入することを回避するために、トーンバイト内に存在する同じ値の連続するビットの数に関して制限を有してもよい(例えば、トーンバイトはそれぞれ、5個よりも多い1および/または0の連続する値を持たない)。
【0146】
以下でさらに説明するように、メッセージパケット940またはその一部は、CVM14からPaaKモジュール49に送信されるメッセージパケット940を含む信号内の直流(DC)バイアスを防止するため、一連の連続する0および/または連続する1の長さを最小化するように、白色化され、および/または、生成されてもよい。メッセージパケット940は、トーンバイトのビットを除いて白色化されてもよい。この白色化プロセスは、PaaKモジュール49に提供され得る白色化鍵に基づくことができる。白色化鍵は、共有秘密鍵902と同じであっても異なっていてもよい。一実施形態では、認証パケット910が共有秘密鍵902を使用して生成されるとき、連続するゼロおよび/または1のシリーズの長さが最小化される。別の実施形態では、2つ以上のトーンバイトが含まれ、メッセージパケットに疑似ランダムまたはランダムに挿入されてもよい。結果として生じるトーンバイトの位置は、トーン削除器モジュール928による1つ以上のトーンバイトの除去のために、PaaKモジュール49に報告されることができる。鍵もまた、トーン削除器モジュール928および/またはMAC比較器モジュール930によるメッセージパケットの残りの非白色化のために、PaaKモジュール49に報告されることができる。
【0147】
続いて、CVM14は、ペイロード914、プリアンブルバイト(図示せず)、アクセスアドレスバイト(図示せず)、ヘッダバイト(図示せず)、および巡回冗長検査バイト(図示せず)を含むメッセージパケット940をPaaKモジュール49のトーン削除器モジュール928に送信することができる。トーン削除器モジュール928は、メッセージパケット940からトーンバイトを除去するように構成される(すなわち、トーンバイトを除去するために、ペイロード914に対して白色化アルゴリズムを実行する)。
【0148】
トーンバイトの除去に応答して、MAC比較器モジュール930は、MACジェネレータ906によって生成されたMACバイト911-1が、PaaKモジュール49のMACジェネレータ918によって生成されたMACバイト911-2と一致するかどうかを判定するように構成される。さらに、検証モジュール932は、ノンスバイト909-1が、ノンスジェネレータ108によって生成されたノンスバイト909-2と一致するかどうかを判定することができる。検証モジュール932が、ノンスバイト909-1、909-2が一致すると判定し、MAC比較器モジュール930から、MACバイト911-1、911-2が一致するという指示を受信した場合、通信リンク50が正当と認められる。
【0149】
トーン削除器モジュール928および/またはMAC比較器モジュール930は、1つ以上の鍵に基づいて非白色化を実行して、認証パケット910の1つ以上のバイトを回復することができる。さらに、検証モジュール932が、ノンスバイト909-1、909-2が一致すると判定し、MAC比較器モジュール930が、MACバイト911-1、911-2が一致すると判定する場合、検証モジュール932は、再構築されたメッセージパケット941を生成するように構成されることができ、それは、1つ以上のトーンバイトを除いて、メッセージパケット940のすべての内容を含む。したがって、検証モジュール932は、その後、再構築されたメッセージパケット941を通信ゲートウェイ29に提供することができる。他の実施形態では、検証モジュール932がノンスバイト909-1、909-2は一致すると判定し、MAC比較器モジュール930がMACバイト911-1、911-2は一致すると判定する場合、検証モジュール932は、メッセージバイト904を通信ゲートウェイ29に送信するだけでもよい。
【0150】
図10A~10Gを参照すると、メッセージパケット940の例示的な図が示されている。メッセージパケット940は、アドバタイズBLEパケットまたはデータBLEパケットのいずれかであってもよく、メッセージパケット940が送信または受信される通信チャネルは、メッセージパケットのタイプに基づいて変化し得る(例えば、アドバタイズBLEパケットは、BLE通信プロトコルのチャネル37~39でのみ送信される)。
【0151】
いくつかの実施形態では、メッセージパケット940は、プリアンブル部分942(8ビット)、アクセスアドレス部分944(32ビット)、プロトコルデータユニット部分946(536ビット)、および巡回冗長性検査部分948(24ビット)を含むことができる。メッセージパケット940がアドバタイズBLEパケットである場合、アクセスアドレス部分944は、BLE対応デバイスの発見を可能にするために、すべてのBLE対応デバイス間で同一のビット値(すなわち、共通のアクセスアドレス)を持つことができる。プロトコルデータユニット部分946は、論理リンク識別子(LLID)ビット、次に予想されるシーケンス番号(NESN)ビット、シーケンス番号(SN)ビット、追加データ(MD)ビット、長さビット、および将来の使用のために確保されているビット(RFU)を含む、ヘッダ部分950(16ビット)を含み得る。LLIDビットは、メッセージパケット940がデータまたは制御メッセージを含むかどうかを示すことができる。NESNおよびSNビットは、確認応答とフロー制御のシーケンス番号を表すことができる。MDビットは、携帯型アクセスデバイス10と通信ゲートウェイ29が通信リンク50を介して通信している間、携帯型アクセスデバイス10が追加のメッセージパケット940を送信することを意図するかどうかを示すことができる。長さビットは、ペイロード914の長さを表すことができる。
【0152】
上記のように、トーン位置モジュール912は、ペイロード914を生成するために、共有秘密鍵902の第2の部分および認証パケット910に基づいて、トーンバイト913(例えば、非白色化されたトーンバイト)を生成し、認証パケット910に疑似ランダムに挿入するように構成される。一例として、
図9、
図10Aに示すように、トーン位置モジュール912は、ペイロード914-1を生成するために、MACバイト911-1の第1の部分と第2の部分との間にトーンバイトを挿入してもよく、ここで、MACバイト911-1の第1の部分はMAC_1バイトとして表され、MACバイト911-1の第2の部分はMAC_2バイトとして表される。
【0153】
別の例として、
図10Bに示すように、トーン位置モジュール912は、ペイロード114-2を生成するために、MACバイト911-1とメッセージバイト904との間にトーンバイトを挿入してもよい。
図10Cに示すように、トーン位置モジュール912は、ペイロード914-3を生成するために、ノンスバイト909-1とMACバイト911-1との間にトーンバイトを挿入してもよい。
【0154】
別の例として、
図10Dに示すように、トーン位置モジュール912は、ペイロード914-4を生成するために、ノンスバイト909-1の前にトーンバイトを挿入してもよい。
図10Eに示すように、トーン位置モジュール912は、ペイロード914-5を生成するために、ノンスバイト909-1の第1の部分と第2の部分との間にトーンバイトを挿入してもよく、ここで、ノンスバイト909-1の第1の部分はノンス_1バイトとして表され、ノンスバイト909-1の第2の部分はノンス_2バイトとして表される。
【0155】
別の例として、
図10Fに示すように、トーン位置モジュール912は、ペイロード914-6を生成するために、メッセージバイト904の第1の部分と第2の部分との間にトーンバイトを挿入してもよく、ここで、メッセージバイト904の第1の部分は、メッセージ_1ビットとして表され、メッセージバイト904の第2の部分は、メッセージ_2ビットとして表される。
図10Gに示すように、トーン位置モジュール912は、ペイロード914-7を生成するために、メッセージバイト904の後にトーンバイトを挿入してもよい。
【0156】
図11を参照すると、携帯型アクセスデバイス10と通信ゲートウェイ29との間に通信リンク50を確立するための制御方法1100を示すフローチャートが示されている。制御方法1100は、例えば、携帯型アクセスデバイス10がオンにされ、通信ゲートウェイ29の所定の通信範囲内にあるとき、1104で開始することができる。1106で、共有秘密鍵902が生成される。1108で、MACジェネレータ906、918は、共有秘密鍵902に基づいてMACバイト911-1、911-2を生成する。1112で、ノンスジェネレータ908は、ノンスバイト909-1、909-2を生成する。1116で、CVM14は、ノンスバイト909-1、MACバイト911-1、およびメッセージバイト904を使用して認証パケット910を生成する。
【0157】
1120で、トーン位置モジュール912は、共有秘密鍵902に基づいてトーン位置モジュール912を使用してトーンバイトを生成する。1124において、トーン位置モジュール912は、トーンバイトを挿入するための、認証パケット910の位置を疑似ランダムに決定する。828で、CVM14は、決定された位置に基づいて、メッセージパケット940のペイロード914を生成する。1132で、メッセージパケット940は、PaaKモジュール49に送信される。1136で、PaaKモジュール49はメッセージパケット940からトーンバイトを削除し、メッセージパケット940を分解する(つまり、PaaKモジュール49はMACバイト911-1をMAC比較器モジュール930に提供し、ノンスバイト909-1を検証モジュール932に提供する)。
【0158】
1140で、MAC比較器モジュール930は、MACジェネレータ906によって生成されたMACバイト911-1がMACジェネレータ918によって生成されたMACバイト911-2と一致するかどうかを判定する。「Yes」の場合、処理1144が実行され、そうでない場合、処理1156が実行される。944で、検証モジュール932は、例えば、PEPSシステム1がリプレイ攻撃を受けていないことを検証するために、ノンスバイト909-1がノンスバイト909-2と一致するかどうかを判定する。「Yes」の場合、処理1148が実行され、そうでない場合、処理1156が実行される。
【0159】
1148で、検証モジュール932は、メッセージパケット940が正当と認められると決定し、次いで、処理1152に進む。1152で、検証モジュール932は、トーンバイトなしでメッセージパケット940を再構築する(すなわち、再構築されたメッセージパケット941を生成する)。1154で、PaaKモジュール49は、再構築されたメッセージパケット941を通信ゲートウェイ29に提供し、通信リンク50を確立してから、処理1164に進む。
【0160】
1156で、検証モジュール932は、メッセージパケット940が正当と認められないと決定し、次いで、1160で、携帯型アクセスデバイス10と通信ゲートウェイ29との間の通信を無効にする。方法は1164で終了する。
【0161】
図12を参照すると、
図2の携帯型アクセスデバイス10と車両30との間の制御ループを示す例示的な制御方法1200が示されている。制御方法1200は、例えば、携帯型アクセスデバイス10がオンにされ、通信ゲートウェイ29の所定の通信範囲内にあるとき、1204で開始することができる。1208で、CVM14は、PaaKモジュール49から第1のパケットペアの第1のメッセージパケットを受信する。1212で、CVM14は、第1のパケットペアの第2のメッセージパケットを、第1の通信チャネル(例えば、BLEチャネル1~39のうちの1つ)でPaaKモジュール49に送信する。PaaKモジュール49へのメッセージパケットの送信は、
図13を参照して以下でさらに詳しく説明する。
【0162】
1216で、CVM14は、第2のパケットペアの第1のメッセージパケットを受信し、第2のペアの第1のパケットは、空のプロトコルデータユニット(PDU)部分946を含む。1220で、CVM14は、第1のパケットペアの第1のメッセージパケットがメッセージ送信の失敗を示すかどうかを判定する。一例として、第1のパケットペアの第1のメッセージパケットが、CVM14がチャネルホップシーケンスにおいて少なくとも1つのチャネルだけ遅れていることを示す場合、CVM14は、メッセージ送信の失敗を示すことができる。CVM14がメッセージ送信の失敗を示す場合、CVM14は、1224で、第2のパケットペアの第2のメッセージパケットを第2の通信チャネルでPaaKモジュール49に送信し、次いで1232に進む。CVM14がメッセージ送信の失敗を示さない場合、制御方法1200は1228に進み、第2のパケットペアの第2のメッセージパケットを第1の通信チャネルでPaaKモジュール49に送信し、次いで1232に進む。
【0163】
1232で、無線通信チップセット11は、現在の接続間隔内に、送信のための追加のメッセージパケットが必要とされるかどうかを判定する。「Yes」の場合、処理1236が実行され、そうでない場合、処理1244が実行される。1236で、CVM14は、追加のパケットペアの第1のメッセージパケットを受信し、ここで、追加のパケットペアの第1のパケットは、空のPDU部分946を含む。1240で、CVM14は、追加のパケットペアの第2のメッセージパケットを次の通信チャネルでPaaKモジュール49に送信し、次いで、処理1232が実行される。1244で、CVM14はPaaKモジュール49から切断される。1248で、CVM14は、接続間隔の間の期間(例えば、50ミリ秒)が経過したかどうかを判定する。「Yes」の場合、処理1208が実行され、そうでない場合、CVM14は、期間が経過するまで待機する。
【0164】
図13を参照すると、PaaKモジュール49へのメッセージパケットの送信を示す制御方法1300のフローチャートが示されている。制御方法1300は、例えば、制御方法1200がステップ1212、1228、1236、または1240のうちの1つを実行するとき、1304で開始する。1308で、CVM14は、接続間隔の現在の通信チャネル(例えば、BLEプロトコルのチャネル16)を決定する。1312で、無線通信チップセット11は、接続間隔の現在の通信チャネルに基づいてビットのシリーズを生成する。
【0165】
1316で、無線通信チップセット11は、ビットのシリーズに基づいて、白色化アルゴリズムを使用して1つ以上のトーンバイトを生成することができる。一例として、無線通信チップセット11は、x’+x4+iの多項式を有する7ビット線形フィードバックシフトレジスタ(LFSR)回路を含むことができる。そして、LFSR回路は、トーンバイトを生成するために、ビットのシリーズおよびメッセージパケット940にXOR関数を適用することができる。このように、トーンバイトを決定するために使用される関数と、メッセージパケット940を白色化するために使用される一連のビットを出力するためにLFSR回路によって使用される関数の両方は、現在の通信チャネルに基づく。出力されたビットのシリーズがメッセージパケット940と排他的論理和が取られるとき、結果として生じる白色化されたメッセージパケットが1つ以上の連続するゼロのシリーズおよび/または1つ以上の連続する1のシリーズを含むように、関数が調整される。白色化プロセスは、連続するゼロの1つ以上のシリーズおよび/または連続する1の1つ以上のシリーズを除いて、メッセージパケットのビットを事実上ランダム化することができる。1320で、無線通信チップセット11は、白色化されたメッセージパケットをPaaKモジュール49に送信する。方法は1324で終了する。
【0166】
図14は、携帯型アクセスデバイス1400、PaaKデバイス1402、および1つ以上の読み取り機(2つの読み取り機1404および1406が示されている)を含むPaaKシステム1401を示している。PaaKデバイス1402および読み取り機は、本明細書で言及される車両のうちの1つのような、同じ車両内に配置することができる。携帯型アクセスデバイス1400および/または本明細書で言及される他の携帯型アクセスデバイスは、周辺デバイスと呼ばれることがある。PaaKデバイス1402、その一部、および/または本明細書で言及される他のPaaKデバイスおよび/またはモジュールは、中央デバイスと呼ばれることがある。読み取り機1404、1406は、接続モニタースニファーと呼ばれることがある。
【0167】
携帯型アクセスデバイス1400は、本明細書で言及される携帯型アクセスデバイスのいずれかと同様に構成され、および/または動作することができ、チャネルホップシーケンスに従ってチャネルを介してPaaKデバイス1402にメッセージを送信することができる。一例として、携帯型アクセスデバイス1400は、BLEトランシーバ1410、受信キュー1412、送信キュー1414、および制御モジュール1416を含むことができる。制御モジュール1416は、
図9のCVM14のモジュールを含み、他の処理に加えて、CVM14のモジュールによって実行される処理を実行することができる。制御モジュール1416は、トーン非白色化モジュール1418を含み、これは、上記した、および以下にさらに説明するように、非白色化されたトーンバイトを生成し、挿入することができる。PaaKデバイス1402から受信されたメッセージは、制御モジュール1416によって処理されるまで、受信キュー1412に格納される。PaaKデバイス1402に送信されるメッセージは、PaaKデバイス1402に送信されるまで送信キュー1414に格納される。
【0168】
一例として、PaaKデバイス1402は、PaaKサブシステム1403を含む。PaaKサブシステム1403は、BLEトランシーバ1420、受信キュー1422、送信キュー1424、およびPaaKモジュール1426を含み、および/または利用することができる。一実施形態では、BLEトランシーバ1420および/またはキュー1422、1424などのPaaKシステム1403の一部は、PaaKデバイス1402とは別個に配置される。PaaKモジュール1426は、トーン削除器モジュール1428を含むことができる。PaaKモジュール1426は、本明細書で言及されるPaaKモジュールのいずれかと同様に構成され、および/または動作することができる。トーン削除器モジュール1428は、トーンを削除し、および/または上記のように白色化および/または非白色化処理を実行することができる。
【0169】
一例として、読み取り機1404、1406は、BLE受信機1430、1440、受信キュー1432、1442、送信キュー1434、1444、および制御モジュール1436、1446を含むことができる。制御モジュール1436、1446は、トーン削除器モジュール1438、1448を含むことができる。1つ以上の読み取り機1404、1406は、AoA読み取り機と呼ばれることがあり、1つ以上の制御モジュール1436、1446は、携帯型アクセスデバイス1400から送信される信号の到達角度(AoA)を決定することができる。AoAは、携帯型アクセスデバイス1400から送信され、PaaKデバイス1402で受信される信号のAoAを含むことができ、これは、PaaKデバイス1402および/またはその一部に対する読み取り機1404、1406の既知の位置に基づくことができる。読み取り機1404、1406は、AoA以外の送信信号に関連するパラメータを決定することができる。
【0170】
一例として、読み取り機1404、1406は、携帯型アクセスデバイス1400から送信された信号に対して巡回冗長検査(CRC)処理を実行してもよい。読み取り機1406などの、1つ以上の読み取り機1404、1406は、AoA測定に使用されず、むしろ、1つ以上の他のパラメータを検出するために使用されてもよい。一例として、読み取り機1406は、デバイス1400、1402間で送信されるメッセージに対して巡回冗長検査(CRC)を実行するために使用されてもよい。
【0171】
メッセージは、携帯型アクセスデバイス1400とPaaKデバイス1402との間で送信される。メッセージは、接続間隔の、割り当てられた接続イベント期間中にセットで送信される。各接続イベント中に、メッセージは、デバイス1400、1402のそれぞれに、およびそれぞれから送信される。この送信の例は、
図15~19に示されている。各接続イベントは、異なるチャネルに関連付けられてもよい。一例として、デバイス1400、1402は、チャネルホップシーケンスに従ってメッセージを送信することができ、その間、デバイス1400、1402は、所定の数の事前選択されたチャネル間をホップし、各々のチャネルでメッセージを送受信する。チャネルホップシーケンスは、選択されたチャネルの所定の順序である。
【0172】
モジュール1416、1426、1436、1446および/またはBLEトランシーバ1410、1420、1430、1440は、メッセージ送信タイミング、ならびにキュー1412、1414、1422、1424、1432、1434、1442、1444のロードおよびアンロードを制御する。キュー1412、1414、1422、1424、1432、1434、1442、1444は、どの接続イベント中にどのチャネルでどのメッセージが送信されるかを予測するために、モジュール1416、1426、1436、1446によって監視され得る。これにより、制御モジュール1416は、非白色化されたトーンを含むメッセージを選択することができる。非白色化されたトーンを含むメッセージを選択することにより、制御モジュール1416は、AoA同位相および直交位相(IQ)ストリームの一部として読み取り機1404、1406によって捕捉され得るメッセージを選択する。
【0173】
一実施形態では、制御モジュール1416およびPaaKモジュール1426は、接続イベント中に送信され、記述されたメッセージに含まれるようにされたBLE汎用属性プロファイル(GATT)特性を測定(例えば、監視、制御、および調整)する。BLE GATT特性は、デバイス1400、1402がサービスおよびBLE特性を使用してどのようにデータやり取りするかを示す。属性プロトコル(ATT)が使用されてもよい。BLE GATT特性は、属性(またはパラメータ)タイプを含み、論理値を含有する。BLE GATT特性は、カプセル化されたデータポイントであってもよく、普遍的に一意の識別子(UUID)を含んでもよい。測定は、制御モジュール1416およびPaaKモジュール1426が、どの接続イベントがBLE GATT特性の送信に使用されるかを予測できるように実行される。
【0174】
図15は、接続長L1と、チャネルホッピングシーケンスに従って、
図14の携帯型アクセスデバイス1400とPaaKデバイス1402との間で、それぞれによって送信されるメッセージのタイミングを示すメッセージタイミング図を示している。PaaKデバイス1402は、メッセージ(またはパケット)Cを携帯型アクセスデバイス1400に送信し、携帯型アクセスデバイス1400は、メッセージ(またはパケット)PをPaaKデバイス1402に送信することによって応答する。各接続イベントは特定のチャネルに関連付けられており、所定の数のPメッセージと対応する同じ数のCメッセージを含む。
【0175】
制御モジュール1416およびPaaKモジュール1426は、高レベルの設計制約と呼ばれる、所定のプロトコルおよび/または規則に従って動作することができる。例えば、L2で表される、接続イベントが開いている時間の長さは、その接続イベントのメッセージを送信するのにかかる時間の長さL1と同じかそれよりも長い。一実施形態では、L2はL1よりも大きい。別の例として、各接続イベント中に、PaaKデバイス1402から送信されるバイト数およびメッセージ数は、携帯型アクセスデバイス1400から送信されるバイト数およびメッセージ数と等しいか、またはほぼ同じでなければならない。
【0176】
デバイス1400、1402を含む送信システムの状態に応じて、接続イベント中に送信されるバイト数および/またはメッセージ数が変更されてもよい。一例として、制御モジュール1416およびPaaKモジュール1426は、PaaKデバイス1402に対するおよび/またはPaaKデバイス1402の車両に対する携帯型アクセスデバイス1400の推定位置、車両の始動ボタンが押されているおよび/または他の変化などのPaaKデバイス1402および/または車両の状態の変化、デバイス1400、1402の送信レート、キュー1412、1414、1422、1424の充填レベル、近くのネットワークデバイス間で検出されたデータ送信トラフィックの量、および/または、他のパラメータおよび/または関連する状態の変化、を含む送信システムの状態を監視してもよい。状態は、デバイス1400、1402間で共有されてもよく、および/または車両の1つ以上の他のモジュールおよび/またはデバイスを介してなど、1つ以上の他のネットワークデバイスを介してデバイス1400、1402のうちの1つ以上に示されてもよい。
【0177】
一実施形態では、メッセージCおよびPは、各方向へ(デバイス1400、1402のそれぞれへ、及びそれぞれから)通知として送信される。送信側(デバイス1400またはデバイス1402のいずれか)は、メッセージが受信側(デバイス1400、1402の他の1つ)に到達した(すなわち、受信された)ときに報告されない。各メッセージの配信は保証されていない。これは、メッセージの失敗(すなわち、受信されない)を引き起こすノイズが、制御モジュール1416およびPaaKモジュール1426が動作することに基づくタイミング測定に悪影響を及ぼさないようになされる。
【0178】
携帯型アクセスデバイス1400は、ATTルックアップデータとサービスと特性定義を保持するGATTサーバーとして動作することができる。PaaKデバイス1402は、GATTサーバーに要求を送信するGATTクライアントとして動作することができる。すべてのトランザクションは、スレーブデバイス(例えば、GATTサーバ)から応答を受信するマスターデバイス(例えば、GATTクライアント)によって開始されてもよい。別の実施形態では、携帯型アクセスデバイス1400が、セルラー電話および/または携帯電話として実現され、GATTサーバーおよび/またはGATTクライアントとして動作し、以前に説明された通知のような保証されない配信通知をPaaKデバイス1402に提供することができる。
【0179】
デバイス1400、1402間のトランザクションは、それぞれ、サービスおよびそのサービスの対応する特性を含む、プロファイルと呼ばれるネストされたオブジェクトに基づくことができる。これらのサービスは、データを論理エンティティに分割するために使用でき、特性と呼ばれる特定のデータの特定のチャンクを含む。サービスには1つ以上の特性があってもよく、各サービスは、16ビット(正式に採用されたBLEサービスの場合)または128ビット(カスタムサービスの場合)であってもよい一意の数値ID(UUID)によって他のサービスと区別できる。各々の特性は、単一のデータポイント、または3軸加速度計からのX/Y/Z値などの関連データの配列をカプセル化してもよい。特性は、事前定義された16ビットまたは128ビットのUUIDによって区別できる。特性は、読み取りおよび/または書き込み特権として構成されてもよい。
【0180】
図16は、接続間隔およびチャネルホッピングシーケンスを示すメッセージタイミング図を示している。示された例では、3つの接続イベントが示され、その間に、メッセージCおよびPが、それぞれのチャネルN、N+1、およびN+2を介して送信される。3つの接続イベントが示されているが、任意の数の接続イベントが発生してもよい。メッセージCおよびPは、
図14のPaaKデバイス1402および携帯型アクセスデバイス1400によって送信され得る。
【0181】
PaaKモジュール1426が各Pメッセージを受信した後、PaaKモジュール1426は、対応する接続イベント中に、いずれの特性およびチャネル試行を検出したかを記録する。次に、PaaKモジュール1426は、次の接続イベントの第1のCメッセージ(最初の通知メッセージ)において、前の接続イベント中にいずれの特性およびチャネル試行が検出されたかを示す。各接続イベントには、複数のメッセージ(またはパケット)の送信が含まれる。各接続イベントは、1つ以上のフレームの送信に関連付けることができる。一例として、各接続イベントは、複数のメッセージ(またはパケット)間で分割された単一のフレームの送信を含むことができる。PaaKモジュール1426はまた、最初の通知メッセージにおいて、1つ以上のフレームが送信されているフレームシーケンスのどこにあるかを示すことができる。フレームシーケンスは、複数の接続イベントおよび対応するチャネルを介して送信される複数のフレームを含むことができる。このプロセスは、接続イベントの連続するペアごとに繰り返し実行されてもよい。
【0182】
携帯型アクセスデバイス1400の制御モジュール1416は、各接続イベントの開始時に受信された最初の通知メッセージを調べ、最後の接続イベント中に送受信されたものを判定する。これにより、制御モジュール1416は、現在の接続イベント中の最初のPメッセージにおいて、PaaKモジュール1426へ何を送信するかを決定することができる。制御モジュール1416は、以前に送信されたが、PaaKモジュール1426で受信および検証(以下「受信」)されていないデータを再送信することができる。
【0183】
一実施形態では、携帯型アクセスデバイス1400は、最大2つの接続イベントに相当する遅延を有する。制御モジュール1416は、制御モジュール1416がPaaKモジュール1426からの接続イベント要求をいつ見逃したか検出し、次の接続イベント中に正しいメッセージ(または通知)をPaaKモジュール1426に送信するために、接続イベントの時間を計ってもよい。これは、PaaKモジュール1426が、見逃された接続イベントを示す制御モジュール1416への更新を提供するかどうかとは無関係に行うことができる。制御モジュール1416がPaaKモジュール1426から更新を受信しない場合、制御モジュール1416は正しいメッセージを送信してもよい。
【0184】
一実施形態では、制御モジュール1416は、非白色化されたトーンを含むメッセージを生成し、送信してもよい。一例として、3つの接続イベント中に、制御モジュール1416は、各接続イベントに1つなど、1~3個の非白色化パケットを送信してもよい。これは、たとえば、制御ループのパフォーマンスにジッターが存在する場合に実行されてもよい。1つ以上の制御ループが実行されてもよい。制御ループは、PaaKモジュール1426の送信キュー1424が満たされ、通常であれば送信する予定のすべての意図された通知、および/または、送信されることが意図される所定数の通知を、携帯型アクセスデバイス1400が送信することを防ぐ結果、PaaKモジュール1426から制御モジュール1416にあまりにも多くの空でないPDUを送信することを防ぐために実行されてもよい。別の制御ループが、受信キュー1422が満たされる結果として、制御モジュール1416からPaaKモジュール1426にあまりにも多くの特性PDUを送信することを防ぐために実行されてもよい。制御モジュール1416が、PaaKモジュール1426からの報告に基づいて受信キュー1422がバックアップしていると判断した場合、制御モジュール1416は、接続イベントごとの通知の数を減らして、2つの接続イベントに近い制御ループのタイムラグを維持してもよい。制御モジュール1416が、どの接続イベントおよびチャネルが次であるかを判定し、どの接続イベントおよびチャネルが次であるかに基づいて非白色化パケットを生成する、さらに別の制御ループが実行されてもよい。非白色化パケットのそれぞれは、1つ以上の非白色化トーンを含むことができる。
【0185】
上記の制御ループの決定は、携帯型アクセスデバイス1400またはPaaKデバイス1402で行うことができる。制御ループの決定は、制御モジュール1416および/またはPaaKモジュール1426に利用可能にされ得る情報を含む。制御モジュール1416は、制御モジュール1416がPaaKモジュール1426からの欠落したメッセージを検出し、それに対処することを可能にするオペレーティングシステム(OS)イベントをスケジュールしてもよい。これは、携帯型アクセスデバイス1400が、欠落したメッセージに基づいて、以前に送信され、受信されなかったデータおよび/または単に送信されなかったデータを決定し、PaaKモジュール1426への次のメッセージで欠落したデータを送信することを意図する、制御ループの一方の側で行われる。上記の絞り(または測定)処理は、制御ループのいずれかの側で、つまり、携帯型アクセスデバイス1400で、および/またはPaaKデバイス1402で実行されてもよい。
【0186】
一実施形態では、PaaKモジュール1426は、接続イベントの開始時間および/または終了時間、ならびに各接続イベントがチャネルホップシーケンス内のどこにあるかを決定する。Cメッセージおよび/またはPメッセージは、接続イベント中に、接続イベントの他のCメッセージおよびPメッセージに対して、CメッセージおよびPメッセージがどこに配置されるかを示すことができる。Cメッセージおよび/またはPメッセージはまた、あるいは代替的に、対応する接続イベントがチャネルホップシーケンスのどこにあるかを示すことができる。この情報は、PaaKモジュール1426によって決定され、制御モジュール1416と共有されてもよい。PaaKモジュール1426は、(i)チャネルホップシーケンスの中で、PaaKモジュール1426がターゲットとしている場所に対して、PaaKモジュール1426がチャネルホップシーケンスの中のどこにあるか、および(ii)今後の(または将来の)チャネル接続ホップが何であるか、を制御モジュール1416に知らせる。
【0187】
一実施形態では、接続イベントの開始時間と終了時間、および接続イベントがチャネルホップシーケンス内のどこにあるかは、PaaKモジュール1426が、データおよび/またはタイミングによって、どの送受信特性がどの接続イベントに属するかを決定することを可能にする。PaaKモジュール1426は、制御ループがどのように動作しているかを示す受信した特性に基づいて、接続イベント情報スコアを生成することができる。接続イベント情報スコアは、例えば、制御ループが、進んでいる、合っている、または遅れているかを示すことができる。制御ループは、メッセージの一部だけ進んだり、遅れたりする可能性がある。一例として、一部分のメッセージは、制御モジュール1416が接続イベントごとに複数の推測上のチャネルで送信を試みるときに作用し始める。PaaKモジュール1426は、接続イベント情報スコアを示すメッセージおよび/または他のメッセージを繰り返し生成し、制御モジュール1416への送信のために送信キュー1424にロードすることができる。一実施形態では、PaaKモジュール1426は、接続イベントごとに受信キュー1422を空にする。
【0188】
図17は、それぞれが連続する同一のビットを含む複数のビットセットを備えたモバイル非白色化セクション1702を含む例示的なパケット1700を示すパケット図を示す。パケット1700は、伝承の27バイトPDUペイロードおよび20バイトGATT特性に、モバイル非白色化セクションを含めた例である。パケット1700は、
図9のメッセージパケット940に取って代わることができる。パケット1700のフィールドに、ビット数の例が与えられている。これらの数は例として与えられており、異なってもよい。モバイル非白色化セクション1702は、本明細書で言及される他のメッセージパケットの1つ以上のトーンを表してもよいし、および/または取って代わってもよい。パケット1700は、プリアンブル、アクセスアドレス、PDUおよびCRCビットを含む。プリアンブルは8ビットを含むことができる。アクセスアドレスは32ビットを含むことができる。PDUは232ビットを含むことができる。パケット1700は、24個のCRCビットを含むことができる。
【0189】
PDUは、16ビットのヘッダーおよび520ビットのペイロード1704を含み、リンク層に生成され得る。一実施形態では、PDUおよびペイロード1704は、モバイル非白色化が実行されるとき、メッセージ完全性チェック(MIC)バイトを含まない。これは、通常、MICバイトを含む従来のPDUとは異なる。
【0190】
ヘッダーは、論理リンク識別子(LLID)ビット、次に予想されるシーケンス番号(NESN)ビット、シーケンス番号(SN)ビット、追加データ(MD)ビット、長さビット、および将来の使用のために確保されているビット(RFU)を含む。ペイロード1704は、論理リンク制御および適応プロトコル(L2CAP)に関連付けられることができ、論理リンク(LL)ヘッダー、チャネルID、およびペイロード1708を含む。LLヘッダーは16ビットを含む。チャネルIDは16ビットを含む。ペイロード1708は184ビットを含む。ペイロード1708はGATTであり、オペコード、属性ハンドル、および属性値を含む。オペコードは8ビットを含む。属性ハンドルは16ビットを含む。属性値は160ビット(つまり、20バイト)を含む。
【0191】
属性値は、(i)モバイル非白色化パケットの脱非白色化制御セクション、および(ii)モバイル非白色化セクション1702を含む。脱非白色化制御セクションは、32~160ビットを含むことができる。モバイル非白色化セクション1702は、0~128ビットを含む。モバイル非白色化セクション1702が128ビットを含む場合、対応する特性の他のデータのために32ビットが残される。32ビットは、携帯型アクセスデバイス1400の制御モジュール1416が送信を試みているのがどのチャネルであるか、および制御モジュール1416が送信を試みているのが、どの接続イベント中であるかを示すことができる。32ビットは、パケット1700が関連付けられているのが、接続イベントごとのどの部分的PDUであるか、および/またはパケット1700が非白色化されているのが、どのチャネルに対してであるかを示すことができる。
【0192】
モバイル非白色化セクション1702は、先頭のゼロセクション、同じ連続ビットの所定数のシリーズ、および末尾のトグルフィールドを含むことができる。先頭のゼロセクションは、2つのゼロビットを含むことができる。一実施形態では、所定数のシリーズは、同じ連続ビットの1~10のシリーズを含み、各シリーズは、すべてゼロまたはすべて1を含む。一実施形態では、各シリーズは12~32ビットを含む。末尾のトグルフィールドは2ビットを含むことができる。モバイル非白色化セクション1702は、1秒当たり1メガビット(Mb/秒)で送信するPHYモジュールに実装されてもよい。
【0193】
図14および17を参照すると、実施形態において、読み取り機1404、1406の制御モジュール1436、1446の1つ以上が、アクセスアドレス、LLID、LLヘッダー、チャネルID、GATTオペコード、パケット1700および/またはそのサブセットの属性ハンドルに基づいてIQキャプチャを実行する。1つ以上の読み取り機は、非白色化パケットの脱非白色化制御セクションを含む、受信されたメッセージのデータビットを提供することができる。PaaKモジュール1426は、PaaKモジュール1426に関連するBLEスタックから制御モジュール1436、446、および/または読み取り機1404、1406のBLEマイクロスタックへのフローを捕捉するために使用される、パケットのためのソフトウェアを実行することができる。アクセスアドレス(携帯型アクセスデバイスのアドレス)、LLID、LLヘッダー、チャネルID、GATTオペコード、属性ハンドル、AoA、および/またはCRCチェック情報などのフィールドおよび/またはパラメータの転送のために、PaaKモジュール1426と制御モジュール1436、1446との間にバックチャネルが存在してもよい。
【0194】
図18は、例示的なアンテナ切り替えのタイミングを示す非白色化セクションの図を示している。アンテナ切り替えは、
図14の読み取り機1404、1406のうちの1つ以上で、および/または、読み取り機の1つ以上のために実行され得る。モバイル非白色化セクションの連続ビットのシリーズの開始時間および終了時間と揃えられた立ち上がりおよび立ち下がりエッジタイミングを有する、ガウシアン周波数シフトキーイング(GFSK)信号が示されている。GFSK信号は、「0」状態と「1」状態の間で遷移する。GFSK信号は、パケット1700を送信するトランシーバのGFSK変調器からのビットストリームを表すことができる。
【0195】
一実施形態では、アンテナ切り替えは、GFSK信号の立ち上がりエッジおよび立ち下がりエッジで許可される。切り替えは、示されているように立ち上がりエッジと立ち下がりエッジの間など、他の時間に起こってもよい。示されている垂直の破線は、起こり得るアンテナ切り替え時間を示している。一実施形態では、アンテナ切り替えの少なくとも一部は、GFSK信号の立ち上がりエッジおよび立ち下がりエッジで起こる。
【0196】
図17を参照すると、一実施形態では、PaaKモジュール1426によって送信される空のPDUは、80マイクロ秒(μs)かかる場合がある。PDUが216のペイロードビットを含む場合、PDUは296μsかかる。一実施形態では、モバイル非白色化セクションは、アクセスアドレスの32ビットの後に少なくとも72ビットを有する。その結果、レシーバはトランスミッタで安定するために104ビットを持つ。
【0197】
一実施形態では、
図14の読み取り機1404がアンテナ切り替えを実行し、PaaKデバイス1402および読み取り機1406はアンテナ切り替えを実行しない。別の実施形態では、制御モジュール1436は、アンテナス切り替えが起こったとき、CRC値をキャプチャする。制御モジュール1436は、既知の非白色化された値を含むデータに基づいてCRCチェックを実行することができる。PaaKモジュール1426は、受信されたモバイル非白色化パケットに関連するCRC値を決定し、CRC値が所定の範囲内にない場合、対応するパケットは無効であると見なされ、破棄および/または受信されていないとして示される。制御モジュール1446は、同様に、受信されたモバイル非白色化パケットに関連するCRC値を決定し、CRC値が所定の範囲内にない場合、対応するパケットは無効であると見なされ、破棄され、使用されない。
【0198】
一実施形態では、
図17のモバイル非白色化セクションにおける連続する同一ビットの最大数は、低いビットエラーレートを維持し、有効なCRCレベルを可能にするように制限される。一例として、1Mbit/sのPHYモジュールとともに動作し、アクセスアドレス(例えば32ビットアクセスアドレス)の後に少なくとも72ビットであるモバイル非白色化セクションを備えるパケットを受信するPaaKデバイス1402の場合、最大数は、20デシベル(db)より大きい信号対雑音比(SNR)を維持しながら、12~32個の連続する同一ビットとすることができる。別の例として、アクセスアドレス、チャネルID、GATTオペコード、およびGATT属性のリストは、アンテナ切り替えを実行し、アクセスアドレスの後に少なくとも72ビットであるモバイル非白色化セクションおよび20dbより大きいSNRを備えたパケットを受信する読み取り機(例えば、読み取り機1404,1406の1つ)について、特定の局面が満たされるように、事前に選択されてもよい。局面は、特性の期間内にアンテナ切り替えを開始すること、ビットの切り替えパターンではなく、モバイル非白色化セクションビットの既知のパターンに基づいてCRCチェックを実行することを含み、そして、読み取り機のBLEトランシーバは、アンテナの切り替え後に正しい(または有効な)CRC値を受信する。
【0199】
送信された信号の到達角度を決定するためにアンテナ切り替えが実行されてもよい。アンテナ切り替えを含む、到達角度を決定するための例示的な方法は、参照により本明細書に組み込まれる、2020年3月19日に出願された米国特許出願第16,824,367号に記載されている。
【0200】
図19は、携帯型アクセスデバイス1400とPaaKデバイス1402との間で送信される可能性のあるモバイル非白色化トーンを有するパケットを示す。携帯型アクセスデバイス1400は、BLEトランシーバ1410、キュー1412、1414、およびトーン非白色化モジュール1418を備えた制御モジュール1416を含む。PaaKデバイス1402は、BLEトランシーバ1420、キュー1422、1424、およびPaaKモジュール1426を含む。PaaKモジュール1426は、リンク認証モジュール1900を含み、これは、
図9のリンク認証モジュール300と同様に動作することができる。
【0201】
例として、2つの接続イベントが示され、それらは、複数のCメッセージおよびPメッセージの送信を含む。この例では、各接続イベントは、4組のメッセージ(つまり、4つのCメッセージと4つのPメッセージ)の送信を含む。接続イベントは、示されているものとは異なる数のメッセージの組を含むことができる。一実施形態では、最初のPメッセージは、ステータス非モバイル非白色化メッセージであり、これは、ステータス情報を含み、および/またはステータス情報を取得するために使用されることができ、モバイル非白色化トーンおよび/またはセクションを含まない。接続イベントの2番目から4番目のPメッセージは、メッセージが非白色化トーンおよび/またはセクションを含むので、非白色化メッセージである。最初のPメッセージは、例えば、デバイス1400、1402間の接続を開いたままにし、読み取り機(例えば、
図14の読み取り機1404、1406の1つ)が接続を追跡し、RSSI値をキャプチャすることを可能にするために使用することができる。Pメッセージは、PaaKモジュール1426から受信されたそれぞれのCメッセージに応答して、携帯型アクセスデバイス1400からPaaKデバイス1402に送信される。一実施形態では、Pメッセージのいくつかは、非白色化されたトーンおよび/またはセクションを含み、他のPメッセージは含まない。読み取り機によってキャプチャされたRSSI値は、PaaKモジュール1426と共有されることができ、PaaKモジュール1426は、その後、受信されたPメッセージが有効であるかどうかを決定することができる。無効な場合、PaaKモジュール1426は、無効なPメッセージを受信されていないものとして携帯型アクセスデバイスに報告することができ、携帯型アクセスデバイスは、その後、次のメッセージにおいて、無効にされたPメッセージで以前に送信されたデータを再送信することができる。
【0202】
図20は、接続イベントに含まれるメッセージのタイプおよび対応するタイミングを示すパケットの図を示す。この例では、CメッセージとPメッセージの4つの組が各接続イベントで送信される。最初のCメッセージは、
図14の携帯型アクセスデバイス1400に、どのデータが、最後の接続イベントにおいて携帯型アクセスデバイス1400からPaaKモジュール1426で最後に受信されたかを示すステータスメッセージである。最初のPメッセージは、PaaKモジュール1426にステータス情報を示し、および/または読み取り機が上記のようにステータス情報を取得できるようにするために送信され得るステータスメッセージである。2番目から4番目のCメッセージは空のPDUメッセージであり、2番目から4番目のPメッセージはモバイル非白色化メッセージである。空のPDUは、例として、8プリアンブルビット、32アクセスアドレスビット、16PDUヘッダービット、0ペイロードビット、および24CRCビットを含むことができる空のPDUメッセージを含み、これは、80μsの送信時間がかかる場合がある。完全なペイロードと160ビットの属性値を持つ他のメッセージは、8プリアンブルビット、32アクセスアドレスビット、232PDUビット、および24CRCビットを含むことができ、296μsの送信時間を持つ。図示されているように、各CメッセージとPメッセージの間に150μsのギャップがあってもよく、その結果、単一の接続イベントのCメッセージとPメッセージを送信する合計時間は2270μs(つまり、296×5+80×3+150×7)になる。
【0203】
図14を参照すると、一実施形態では、上記の計測、通知、およびタイミングは、PaaKモジュール1426および制御モジュール1436、446でのイベントが、接続イベントの始まりと終わり(つまり、開始と終了)と対応する(例えば、時間的に整合される、時間的に近い、および/または、時間が相関する)ように実行される。これは、本明細書で説明するモバイル非白色が機能し、制御モジュール1416がターゲットとしているチャネルおよび接続イベントに対して、BLEトランシーバ1410がいくつのパケット進んでいるか、遅れているかに関して、携帯型アクセスデバイス1400にガイダンスを与えることを可能とするために行われる。PaaKモジュール1426および制御モジュール1436、1446のイベント(またはそれらによって実行される処理)はまた、特性が携帯型アクセスデバイス1400からPaaKデバイス1402に送信されるときに対応する(例えば、時間的に整合される、時間的に近い、および/または、時間が相関する)。これには、PaaKモジュール1426および制御モジュール1436、1446が、チャネルホップシーケンス、および、携帯型アクセスデバイス1400がチャネルホップシーケンス内のどこにあるかを認識していることが含まれる。
【0204】
一実施形態では、制御モジュール1416は、各接続イベントの終了までに受信キュー1412を完全に空にすることができる。別の実施形態では、PaaKモジュール1426および制御モジュール1416、1436、1446の1つ以上は、各接続イベントの終了までに、キュー1412、1414、1422、1424、1432、1434、1442、1444の1つ以上を完全に空にすることができる。一実施形態では、特性(すなわち、BLE特性)が送信されているとき、送信キュー1414、1424、1434、1444に格納されるパケットの数は、対応する1つ以上の制御ループを迅速かつ小さく保つように制限される。記載したように、PaaKモジュール1426および制御モジュール1416、1436、1446は、接続イベントの開始時間および終了時間、接続イベントに対してメッセージがいつ送受信されるか、および、チャネルホップシーケンスを認識している。PaaKモジュール1426および制御モジュール1416、1436、1446はまた、フレームシーケンスおよび/または携帯型アクセスデバイスがフレームシーケンスのどこにあるかを認識することができる。
【0205】
図21は、アンテナ間で選択および切り替えを行うためのアンテナシステム2100を示している。アンテナシステム2100は、アンテナ2102、スイッチ2104、および無線受信機2106(本明細書で言及されるBLE受信機のうちの1つ)を含む。無線受信機2106は、スイッチ2104を介して信号を受信するアンテナの1つを選択する。アンテナシステム2100は、本明細書に開示されるシステムおよび/またはデバイスのいずれかに実装され得る。
【0206】
アンテナシステム2100は、PaaK AOAシステムに実装され、BLE AOAデータ受信を実行する。アンテナ2102のうちの1つによって受信されるBLE無線パケットの一部は、連続波(CW)トーンを含むことができる。無線受信機2106は、CWトーンをサンプリングして、同位相および直交位相信号(IおよびQ信号)と呼ばれる、90°の位相差を有する2つの正弦曲線を意味する、直交解析信号を提供する。I信号とQ信号は同時にサンプリングされ、複合分析サンプルrを形成するために組み合わされ、ここで、r=iI+Qであり、iは虚数定数で、i=√2である。したがって、受信されたデータは、複数回の繰り返しで各アンテナからインターリーブされるサンプルに部分配列される。
【0207】
無線で車両へアクセスするための携帯型アクセスデバイスが提供される。携帯型アクセスデバイスは、トランシーバ、受信キューと送信キュー、および制御モジュールを含む。トランシーバは、現在の接続イベント中に、車両のphone-as-a-key(PaaK)システムから第1の通知メッセージを受信し、それに応答して、第2の通知メッセージをPaaKシステムに送信するように構成される。第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信される。受信キューは、第1の通知メッセージを受け入れるように構成される。送信キューは、第2の通知メッセージを格納するように構成される。制御モジュールは、受信キューからの第1の通知メッセージの受け入れに応答して、第2の通知メッセージを生成し、送信キューに格納するように構成される。制御モジュールは、第1の通知メッセージの最初のメッセージに基づいて、(i)現在の接続イベントの前の最後の接続イベント中に送信されたデータがなにかを判別し、(ii)最後の接続イベント中に以前に受信されなかったデータを含むように、1つ以上の第2の通知メッセージを生成するように構成される。
【0208】
他の特徴では、第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられる。第1の通知メッセージの最初のメッセージは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、または携帯型アクセスデバイスがフレームシーケンス内のどこにあるかの少なくとも1つを示す。制御モジュールは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、または携帯型アクセスデバイスがフレームシーケンス内のどこにあるかの少なくとも1つに基づいて、最後の接続イベント中に以前に受信されなかったデータを含むように、1つ以上の第2の通知メッセージを生成する。
【0209】
他の特徴では、第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられる。第1の通知メッセージの最初のメッセージは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示す。制御モジュールは、特性、チャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかに基づいて、1つ以上の第2の通知メッセージを生成するように構成される。
【0210】
他の特徴では、第1の通知メッセージと第2の通知メッセージは、2.4GHzの無線周波数信号として送信される。
【0211】
他の特徴では、制御モジュールは、現在の接続イベント中に、(i)送信キューに格納されてPaaKシステムに送信される特性の数、または(ii)送信キューに格納されてPaaKシステムに送信されるプロトコルデータユニットの数の少なくとも1つを制限するように構成される。第2の通知メッセージは、特性とプロトコルデータユニットを含む。
【0212】
他の特徴では、制御モジュールは、PaaKシステムからの第1の通知メッセージの1つに基づいて、PaaKシステムの受信キューが満杯になっていることを判定し、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される。
【0213】
他の特徴では、制御モジュールは、2つの接続イベントに対する、対応する制御ループにおけるタイムラグを維持するため、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスからPaaKシステムに送信される通知メッセージの数を減らすように構成される。
【0214】
他の特徴では、制御モジュールは、第2の通知メッセージの一部に含めるための非白色化パケットを生成するように構成される。非白色化パケットは、現在の接続イベントの標と、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信している現在のチャネルの標とに基づいて生成される。
【0215】
他の特徴では、制御モジュールは、それぞれが、連続ビットの所定数のシリーズを含むモバイル非白色化セクションを含むように、いくつかの第2の通知メッセージを生成するように構成される。連続ビットのシリーズの各々は、すべて0またはすべて1を含む。
【0216】
他の特徴では、連続するビットの所定数のシリーズは、連続するビットの2~10のシリーズを含み、連続するビットのシリーズの各々は、12~32ビットを含む。
【0217】
他の特徴では、トランシーバは、携帯型アクセスデバイスが第2の通知メッセージをPaaKシステムに送信する際に、進んでいる、合っている、または遅れているかを示す、接続イベント情報スコアをPaaKシステムから受信するように構成される。制御モジュールは、接続イベント情報スコアに基づいて送信キューの充填レートを調整するように構成される。
【0218】
他の特徴では、車両用PaaKシステムが提供される。PaaKシステムは、トランシーバ、受信キュー、送信キュー、およびPaaKモジュールを含む。トランシーバは、現在の接続イベント中に、第1の通知メッセージを携帯型アクセスデバイスに送信し、それに応答して、携帯型アクセスデバイスから第2の通知メッセージを受信するように構成される。第2の通知メッセージは、フレームシーケンス内の1つ以上のフレームに関連付けられる。第1の通知メッセージおよび第2の通知メッセージは、携帯型アクセスデバイスとPaaKシステムとの間の通信リンクを確立するために送信される。受信キューは、第2の通知メッセージを受け入れるように構成される。送信キューは、第1の通知メッセージを格納するように構成される。PaaKモジュールは、第1の通知メッセージを生成して送信キューに格納するとともに、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、または携帯型アクセスデバイスがフレームシーケンス内のどこにあるかの少なくとも1つを含む特徴を示すように、第1の通知メッセージの最初のメッセージを生成するように構成される。
【0219】
他の特徴では、トランシーバ、受信キュー、送信キュー、およびPaaKモジュールがPaaKデバイスとして実装される。
【0220】
他の特徴では、PaaKモジュールは、最後の接続イベント中に携帯型アクセスデバイスによって送信された特性、最後の接続イベント中に携帯型アクセスデバイスによって実行されたチャネル試行、および携帯型アクセスデバイスがフレームシーケンス内のどこにあるかを示すように、第1の通知メッセージの最初のメッセージを生成するように構成される。
【0221】
他の特徴では、PaaKモジュールは、最後の接続イベント中にPaaKシステムによって受信された携帯型アクセスデバイスからのデータが何かを判別し、何のデータが携帯型アクセスデバイスから受信されたかを、第1通知メッセージの最初のメッセージにおいて示すように構成される。
【0222】
他の特徴では、PaaKシステムは、第2の通知メッセージからモバイル非白色化トーンまたはモバイル非白色化セクションの少なくとも1つを除去するように構成されたトーン除去モジュールと、第2の通知メッセージの残りの部分のバイトが有効であるかを判定するように構成された検証モジュールと、をさらに含む。
【0223】
他の特徴では、PaaKモジュールは、送信キューに格納される、または、現在の接続イベント中に携帯型アクセスデバイスに送信される複数の空でないプロトコルデータユニットの少なくとも1つを制限するように構成され、第1の通知メッセージは、空でないプロトコルデータユニットを含む。
【0224】
他の特徴では、PaaKモジュールは、受信キューが満杯になっているかを判定し、受信キューの充填レベルに基づいて、現在の接続イベントに続く接続イベント中に、携帯型アクセスデバイスに、携帯型アクセスデバイスがPaaKシステムに送信する通知メッセージの数を減少させるようにするため、受信キューの状態を第1の通知メッセージの1つにおいて示すように構成される。
【0225】
他の特徴では、PaaKモジュールは、携帯型アクセスデバイスによる非白色化パケットの生成のため、現在の接続イベントと、PaaKモジュールが携帯型アクセスデバイスと通信している現在のチャネルとを、携帯型アクセスデバイスに示すように構成される。第2の通知メッセージは、非白色化パケットを含む。他の特徴では、PaaKモジュールは、携帯型アクセスデバイスが、PaaKモジュールへの第2の通知メッセージの送信において、進んでいる、合っている、または遅れているかを示す接続イベント情報スコアを生成し、接続イベント情報スコアを送信キューに格納するように構成される。トランシーバは、接続イベント情報スコアを携帯型アクセスデバイスに送信するように構成される。
【0226】
他の特徴では、読み取り機が提供され、それは、トランシーバと制御モジュールとを含む。トランシーバは、現在の接続イベント中に、携帯型アクセスデバイスから車両のphone-as-a-key(PaaK)システムへ送信される通知メッセージを監視するように構成され、通知メッセージは、携帯型アクセスデバイスとPaaKシステム間の通信リンクを確立するために送信される。制御モジュールは、1つ以上の通知メッセージのフィールドに基づいて、通知メッセージの同位相および直交位相キャプチャを実行し、フィールドは、連続ビットの2つ以上のシリーズを含むモバイル非白色化セクションを含み、1つ以上のシリーズの各々における連続ビットは、全てゼロまたはすべて1であり、同位相および直交位相キャプチャに基づいて、通知メッセージの到達角度を決定し、そして、PaaKシステムによる決定される許可されるアクセスのため、PaaKシステムに到達角度を示す。
【0227】
他の特徴では、フィールドは、アクセスアドレス、論理リンク識別子、論理リンクヘッダ、チャネル識別子、汎用属性プロファイルオペコード、および属性ハンドルを含む。
【0228】
他の特徴では、制御モジュールは、アクセスアドレス、論理リンク識別子、論理リンクヘッダ、チャネル識別子、汎用属性プロファイルオペコード、および属性ハンドルに基づいて、同位相および直交位相キャプチャを実行するかどうかを決定するように構成される。
【0229】
他の特徴では、到達角度は、読み取り機または車両上の基準点の少なくとも1つに対するものである。
【0230】
他の特徴では、制御モジュールは、連続ビットの1つ以上のシリーズの送信開始時間および送信終了時間に基づいて、通知メッセージの到達角度を決定しながら、アンテナ切り替えを実行するようにトランシーバを制御するように構成される。
【0231】
他の特徴では、制御モジュールは、通知メッセージの到達角度を決定しながら、(i)連続ビットの1つ以上のシリーズの送信開始時間、または(ii)連続ビットの1つ以上のシリーズの送信終了時間に、アンテナを切り替えるようにトランシーバを制御するよう構成される。
【0232】
他の特徴では、制御モジュールは、既知の非白色化値に基づいて、通知メッセージに対する巡回冗長検査を実行するように構成される。
【0233】
他の特徴では、制御モジュールが通知メッセージの到達角度を決定している間は、トランシーバは、アンテナ切り替えを実行しない。
【0234】
他の特徴では、制御モジュールは、通知メッセージに対して巡回冗長検査を実行し、巡回冗長検査の結果をPaaKシステムに示すように構成される。
【0235】
他の特徴では、制御モジュールは、到達角度を決定している間、かつ特性が携帯型アクセスデバイスからPaaKシステムに送信されている間、アンテナ切り替えを実行するようにトランシーバを制御するように構成される。
【0236】
他の特徴では、通知メッセージの最初のメッセージは、モバイル非白色化セクションを含まず、通知メッセージの他のメッセージが、モバイル非白色化セクションを含む。制御モジュールは、通知メッセージの最初のメッセージに基づいて受信信号強度インジケータ値を決定し、その受信信号強度インジケータをPaaKシステムに示すように構成される。
【0237】
他の特徴では、phone-as-a-key(PaaK)システムが提供され、それは、トランシーバとPaaKモジュールとを含む。トランシーバは、現在の接続イベント中に、携帯型アクセスデバイスから送信される通知メッセージを受信するように構成され、通知メッセージは、携帯型アクセスデバイスとPaaKシステム間の通信リンクを確立するため、および車両へのアクセスを得るために送信され、1つ以上の通知メッセージはフィールドを含み、1つ以上の通知メッセージの各々のフィールドは、連続ビットの2つ以上のシリーズを含むモバイル非白色化セクションを含み、1つ以上のシリーズの各々におけるビットは、全てゼロまたはすべて1である。PaaKモジュールは、1つ以上の通知メッセージの各々からモバイル非白色化セクションを削除し、通知メッセージが有効であるかどうかを判定し、通知メッセージが有効である場合、携帯側アクセスデバイスとリンクを確立し、PaaKシステムとは別個の読み取り機から到達角度情報を受信し、到達角度情報は、読み取り機または車両上の基準点の少なくとも1つに対する、通知メッセージの到達角度を示し、そして、到達角度情報に基づいて携帯型アクセスデバイスに車両へのアクセスを提供する、ように構成される。
【0238】
他の特徴では、読み取り機は、到達角度情報を決定している間に、アンテナ切り替えを実行する。
【0239】
他の特徴では、読み取り機は、到達角度情報を決定している間、アンテナ切り替えを実行しない。
【0240】
他の特徴では、PaaKモジュールは、読み取り機によって実行される巡回冗長検査に基づいて、通知メッセージが有効かどうかを判定するように構成される。
【0241】
他の特徴では、PaaKモジュールは、PaaKモジュールによって実行される巡回冗長検査に基づいて、通知メッセージが有効かどうかを判定するように構成される。
【0242】
他の特徴では、通知メッセージの最初のメッセージは、モバイル非白色化セクションを含まず、通知メッセージの他のメッセージが、モバイル非白色化セクションを含む。PaaKモジュールは、通知メッセージの最初のメッセージに基づく、読み取り機から受信された受信信号強度インジケータ値に基づいて、1つ以上の通知メッセージが有効であるかどうかを判定するように構成される。
【0243】
他の特徴では、通知メッセージは第2の通知メッセージである。PaaKモジュールは、第1の通知メッセージを生成し、第1の通知メッセージに応答する携帯型アクセスデバイスからの第2の通知メッセージを受信するように構成される。第1の通知メッセージの最初のメッセージはステータスメッセージであり、第1の通知メッセージの他のメッセージは空のプロトコルデータユニットメッセージである。第2の通知メッセージの最初のメッセージはステータスメッセージであり、第2の通知メッセージの他のメッセージはモバイル非白色化メッセージである。
【0244】
他の特徴では、PaaKモジュールは、携帯型アクセスデバイスがターゲットとしているチャネル及び接続イベントに対して、携帯型アクセスデバイスが進んでいるか、あるいは遅れているかを携帯型アクセスデバイスに示すように構成される。
【0245】
他の特徴では、PaaKモジュールが、(i)いつ現在の接続イベントが始まり、停止するか、(ii)携帯型アクセスデバイスのチャネルホップシーケンス、(iii)携帯型アクセスデバイスのフレームシーケンス、および(iv)いつ、携帯型アクセスデバイスが特性を送信し、それに基づいて、PaaKシステムの送信キューの充填を制御し、携帯型アクセスデバイスの送信キューの充填レートを調整するため、携帯型アクセスデバイスに信号を送信するか、を決定するように構成される。
【0246】
他の特徴では、(i)非一時的なコンピュータ可読媒体に格納された命令を実行するように構成されたプロセッサを含む携帯型アクセスデバイスと(ii)周辺デバイスとの間の通信リンクを確立するための方法が提供され、開示される。この方法は、携帯型アクセスデバイスのプロセッサを使用して、共有秘密鍵に基づく第1のメッセージ認証コード(MAC)バイト、第1のノンスバイト、第1のMACバイトと、第1のノンスバイトと、メッセージバイトとに基く認証パケット、共有秘密鍵に基づく非白色化トーンバイト、および、認証パケットと非白色化トーンバイトを含むメッセージパケット、を生成することを含む。メッセージパケットを生成することは、認証パケットの第1の位置を擬似ランダムに特定すること、第1の位置に非白色化トーンバイトを挿入すること、携帯型アクセスデバイスのプロセッサを使用して、周辺デバイスにメッセージパケットを送信すること、および、携帯型アクセスデバイスのプロセッサを使用し、周辺デバイスがメッセージパケットを検証することに応答して携帯型アクセスデバイスと周辺デバイスとの間の通信リンクを確立すること、を含む。
【0247】
いくつかの構成では、方法は、周辺デバイスのプロセッサを使用して、共有秘密鍵に基づいて第2のMACバイトを生成することを含み、周辺デバイスのプロセッサは、非一時的なコンピュータ可読媒体に格納された命令を実行するように構成される。この方法はまた、周辺デバイスのプロセッサを使用して、第2のノンスバイトを生成することを含む。
【0248】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、メッセージパケットから非白色化トーンバイトを除去することを含む。メッセージパケットを検証することはまた、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のMACバイトは第2のMACバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0249】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のノンスバイトは第2のノンスバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0250】
いくつかの構成では、方法は、(i)周辺デバイスのプロセッサを使用して、第1のMACバイトが第2のMACバイトに一致しないことを決定したこと、(ii)周辺デバイスのプロセッサを使用して、第1のノンスバイトが第2のノンスバイトに一致しないことを決定したこと、の1つに応答して、メッセージパケットが無効であると決定することをさらに含む。
【0251】
いくつかの構成では、第1のノンスバイトは乱数生成器を使用して生成される。
【0252】
いくつかの構成では、第1の位置は、第1のMACバイトの第1のMACビットと、第1のMACバイトの第2のMACビットとの間である。
【0253】
いくつかの構成では、第1の位置は、第1のノンスバイトの第1のノンスビットと、第1のノンスバイトの第2のノンスビットとの間である。
【0254】
いくつかの構成では、第1の位置は、第1のノンスバイトと第1のMACバイトとの一方の場所の前にある。
【0255】
いくつかの構成では、第1のノンスバイトの場所と第1のMACバイトの場所が第1の位置の前にある。
【0256】
本開示はまた、非一時的なコンピュータ可読媒体に格納された命令を実行するように構成されたプロセッサを含む携帯型アクセスデバイスを含むシステムを提供する。命令は、携帯型アクセスデバイスのプロセッサを使用して、共有秘密鍵に基づく第1のメッセージ認証コード(MAC)バイト、第1のノンスバイト、第1のMACバイトと、第1のノンスバイトと、メッセージバイトとに基づく認証パケット、共有秘密鍵に基づく非白色化トーンバイト、および、認証パケットと非白色化トーンバイトを含むメッセージパケット、を生成することを含む。メッセージパケットを生成することは、認証パケットの第1の位置を擬似ランダムに特定すること、第1の位置に非白色化トーンバイトを挿入すること、携帯型アクセスデバイスのプロセッサを使用して、周辺デバイスにメッセージパケットを送信すること、および、携帯型アクセスデバイスのプロセッサを使用し、周辺デバイスがメッセージパケットを検証することに応答して携帯型アクセスデバイスと周辺デバイスとの間の通信リンクを確立すること、を含む。
【0257】
いくつかの構成では、周辺デバイスは、第2の非一時的なコンピュータ可読媒体に格納された第2の命令を実行するように構成されたプロセッサを含む。第2の命令は、周辺デバイスのプロセッサを使用し、共有秘密鍵に基づいて第2のMACバイトを生成することを含む。第2の命令はまた、周辺デバイスのプロセッサを使用して、第2のノンスバイトを生成することを含む。
【0258】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、メッセージパケットから非白色化トーンバイトを除去することを含む。メッセージパケットを検証することはまた、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のMACバイトは第2のMACバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0259】
いくつかの構成では、メッセージパケットを検証することは、周辺デバイスのプロセッサを使用して、周辺デバイスのプロセッサが、第1のノンスバイトは第2のノンスバイトと一致すると判断することに応答して、メッセージパケットが正当と認められることを決定することを含む。
【0260】
いくつかの構成では、命令は、(i)周辺デバイスのプロセッサを使用して、第1のMACバイトが第2のMACバイトに一致しないことを決定したこと、(ii)周辺デバイスのプロセッサを使用して、第1のノンスバイトが第2のノンスバイトに一致しないことを決定したこと、の1つに応答して、メッセージパケットが無効であると決定することを含む。
【0261】
いくつかの構成では、第1のノンスバイトは乱数生成器を使用して生成される。
【0262】
いくつかの構成では、第1の位置は、第1のMACバイトの第1のMACビットと、第1のMACバイトの第2のMACビットとの間である。
【0263】
いくつかの構成では、第1の位置は、第1のノンスバイトの第1のノンスビットと、第1のノンスバイトの第2のノンスビットとの間である。
【0264】
いくつかの構成では、第1の位置は、第1のノンスバイトと第1のMACバイトとの一方の場所の前にある。
【0265】
いくつかの構成では、第1のノンスバイトの場所と第1のMACバイトの場所が第1の位置の前にある。
【0266】
前述の説明は、本質的に単なる例示にすぎず、本開示、その適用、または使用を限定することを決して意図するものではない。本開示の広範な教示は様々な形態で実施することができる。したがって、本開示は特定の例を含むが、図面、明細書、および添付の特許請求の範囲を検討すれば他の変更態様が明らかになるので、本開示の真の範囲はそのように限定されるべきではない。本開示の原理を変更することなく、方法内の1つまたは複数のステップが異なる順序で(または同時に)実行されてもよいことを理解されたい。さらに、各実施形態は特定の特徴を有するものとして上記に説明されているが、本開示の任意の実施形態に関して説明されたこれらの特徴のうちのいずれか1つまたは複数は、任意の他の実施形態で実施されること、および/または、組み合わせが明示的に説明されていなくとも、任意の他の実施形態の特徴と組み合わせることが可能である。言い換えれば、説明された実施形態は相互に排他的ではなく、1つまたは複数の実施形態の相互の入れ替えは、本開示の範囲内に留まる。
【0267】
要素間(例えば、モジュール間、回路要素間、半導体層間など)の空間的および機能的関係は、「接続され」、「係合され」、「結合され」、「隣接して」、「の隣に」、「の上に」、「上」、「下」、および「配置され」を含む、様々な用語を用いて説明される。第1および第2要素間の関係が、上記開示において説明されているとき、「直接」であると明示的に記載されていない限り、その関係は第1および第2要素間に他の介在要素が存在しない直接的な関係であり得るが、第1および第2要素間に1つまたは複数の介在要素が(空間的または機能的に)存在する間接的な関係でもあり得る。本明細書で使用されるように、A、B、およびCのうちの少なくとも1つとのフレーズは、非排他的論理和を使用する論理(AまたはBまたはC)を意味すると解釈されるべきであり、「Aの少なくとも1つ、Bの少なくとも1つ、およびCの少なくとも1つ」を意味すると解釈されるべきではない。
【0268】
図面において、矢じりで示される矢印の方向は、概して、図にとって重要な情報(データまたは命令など)の流れを示す。例えば、要素Aと要素Bが様々な情報を交換するが、要素Aから要素Bに送信される情報が図に関連する場合、矢印は要素Aから要素Bを指すことがある。この一方向の矢印は、他の情報が要素Bから要素Aに送信されないことを意味しない。さらに、要素Aから要素Bに送信された情報について、要素Bは、要素Aに、情報の要求または情報の受信確認を送信するかもしれない。
【0269】
以下の定義を含む本出願では、用語「モジュール」または用語「コントローラ」は、用語「回路」と置き換えられてもよい。「モジュール」という用語は、特定用途向け集積回路(ASIC)、デジタル,アナログ,またはアナログ/デジタル混合ディスクリート回路、デジタル,アナログ,またはアナログ/デジタル混合集積回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードを実行するプロセッサ回路(共有、専用、またはグループ)、プロセッサ回路によって実行されるコードを記憶するメモリ回路(共有、専用、またはグループ)、説明された機能を提供する他の適切なハードウェアコンポーネント、あるいは、システムオンチップなどにおける上記のいくつかまたはすべての組み合わせ、を指すか、一部であるか、または含むことができる。
【0270】
モジュールは、1つ以上のインターフェース回路を含むことができる。いくつかの例では、インターフェース回路は、ローカルエリアネットワーク(LAN)、インターネット、ワイドエリアネットワーク(WAN)、またはそれらの組み合わせに接続される有線または無線インターフェースを含むことができる。本開示の任意の所与のモジュールの機能は、インターフェース回路を介して接続される複数のモジュール間で分散されてもよい。例えば、複数のモジュールが負荷分散を可能にし得る。さらなる例では、サーバー(リモート、またはクラウドとしても知られる)モジュールは、クライアントモジュールに代わっていくつかの機能を達成してもよい。
【0271】
上記で使用される、コードという用語は、ソフトウェア、ファームウェア、および/またはマイクロコードを含むことができ、プログラム、ルーチン、機能、クラス、データ構造、および/またはオブジェクトを指すことがある。共有プロセッサ回路との用語は、複数のモジュールからのコードの一部または全部を実行する単一のプロセッサ回路を包含する。グループプロセッサ回路との用語は、追加のプロセッサ回路と組み合わせて、1つまたは複数のモジュールからのコードの一部または全部を実行するプロセッサ回路を包含する。複数のプロセッサ回路への言及は、個別のダイ上の複数のプロセッサ回路、単一のダイ上の複数のプロセッサ回路、単一のプロセッサ回路の複数のコア、単一のプロセッサ回路の複数のスレッド、またはこれらの組み合わせを包含する。共有メモリ回路との用語は、複数のモジュールからのコードの一部または全部を格納する単一のメモリ回路を包含する。グループメモリ回路との用語は、追加のメモリと組み合わせて、1つまたは複数のモジュールからのコードの一部または全部を格納するメモリ回路を包含する。
【0272】
メモリ回路との用語は、コンピュータ可読媒体との用語のサブセットである。本明細書で使用されるコンピュータ可読媒体との用語は、(搬送波上などの)媒体を通じて伝播する一時的な電気信号または電磁信号を含まない。したがって、コンピュータ可読媒体との用語は、有形の非一時的なものと見なすことができる。非一時的で有形のコンピュータ可読媒体の非限定的な例は、(フラッシュメモリ回路、消去可能プログラマブル読み出し専用メモリ回路、またはマスク読み出し専用メモリ回路などの)不揮発性メモリ回路、(SRAM回路やDRAM回路などの)揮発性メモリ回路、(アナログまたはデジタル磁気テープまたはハードディスクドライブなどの)磁気記憶媒体、および(CD、DVD、またはブルーレイディスクなどの)光記憶媒体である。
【0273】
本出願に記載されている装置および方法は、コンピュータプログラムで具現化された1つまたは複数の特定の機能を実行するように汎用コンピュータを構成することによって作成された専用コンピュータによって部分的または完全に実施され得る。上記の機能ブロック、フローチャート要素、および上述された他の要素は、ソフトウェアの仕様として役立ち、熟練した技術者またはプログラマーの日常業務によってコンピュータプログラムに変換することができる。
【0274】
コンピュータプログラムは、少なくとも1つの非一時的な有形のコンピュータ可読媒体に格納されるプロセッサ実行可能命令を含む。コンピュータプログラムはまた、格納されたデータを含むかまたはそれに依存することができる。コンピュータプログラムは、専用コンピュータのハードウェアと相互作用する基本入出力システム(BIOS)、専用コンピュータの特定のデバイスと相互作用するデバイスドライバ、1つ以上のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含んでも良い。
【0275】
コンピュータプログラムは、(i)HTML(ハイパーテキストマークアップ言語)、XML(拡張マークアップ言語)、またはJSON(ジャバスクリプトオブジェクトノーテーション)のような解析される記述テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されるオブジェクトコード、(iv)インタプリタによる実行のためのソースコード、(v)ジャストインタイムコンパイラによるコンパイルおよび実行のためのソースコードなどを含むことができる。単なる例として、ソースコードは、C、C++、C#、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(ハイパーテキストマークアップ言語第5改訂版)、Ada、ASP(Active Server Pages)、PHP(ハイパーテキストプリプロセッサ)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、VisualBasic(登録商標)、Lua、MATLAB、SIMULINK、およびPython(登録商標)を含む言語の構文法を使って書くことができる。
【0276】
請求項に記載された要素はいずれも、要素が、「~するための手段」とのフレーズを使用して、または方法クレームの場合、「~するための操作」または「~するためのステップ」とのフレーズを使用して明示的に記載されていない限り、米国特許法第112条(f)の意味の範囲内のミーンズプラスファンクション要素であることを意図していない。