(57)【要約】  デバイス（１０４）を複数の共用車両の内の１台の車両（１００）とペアリングする方法である。この方法は、デバイスからアドバタイズメントメッセージを受信すること、および、アドバタイズメントメッセージを受信したことに応じて、デバイスとペアリングする試みを開始することを含む。この方法はさらに、デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあるかどうかを判定することを含む。デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあることに応じて、方法は、共用車両データベース（１３２）にアクセスし、（ｉ）デバイスのデバイスアドレスと（ｉｉ）車両の車両ＩＤに対応するセキュリティ情報を特定することを含む。方法は、特定されたセキュリティ情報を使用して、デバイスを車両とペアリングするように、車両とデバイスに命令することも含む。【選択図】図１
2021511604.tif 000002
【特許請求の範囲】
【請求項１】
複数の共用車両の内の１台の車両（１００）とデバイス（１０４）をペアリングするための方法であって、
デバイスからアドバタイズメントメッセージを受信すること、および、
アドバタイズメントメッセージを受信したことに応じて、デバイスとペアリングする試みを開始すること、を備え、
ペアリングする試みは、
デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあるかどうかを判定すること、および
デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあることに応じて、
共用車両データベース（１３２）にアクセスし、
（ｉ）デバイスのデバイスアドレスと（ｉｉ）車両の車両ＩＤに対応するセキュリティ情報（２１２）を特定し、
特定されたセキュリティ情報を使用して、デバイスを車両とペアリングするように、車両とデバイスに命令すること、を含む方法。
【請求項２】
デバイスが車両と以前にペアリングされたことがあることに応じて、
セキュリティ情報を検索するために、車両制御モジュール（１１２）のローカル記憶にアクセスすること、および
セキュリティ情報に基づいて、デバイスを車両とペアリングする試みを開始すること、をさらに備える請求項１に記載の方法。
【請求項３】
車両制御モジュールのローカル記憶は、認証モジュール（５０４）に保存される、請求項２に記載の方法。
【請求項４】
セキュリティ情報は、（ｉ）ＰＩＮコード（２１６）、（ｉｉ）リンクキー（２２０）、及び（ｉｉｉ）チャレンジ（２２４）を含む、請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
共用車両データベースは、複数のエントリを含み、各エントリは、異なる車両の車両ＩＤによって示される異なる車両に対応している、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
共用車両データベースの各エントリは、（ｉ）アクセス情報（２０４）、（ｉｉ）デバイスアドレス（２０８）、及び（ｉｉｉ）セキュリティ情報（２１２）を含む、請求項５に記載の方法。
【請求項７】
アクセス情報は、デバイスアドレスがエントリに対応する車両ＩＤへのアクセスを許可されているかどうかを示す、請求項６に記載の方法。
【請求項８】
デバイスを介してアクセス可能なアプリケーションは、管理者がアプリケーションに正しいアクセスコードを入力したことに応じて、各エントリのアクセス情報を更新し、変更する、請求項７に記載の方法。
【請求項９】
アプリケーションは、ヒューマンマシンインターフェース（ＨＭＩ）（４００）を含み、ＨＭＩは、管理者にユーザ選択可能な情報を表示するように構成されたタッチスクリーンである、請求項８に記載の方法。
【請求項１０】
デバイスは複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがないことに応じて、
認証モジュール（５０４）を介して、デバイスにＰＩＮコードを送信すること、
認証モジュールを介して、ＰＩＮコードに基づいてリンクキーを生成すること、
デバイスのデバイスアドレスを受信したことに応じて、認証モジュールを介して、デバイスにチャレンジを送信すること、
（ｉ）リンクキー、（ｉｉ）デバイスアドレス、（ｉｉｉ）チャレンジの少なくとも１つに基づいて、デバイスが信頼できるデバイスであるかどうかを判定すること、
デバイスが信頼できるデバイスであると判定したことに応じて、デバイスと車両とをペアリングすること、および
認証モジュールおよび共用車両データベースに、（ｉ）ＰＩＮコード、（ｉｉ）リンクキー、（ｉｉｉ）デバイスアドレス、および（ｉｖ）チャレンジをセキュリティ情報として保存すること、を含む手動ペアリングを要求することをさらに備える請求項１に記載の方法。
【請求項１１】
デバイス（１０４）を複数の共用車両の内の１台の車両（１００）とペアリングする、車両の車両制御システムであって、
デバイスからアドバタイズメントメッセージを受信するように構成されたデバイス通信モジュール（５０８）と、および
アドバタイズメントメッセージを受信したことに応じて、デバイスとペアリングする試みを開始する車両制御モジュールと、を備え、
車両制御モジュールは、
デバイスが複数の共用車両のうちの少なくとも１台の車両と以前にペアリングされたことがあるかを判定するように構成されたオーバーライドモジュール（５００）を含み、
デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあることに応じて、
車両ネットワーク通信モジュール（５１２）を介して、共用車両データベースにアクセスし、共用車両データベースは複数の共用車両の各々の車両のセキュリティ情報を含み、
認証モジュール（５０４）を介して、（ｉ）デバイスのデバイスアドレスと（ｉｉ）車両の車両ＩＤに対応するセキュリティ情報を特定し、
オーバーライドモジュールと認証モジュールを介して、特定されたセキュリティ情報を使用して、デバイスを車両とペアリングするように、車両とデバイスに命令するシステム。
【請求項１２】
デバイスが車両と以前にペアリングされたことがあることに応じて、
セキュリティ情報を検索するために、車両制御モジュール（１１２）のローカル記憶にアクセスし、および
セキュリティ情報に基づいて、デバイスを車両とペアリングする試みを開始する、請求項１１に記載のシステム。
【請求項１３】
車両制御モジュールのローカル記憶は、認証モジュールに保存される、請求項１２に記載のシステム。
【請求項１４】
セキュリティ情報は、（ｉ）ＰＩＮコード（２１６）、（ｉｉ）リンクキー（２２０）、及び（ｉｉｉ）チャレンジ（２２４）を含む、請求項１１乃至１３のいずれか１項に記載のシステム。
【請求項１５】
共用車両データベースは、複数のエントリを含み、各エントリは、異なる車両の車両ＩＤによって示される異なる車両に対応している、請求項１１乃至１４のいずれか１項に記載のシステム。
【請求項１６】
共用車両データベースの各エントリは、（ｉ）アクセス情報（２０４）、（ｉｉ）デバイスアドレス（２０８）、及び（ｉｉｉ）セキュリティ情報（２１２）を含む、請求項１５に記載のシステム。
【請求項１７】
アクセス情報は、デバイスアドレスがエントリに対応する車両ＩＤへのアクセスを許可されているかどうかを示す、請求項１６に記載のシステム。
【請求項１８】
デバイスを介してアクセス可能なアプリケーションは、管理者がアプリケーションに正しいアクセスコードを入力したことに応じて、各エントリのアクセス情報を更新し、変更する、請求項１７に記載のシステム。
【請求項１９】
アプリケーションは、ヒューマンマシンインターフェース（ＨＭＩ）（４００）を含み、ＨＭＩは、管理者にユーザ選択可能な情報を表示するように構成されたタッチスクリーンである、請求項１８に記載のシステム。
【請求項２０】
デバイスは複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがないことに応じて、認証モジュールは、
認証モジュールを介して、デバイスにＰＩＮコードを送信すること、
認証モジュールを介して、ＰＩＮコードに基づいてリンクキーを生成すること、
デバイスのデバイスアドレスを受信したことに応じて、認証モジュールを介して、デバイスにチャレンジを送信すること、
（ｉ）リンクキー、（ｉｉ）デバイスアドレス、（ｉｉｉ）チャレンジの少なくとも１つに基づいて、デバイスが信頼できるデバイスであるかどうかを判定すること、
デバイスが信頼できるデバイスであると判定したことに応じて、デバイスと車両とをペアリングすること、および
認証モジュールおよび共用車両データベースに、（ｉ）ＰＩＮコード、（ｉｉ）リンクキー、（ｉｉｉ）デバイスアドレス、および（ｉｖ）チャレンジをセキュリティ情報として保存すること、を含む手動ペアリングを要求する請求項１１に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２０１８年３月２７に出願された米国仮出願番号６２／６４８７８６と、２０１９年３月２０日に出願された米国特許出願番号１６／３５８８９５に基づくものである。上記の出願の全ての内容は、参照によって本明細書に組み入れられる。
【技術分野】
【０００２】
本開示は、デバイスと車両の自動ペアリングに関し、より具体的には、ブルートゥース接続などの無線接続を介して共用車両データベースに含まれる車両とデバイスを自動的にペアリングすることに関する。
【背景技術】
【０００３】
従来、スマートフォンなどのブルートゥース対応デバイスは、ブルートゥース機能を備えた車両などの別のブルートゥース対応デバイスとペアリングすることができる。例えば、スマートフォンを車両とペアリングするために、ユーザは、車両によって生成され、車両に表示されるＰＩＮをスマートフォンに入力するように促される。ユーザがスマートフォンにＰＩＮコードを入力すると、スマートフォンはＰＩＮコードに基づいてリンクキーを生成する。次に、スマートフォンは、スマートフォンに割り当てられた固有のデバイスアドレスを車両に送信し、車両はランダムチャレンジをスマートフォンに送信する。車両も、送信された値に基づいてリンクキーを生成する。車両とスマートフォンは、生成されたリンクキー、チャレンジ、およびデバイスアドレスを使用して、デバイスを認証し、ペアリングする。つまり、同じ値のＰＩＮコード、デバイスアドレス、およびチャレンジを使用してリンクキーを生成した場合、スマートフォンと車両によって生成されるリンクキーは一致するはずである。リンクキーが一致すれば、スマートフォンと車両がペアリングされる。
【０００４】
スマートフォンが新しいブルートゥース対応デバイスに遭遇するたびに、ユーザは２つのデバイスを手動でペアリングして、信頼できる接続を作成する必要がある。信頼できる接続が作成されると、以後、スマートフォンが信頼できるデバイスの所定の範囲内にあるときに、スマートフォンは自動的に信頼できるデバイスとペアリングする。
【０００５】
ここで提供される背景技術の説明は、本開示の文脈を一般的に提示するためのものである。この背景技術の欄に記載されている範囲での本発明者の研究、および出願時に先行技術としてみなされない可能性がある説明の側面は、明示的にも黙示的にも本開示に対する先行技術として認容されない
【発明の概要】
【０００６】
デバイスを複数の共用車両の内の１台の車両とペアリングする方法である。この方法は、デバイスからアドバタイズメントメッセージを受信すること、および、アドバタイズメントメッセージを受信したことに応じて、デバイスとペアリングする試みを開始することを含む。この方法はさらに、デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあるかどうかを判定することを含む。デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあることに応じて、方法は、共用車両データベースにアクセスし、（ｉ）デバイスのデバイスアドレスと（ｉｉ）車両の車両ＩＤに対応するセキュリティ情報を特定することを含む。方法は、特定されたセキュリティ情報を使用して、デバイスを車両とペアリングするように、車両とデバイスに命令することも含む。
【０００７】
デバイスを複数の共用車両の内の１台の車両とペアリングする、車両の車両制御システムである。システムは、デバイスからアドバタイズメントメッセージを受信するように構成されたデバイス通信モジュールを含み、アドバタイズメントメッセージを受信したことに応じて、車両制御モジュールが、デバイスとペアリングする試みを開始する。システムは、デバイスが複数の共用車両のうちの少なくとも１台の車両と以前にペアリングされたことがあるかどうかを判定するように構成されたオーバーライドモジュールを含む。デバイスが複数の共用車両の少なくとも１台の車両と以前にペアリングされたことがあることに応じて、システムは、車両ネットワーク通信モジュールを介して、共用車両データベースにアクセスすること、共用車両データベースは複数の共用車両の各々の車両のセキュリティ情報を含み、および、認証モジュールを介して、（ｉ）デバイスのデバイスアドレスと（ｉｉ）車両の車両ＩＤに対応するセキュリティ情報を特定することを含む。システムは、オーバーライドモジュールと認証モジュールを介して、特定されたセキュリティ情報を使用して、デバイスを車両とペアリングするように、車両とデバイスに命令することも含む。
【０００８】
本開示のさらなる適用可能範囲は、詳細な説明、特許請求の範囲、および図面から明らかとなろう。詳細な説明および特定の例は、例示のみを目的とするものであり、本開示の範囲を限定することを意図するものではない。
【図面の簡単な説明】
【０００９】
本開示は、詳細な説明および添付の図面からより完全に理解されるであろう。
【図１】図１は、本開示による、車両における自動ペアリングシステムを示す。
【図２】図２は、本開示による共用車両データベースに含まれるエントリを示す。
【図３】図３は、本開示による自動ペアリングシステムのデバイスのブロック図を示す。
【図４】図４は、本開示による自動ペアリングシステムのデバイスのアプリケーションソフトウェアのブロック図を示す。
【図５】図５は、本開示による自動ペアリングシステムの車両制御モジュールのブロック図を示す。
【図６】図６は、本開示による自動ペアリングシステムのデバイスのフローチャートを示す。
【図７】図７は、本開示による自動ペアリングシステムの車両制御モジュールのフローチャートを示す。
【００１０】
図面において、参照番号は、類似および／または同一の要素を特定するために再使用される場合がある。
【発明を実施するための形態】
【００１１】
次に、添付の図面を参照して、例示的な実施形態をより詳しく説明する。
【００１２】
本開示は、共用車両に渡って、２つのペアリングされたデバイス間の信頼できる接続を模倣することに関する。具体的には、共用車両は、デバイスがアクセスを許可されている車両のグループである。例えばブルートゥース接続を介してデバイスが共用車両のグループに含まれる車両の１台とペアリングされると、デバイスは、当該デバイスが車両の所定の範囲内にある限り、その車両および共用車両のグループに含まれる任意の車両と自動的にペアリングされる。ペアリングされると、ブルートゥース接続は、パッシブエントリ／パッシブスタートシステム（ＰＥＰＳ）を操作する方法を提供し、並びにブルートゥース接続の従来の利点を提供する。例えば、ユーザは、車両を介してハンズフリー通話を操作したり、車両を介してデバイス上の連絡先にアクセスしたり、車両のサウンドシステム上でデバイスからオーディオファイルをストリーミングしたりするために、車両内でブルートゥース接続が望ましいと感じるかもしれない。本開示は、スマートフォンなどの携帯デバイスと車両との間にブルートゥース接続を確立することを説明するが、他の無線接続およびプロトコルが使用されてもよい。例えば、Ｗｉ−ＦｉまたはＷｉ−Ｆｉダイレクト、超広帯域（ＵＷＢ）、および／またはインパルス無線（ＩＲ）ＵＷＢ通信を使用して無線接続が確立され得る。
【００１３】
図１を参照すると、本開示による車両１００の自動ペアリングシステムが示されている。デバイス１０４は、ブルートゥース接続１０８を介して車両１００の車両制御モジュール１１２に接続される。デバイス１０４は、スマートフォン、スマートウォッチ、ウェアラブル電子デバイス、キーフォブ、タブレットデバイス、または車両１００の所有者、運転者、乗員、および／または車両１００の整備士のような車両１００のユーザに関連付けられた他のデバイスなどの任意のブルートゥース対応通信デバイスであってもよい。上述したように、ブルートゥース接続１０８は、ブルートゥースローエナジー（ＢＬＥ）接続であってもよい。あるいは、ブルートゥース接続１０８の代わりに、Ｗｉ−Ｆｉ、Ｗｉ−Ｆｉダイレクト、ＵＷＢ、および／またはＩＲＵＷＢ接続が使用されてもよい。
【００１４】
デバイス１０４および車両１００は、それぞれ、第１のＷｉＦｉ接続１２０および第２のＷｉＦｉ接続１２４を介してネットワーク１１６に接続する。車両１００はさらに、まとめて１２８と呼ばれる複数のセンサ１２８−１、１２８−２、１２８−３、１２８−４、１２８−５、および１２８−６を含む。図１は、６個のセンサ１２８−１〜１２８−６を備えた自動ペアリングシステムを示しているが、任意の数のセンサが使用され得る。例えば、自動ペアリングシステムは、７個、８個、９個、１０個、１１個、１２個、またはそれ以上のセンサを含むことができる。このように、本開示は６個のセンサを利用する例を提供するが、本開示に従って追加のまたはより少ないセンサを使用することができる。
【００１５】
センサ１２８のそれぞれは、アンテナに接続されたブルートゥースローエナジー（ＢＬＥ）チップセットを含む。アンテナは、センサ１２８の内部に配置されてもよい。あるいは、アンテナは、センサ１２８の外部に配置されてもよい。センサ１２８は、アンテナを使用してＢＬＥ信号を受信し、具体的には、ＢＬＥ物理層コントローラ６００を使用してＢＬＥ物理層メッセージを受信する。センサ３１は、チャネルマップ復元モジュールによって生成されるチャネルマップを使用して、ＢＬＥ物理層メッセージを観察し、例えば、受信信号強度を含む関連信号の物理的特性の測定を行い、受信信号強度指標（ＲＳＳＩ）を決定することができる。追加的または代替的に、センサ１２８は、例えば、到着角に関するデータを含む、関連信号の物理的特性の他の測定値を決定することができる。追加的または代替的に、センサ１２８は、互いに通信して、および／または、車両インターフェースを介して車両制御モジュール１１２と通信して、複数のセンサによって受信された信号の到着時間差、到着時間、または到着角度データを決定することができる。追加的または代替的に、センサ１２８は、デバイス１０４との間で送受信される信号に関する往復飛行時間情報を測定し、決定することができる。ＲＳＳＩ、到着角度情報、到着時間差、往復飛行時間情報などのような、デバイス１０４とセンサ１２８との間で送信される通信信号に関する、測定および決定された情報に基づいて、車両制御モジュール１１２は、車両１００へのアクセス、車両１００のドアのアンロック、車両１００のトランクの開扉を許可するかを判定する目的で、車両１００に対するデバイス１０４の位置を決定することができる。
【００１６】
いくつかの実施形態では、車両制御モジュール１１２は、ブルートゥース接続１０８を介してデバイス１０４とペアリングする。例えば、デバイス１０４と車両制御モジュール１１２は、信頼関係を確立するためにペアリングプロセスを行う。ペアリングプロセスは、ブルートゥースの仕様で説明されているブルートゥースペアリング、デバイス１０４と車両１００のインターフェースを使用して、車両制御モジュール１１２とデバイス１０４との間で追加のセキュリティ情報が交換されるペアリング、デバイスアドレス、デバイスＩＤ解決キー、予約ＩＤ、および暗号化キーがクラウドインフラストラクチャを介して交換されるペアリング、および／または、車両を使用するための証明書が車両に提示され、その証明書は車両の所有者のデバイス、および／または、車両メーカ又は信頼できるサードパーティなどの信頼できるセキュリティ署名機関によって署名されるペアリングを含むことができる。証明書の場合、証明書は、使用事例における制限（ジオフェンシング、バレットモードの制限など）、有効期間、運転のパフォーマンスや行動について所有者に報告する必要があるかどうかなどを含むことができる。
【００１７】
述べられたように、車両制御モジュール１１２は、第２のＷｉＦｉ接続１２４を介してネットワーク１１６に接続する。さらに、デバイス１０４は、第１のＷｉＦｉ接続１２０を介してネットワーク１１６と接続する。デバイス１０４と車両制御モジュール１１２の両方がネットワーク１１６と接続し、クラウドインフラストラクチャを使用してセキュリティ情報を交換する。後に説明されるように、それぞれのデバイスのセキュリティ情報は、以前にペアリングされたデバイスと共用車両との間で自動ペアリングプロセスを確立するために、共用車両のためのネットワーク１１６においてアクセス可能である。
【００１８】
ネットワーク１１６は、共用車両データベース１３２とも通信する。共用車両データベース１３２は、共用車両に関する情報を含む。共用車両は、ファミリーネットワーク、レンタル会社ネットワーク、配送会社ネットワークなどで指定されてもよい。共用車両データベース１３２は、特定のデバイスに対するアクセス許可を含む。すなわち、共用車両データベース１３２の各共用車両は、どのデバイスが共用車両へのアクセスを許可されるかを示すデータを含む。このようにして、共用車両データベースの管理者は、特定の共用車両に対するアクセス許可を認めるか、または無効にすることができる。例えば、デバイス１０４は、管理者が特定の車両へのアクセスを認可および／または無効とすることができるアプリケーションをダウンロードすることができる。
【００１９】
たとえば、レンタル会社の場合、管理者は特定のデバイスに特定の共用車両へのアクセスを特定の時間枠で許可することができる。アクセスは、特定の時間枠が満了したか、日付が経過した後に期限切れになるように設定され得る。共用車両データベース１３２は、デバイスアドレスによって示される特定のデバイスが特定の共用車両へのアクセスを許可されることを適切な期間にわたって示す。特定の共用車両が車両１００であり、特定のデバイスがデバイス１０４である場合、車両制御モジュール１１２は、ネットワーク１１６を介して共用車両データベース１３２にアクセスすることができ、デバイス１０４が定められた期間だけ所定の車両１００にアクセスすることを許可することができる。
【００２０】
デバイス１０４と車両１００を自動的にペアリングすることで、ユーザは車両１００のパッシブエントリ／パッシブスタート（ＰＥＰＳ）システムを操作すること、並びに、ブルートゥースペアリングのすべての利点を利用することが可能になる。例えば、デバイス１０４と車両１００がブルートゥース接続１０８を介してペアリングされると、ユーザは車両１００を介してハンズフリー通話を操作し、デバイス１０４の連絡先にアクセスし、デバイス１０４からオーディオファイルをストリーミングすることができる。
【００２１】
一実施形態では、デバイス１０４と車両１００をペアリングするために、デバイス１０４は、（図３の車両通信モジュールに含まれる）アンテナを介して、ＢＬＥ信号、例えば、アドバタイズメントメッセージをアドバタイズする。デバイス１０４が車両１００の所定の範囲内に入ると、車両１００のセンサ１２８に含まれるアンテナ（および車両制御モジュール１１２に含まれるアンテナ）は、アドバタイズメントメッセージを受信し、ディスカバリメッセージを送信する。デバイス１０４は、デバイスアドレスなどのデバイス情報の要求とともにディスカバリメッセージを受信することができる。あるいは、車両１００は、アドバタイズメントメッセージ内のデバイス情報を受信してもよい。
【００２２】
デバイスアドレスの受信に応じて、車両制御モジュール１１２は、チャレンジレスポンススキームを使用してデバイス１０４を認証することができる。車両制御モジュール１１２は、共用車両データベース１３２に含まれるデータに基づいて、デバイス１０４が車両１００へのアクセスを許可されているかどうかを判定することができる。さらに、後述するように、デバイス１０４が以前に車両１００とペアリングされたことがある（かつ、ペアリングが意図的に断たれていない）場合、車両制御モジュール１１２とデバイス１０４は、以前にデバイス１０４と車両１００をペアリングするために使用されたのと同じセキュリティ情報を使用することができる。加えて、デバイス１０４が車両１００または共用車両データベース１３２に含まれる任意の他の車両とペアリングされると、車両制御モジュール１１２は、セキュリティ情報を共用車両データベース１３２に送信して、共用車両をデバイス１０４にペアリングする将来の使用のためにセキュリティ情報を記憶する。
【００２３】
セキュリティ情報は、ＰＩＮコード、リンクキー、および／またはデバイス１０４の対応するデバイスアドレスおよび車両１００の対応する車両ＩＤに使用されるチャレンジを含むことができる。このように、セキュリティ情報は、ユーザがデバイス１０４を手動でペアリングする必要なしに、デバイス１０４と自動的にペアリングするために、共用車両データベース１３２内の別の車両によって使用され得る。すなわち、別の車両は、デバイス１０４が最初にペアリングされた車両１００を模倣することができる。ＰＥＰＳシステムとブルートゥースペアリングに関する付加的な考察は、２０１７年１０月１１に出願された米国特許出願番号１５／７３０２６５に含まれており、その出願は参照により本明細書に組み込まれる。
【００２４】
図２を参照すると、本開示による共用車両データベース１３２に含まれるエントリ２００が示されている。共用車両データベース１３２の各エントリ２００は、それぞれの共用車両の車両ＩＤに対応する。さらに、各エントリ２００は、アクセス情報２０４、デバイスアドレス２０８、およびセキュリティ情報２１２を含む。セキュリティ情報２１２は、オプションとして、ＰＩＮコード２１６、リンクキー２２０、およびチャレンジ２２４を含んでもよい。アクセス情報２０４は、デバイスアドレス２０８が、エントリ２００に対応する車両、例えば図１の車両１００へのアクセスを現在許可されているかどうかを示す。説明したように、アクセス情報２０４は、図４のアプリケーションソフトウェア３００によってさらに示されるように、アプリケーションを通じて調整されてもよい。ＰＩＮコード２１６、リンクキー２２０、およびチャレンジ２２４は、デバイスアドレス２０８に対応するデバイス、例えば、図１のデバイス１０４と、共用車両データベース内の任意の車両、例えば、共用車両データベース１３２におけるエントリの１つに対応する任意の車両との間の以前のペアリングの結果として記憶される。
【００２５】
図１の車両制御モジュール１１２は、共用車両データベース１３２にアクセスし、（図５に含まれる）認証モジュールに、デバイス１０４がペアリングを試みているそれぞれの車両に対応する、共用車両データベース１３２のエントリ２００内のセキュリティ情報２１２を使用して、デバイス１０４を認証することを命令するかどうかを決定することができる。図１のデバイス１０４は、デバイス１０４またはアプリケーションをダウンロードした任意の他のデバイスでのアプリケーションを通じて受信されたアクセス許可に基づいて、共用車両データベース１３２を更新することができる。アプリケーションは、さらに、デバイス１０４が共用車両データベース１３２のエントリ２００に対応する車両と最初にペアリングされるときに、共用車両データベース１３２のエントリを更新することができる。すなわち、アプリケーション（および車両制御モジュール１１２）は、デバイス１０４のアクセス許可、並びに、手動ペアリングイベント中に生成されたセキュリティ情報２１２を更新することができる。さらに、管理者は、共用車両データベース１３２に追加される新しい車両のためのアプリケーションを通じて新しいエントリを作成することができる。
【００２６】
図３を参照すると、本開示による自動ペアリングシステムのデバイス１０４のブロック図が示されている。デバイス１０４は、記憶モジュール３０４内のアプリケーションソフトウェア３００、車両通信モジュール３０８、および、デバイスネットワーク通信モジュール３１２を含み得る。
【００２７】
車両通信モジュール３０８は、アンテナに接続されたＢＬＥチップセットを含むことができる。記憶モジュール３０４は、コンピュータ可読記憶モジュールまたはデバイスであり得る。デバイス１０４は、オプションとして、ＧＰＳモジュールまたは他のデバイスロケーションサービスを含むこともできる。車両通信モジュール３０８は、車両１００の車両制御モジュール１１２がデバイス１０４のアプリケーションソフトウェア３００と通信することを可能にする。
【００２８】
ユーザがデバイス１０４を車両１００とペアリングすることを望み、デバイス１０４が車両１００または共用車両データベース１３２内の任意の他の共用車両とペアリングされたことがない場合、ユーザは手動で車両１００とデバイス１０４をペアリングするように指示される。デバイス１０４が車両１００に手動でペアリングされると、デバイス１０４と車両１００は、２つのデバイスをペアリングするために使用されたセキュリティ情報２１２をローカルに記憶することができ、それは将来のペアリングを自動化する。さらに、車両１００が共用車両データベース１３２内の車両としてリストに載っている場合、デバイス１０４のアプリケーションソフトウェア３００は、対応するセキュリティ情報２１２を共用車両データベース１３２に保存することができる。例えば、デバイス１０４は、車両ＩＤに対応する、共用車両データベース１３２の（図２に示される）エントリ２００に含まれ得る、ＰＩＮコード２１６、リンクキー２２０、およびチャレンジ２２４に基づいて車両の１台とペアリングされる。エントリ２００は、それぞれのデバイスアドレスも含む。このようにして、デバイス１０４が共用車両データベース１３２に含まれる第２の車両とペアリングしようとし、共用車両データベースがデバイス１０４は第２の車両へのアクセスを許可されていることを示すとき、アプリケーションソフトウェア３００は車両１００（より具体的には、車両制御モジュール１１２）に、第２の車両とデバイス１０４とをペアリングするために共用車両データベース１３２内に含まれるセキュリティ情報２１２を使用するように指示することができる。
【００２９】
デバイス１０４が以前に車両１００と手動でペアリングされている場合、デバイス１０４は自動的にペアリングする。上述のように、デバイス１０４が車両１００の所定の範囲内に入ると、デバイス１０４によって送信されるアドバタイズメントメッセージに応じて、デバイス１０４は、車両１００と自動的にペアリングする。最初に接続されると、車両制御モジュール１１２は、共用車両データベース１３２に従って、デバイス１０４が車両１００へのアクセスを許可されているかどうかを判定する。次に、車両１００とデバイス１０４は、車両１００とデバイス１０４をペアリングするために、ローカルに記憶されたセキュリティ情報２１２にアクセスする。セキュリティ情報２１２は、デバイス１０４が以前に手動で車両１００とペアリングされた場合、車両１００およびデバイス１０４にローカルに記憶されている。
【００３０】
あるいは、デバイス１０４が手動で車両１００とペアリングされたことはないが、デバイス１０４が共用車両データベース１３２に含まれる車両の少なくとも１台とペアリングされたことがある場合、車両１００とデバイス１０４は、上述したように、２つのデバイスをペアリングするために、共用車両データベース１３２内のセキュリティ情報２１２にアクセスすることができる。つまり、車両１００が、デバイス１０４のデバイスアドレス２０８、アクセス情報２０４に応じた必要なアクセス許可、および共用車両データベース１３２内の（デバイス１０４が共用車両データベース１３２内の１台の車両と以前にペアリングされたことを示す）セキュリティ情報２１２を含むエントリ２００と一致する場合、（図５に示される）認証モジュールは、記憶されたセキュリティ情報２１２に基づいてデバイス１０４と車両１００をペアリングすることができる。
【００３１】
図４を参照すると、本開示による自動ペアリングシステムのデバイス１０４におけるアプリケーションソフトウェア３００のブロック図が示されている。アプリケーションソフトウェア３００は、ヒューマンマシンインターフェース（ＨＭＩ）４００、アクセス許可モジュール４０４、比較およびアップロードモジュール４０８、およびセキュリティ情報モジュール４１２を含むことができる。ＨＭＩ４００は、ユーザが情報を入力できるデバイス１０４上のディスプレイであってもよく、例えば、ＨＭＩ４００は、タッチスクリーン、プッシュボタン、またはユーザがデバイス１０４を介して情報を入力するための別のシステムであってもよい。
【００３２】
アクセス許可モジュール４０４は、デバイス１０４が共用車両データベース１３２によって車両１００へのアクセスを許可されているかどうかを判定する。例えば、アプリケーションソフトウェア３００は、共用車両データベース１３２に含まれる車両へのアクセスを制御するため、並びに、どの車両が含まれるかを管理するために、使用されてもよい。具体的には、管理者は、ＨＭＩ４００を使用し、アプリケーションソフトウェア３００を通じて、共用車両データベース１３２に車両を追加または削除してもよい。アプリケーションソフトウェア３００は、管理者が車両へのアクセスを委任できるアドミニストレータ部分を含んでもよい。アプリケーションソフトウェア３００は、共用車両データベース１３２へのアクセスを管理することを可能にするために認証コードを必要とする場合がある。例えば、アクセス許可モジュール４０４は、（デバイスネットワーク通信モジュール３１２を通じて）共用車両データベース１３２に従う現在のアクセス（例えば、許可、無効、または無許可）を検索することができる。次いで、管理者、または必要な認証コードを持つ個人は、ＨＭＩ４００を通じて特定の車両を選択し、現在のアクセスを確認して、特定の車両に対する現在のアクセスを変更することができる。あるいは、管理者は特定の車両に対する現在のアクセスを変更しなくてもよい。
【００３３】
比較およびアップロードモジュール４０８は、ＨＭＩ４００を介して車両１００に対する現在のアクセスへの変更をアップロードするとともに、共用車両データベース１３２内の車両の１台と新しいデバイスとの間のペアリングに使用されるセキュリティ情報２１２をアップロードする。新しいデバイスと車両１００のペアリングは、車両通信モジュール３０８を介して行われる。
【００３４】
上述したように、ブルートゥース接続を使用して新しいデバイスを車両１００とペアリングするためには、デバイスアドレス２０８と車両ＩＤ情報だけでなく、ＰＩＮコード２１６、リンクキー２２０、チャレンジ２２４などのセキュリティ情報２１２の転送が必要となることがある。別の車両におけるペアリングを模倣するために、比較およびアップロードモジュール４０８は、デバイスネットワーク通信モジュール３１２およびネットワーク１１６を介して、すべてのセキュリティ情報２１２を共用車両データベース１３２に保存する。そして、新しいデバイスが共用車両データベース１３２に含まれる別の車両に遭遇し、別の車両へのアクセスが許可されたとき、セキュリティ情報モジュール４１２と車両制御モジュール１１２は、保存されたセキュリティ情報２１２を検索して、模倣された信頼できる新しいデバイスとの接続を生成し、ユーザが新しいデバイスを手動でペアリングすることを必要とせずに、別の車両と通じて、ブルートゥースペアリングのすべての利点と機能を提供する。
【００３５】
セキュリティ情報モジュール４１２は、デバイス１０４が特定の車両とペアリングされたときに、セキュリティ情報２１２をローカルに記憶する。任意の車両とペアリングするために、セキュリティ情報モジュール４１２は、ローカルに記憶されたか、または共用車両データベース１３２から検索された、関連するセキュリティ情報２１２を送信する。
【００３６】
図５を参照すると、本開示による自動ペアリングシステムの車両制御モジュール１１２のブロック図が示されている。車両制御モジュール１１２は、オーバーライドモジュール５００、認証モジュール５０４、デバイス通信モジュール５０８、および車両ネットワーク通信モジュール５１２を含むことができる。デバイス通信モジュール５０８は、ブルートゥースチップセット５１６およびアンテナ５２０を含む。デバイス通信モジュール５０８は、ブルートゥース接続１０８を介してデバイス１０４と接続する。
【００３７】
オーバーライドモジュール５００は、デバイス１０４からデバイスアドレスを受信し、デバイス１０４が以前に車両１００とペアリングされたことがあるかを判定する。デバイス１０４が以前に車両１００とペアリングされたことがある場合、認証モジュール５０４は、共用車両データベース１３２がデバイス１０４は車両１００へのアクセスを許可されていることを示しさえすれば、ローカルに記憶されたセキュリティ情報２１２を使用する。あるいは、セキュリティ情報２１２は、共用車両データベース１３２からアクセスされてもよく、認証モジュール５０４も、それを、２つのデバイスをペアリングするために使用することができる。
【００３８】
車両１００が以前にデバイス１０４とペアリングされたことがない場合、オーバーライドモジュール５００は、共用車両データベース１３２の関連エントリ２００（すなわち、エントリ２００に対応する車両ＩＤ）を特定し、デバイスアドレス２０８が車両１００へのアクセスを有しているかどうかを判定する。さらに、オーバーライドモジュール５００は、エントリ２００に保存されたセキュリティ情報２１２を識別する。適切なセキュリティ情報２１２が共用車両データベース１３２にアップロードされている場合、オーバーライドモジュール５００は、保存されたセキュリティ情報２１２を使用してデバイス１０４とペアリングするように認証モジュール５０４に指示する。すなわち、デバイス１０４を手動でペアリングする代わりに、認証モジュール５０４は、保存されたＰＩＮコード２１６、リンクキー２２０、および／またはチャレンジ２２４を使用してデバイス１０４を認証するように指示される。別の実施形態では、記憶されたセキュリティ情報２１２は、以前にペアリングされたインジケータを含むことができ、認証をバイパスして、デバイス１０４を車両１００とペアリングするように指示する。
【００３９】
いくつかの実施形態では、認証モジュール５０４は、デバイス１０４が手動で車両１００とペアリングされたときにセキュリティ情報２１２を記憶する。セキュリティ情報２１２を認証モジュール５０４にローカルに保存すると、デバイス１０４は、今後、車両１００と容易にペアリングすることができ、手動のペアリングまたは共用車両データベース１３２へのアクセスの必要性を防ぐことができる。あるいは、セキュリティ情報２１２は、常に共用車両データベース１３２に記憶されてもよい。つまり、共用車両データベース１３２は、デバイス１０４が共用車両データベース１３２内の少なくとも１台の車両と以前にペアリングされたことがありさえすれば、デバイス１０４を車両１００とペアリングするために常に使用されてもよい。
【００４０】
図６を参照すると、本開示による自動ペアリングシステムのデバイス１０４用のフローチャートが示されている。制御は、デバイス１０４がＢＬＥ信号をアドバタイズする６０４で始まる。デバイス１０４がブルートゥース対応車両、例えば車両１００の所定の範囲内にある場合、デバイス１０４は車両１００からディスカバリメッセージを受信することができる。制御は、車両ＩＤが決定される６０８に続く。車両ＩＤは、ディスカバリメッセージに含まれるか、または別個に要求され、デバイス１０４で受信されてもよい。車両ＩＤを決定した後、共用車両データベース１３２に従って車両１００へのデバイス１０４のアクセス許可を判定する６１２に続く。すなわち、前述したように、アクセス許可モジュール４０４が、共用車両データベース１３２内の車両ＩＤに対応するエントリ２００に基づいて、デバイス１０４が車両１００へのアクセスを許可されているかどうかを判定する。
【００４１】
６１６で、デバイスが車両１００へのアクセスを許可されている場合、制御は６２０に続き、そうでない場合、制御は終了する。必要に応じて、ＨＭＩ４００およびアプリケーションソフトウェア３００を介して、必要なアクセスコードを持っている場合、ユーザはデバイス１０４のアクセスを許可してもよい。すなわち、制御終了の代わりに、車両１００へのアクセスを得るために、デバイス１０４は、必要なアクセスコードを入力するようにユーザを促すことができる。そして、ユーザが正しい認証コードを入力した場合、制御は、共用車両データベース１３２がデバイス１０４を車両１００とペアリングするのに十分なセキュリティ情報２１２を含むかどうかの判定を継続することができる。
【００４２】
６２０で、デバイス１０４が車両１００へのアクセスを許可されていると制御が判定すると、比較およびアップロードモジュール４０８は、車両１００の車両ＩＤを共用車両データベース１３２に含まれるエントリと比較する。６２４で、比較およびアップロードモジュール４０８は、デバイス１０４が以前に車両１００とペアリングされたことがあるかどうかを判定する。デバイス１０４が以前に車両１００とペアリングされたことがある場合、比較およびアップロードモジュール４０８は、６２８でローカルに記憶されたセキュリティ情報２１２を使用して車両１００とペアリングするようにセキュリティ情報モジュール４１２に命令し、制御は終了する。
【００４３】
６２４で、デバイス１０４は以前に車両１００とペアリングされたことはない場合、制御は６３２に続き、比較およびアップロードモジュール４０８は、デバイス１０４が共用車両データベース１３２に含まれる車両と以前にペアリングされたことがあるかどうかを判定する。デバイス１０４が共用車両データベース１３２内の車両と以前にペアリングされたことがある場合、制御は６３４に続く。６３４では、比較およびアップロードモジュール４０８が、共用車両データベース１３２にアクセスし、車両ＩＤおよびデバイスアドレスに対応するセキュリティ情報２１２を使用して、デバイス１０４を車両１００とペアリングするように、セキュリティ情報モジュール４１２に指示を送信する。セキュリティ情報モジュール４１２が適切なセキュリティ情報２１２を使用するように命令された後、制御は終了する。
【００４４】
６３２において、デバイス１０４が共用車両データベース１３２に含まれるいずれの車両ともペアリングされたことがない場合、制御は６３８に続き、ＨＭＩ４００を介して、デバイス１０４を車両１００と手動でペアリングするようにユーザに促す。６４２で、デバイスがペアリングされると、セキュリティ情報モジュール４１２はセキュリティ情報２１２をローカルに保存し、そして、セキュリティ情報２１２は、６４６にて、比較およびアップロードモジュール４０８を介してデバイス１０４のそれぞれのデバイスアドレスとともに共用車両データベース１３２に保存される。セキュリティ情報２１２が６４６で保存された後、またはデバイス１０４が６４２でペアリングに失敗した場合、制御は終了する。
【００４５】
図７を参照すると、本開示による自動ペアリングシステムの車両制御モジュール１１２用のフローチャートが示されている。制御は、アンテナ５２０および／またはセンサ１２８がＢＬＥ信号をスキャンする７０４で始まる。７０８で、アンテナ５２０および／またはセンサ１２８がデバイス１０４からアドバタイズメントメッセージを受信すると、デバイス通信モジュール５０８はディスカバリメッセージを送信する。制御は７１２に続き、オーバーライドモジュール５００が、車両ＩＤを共用車両データベース１３２のエントリと比較する。オーバーライドモジュール５００は、７１６で、デバイス１０４が以前に車両１００とペアリングされたことがあるかどうかを判定する。すなわち、デバイスアドレス２０８を含む車両ＩＤに対応するエントリ２００が存在する場合、車両１００は以前にデバイス１０４とペアリングされたことがある。あるいは、オーバーライドモジュール５００は、認証モジュール５０４に含まれるローカルに保存されたセキュリティ情報２１２に基づいて、車両１００が以前にデバイス１０４とペアリングされたことがあるかどうかを判定してもよい。つまり、車両１００が以前にデバイス１０４とペアリングされたことがある場合、認証モジュール５０４は、将来的に車両１００をデバイス１０４とペアリングするためのセキュリティ情報２１２を保存する。
【００４６】
７１６で、デバイス１０４が以前に車両１００とペアリングされたことがある場合、制御は７２０に続き、ローカルに保存されたセキュリティ情報２１２を使用してデバイス１０４を車両１００とペアリングする。すなわち、認証モジュール５０４に保存されたセキュリティ情報２１２が、デバイス１０４を車両１００とペアリングするために使用される。デバイス１０４がペアリングされた後、制御は終了する。
【００４７】
７１６で、デバイス１０４が車両１００と以前にペアリングされたことはないと判定された場合、制御は７２４に続き、オーバーライドモジュール５００は、デバイス１０４が共用車両データベース１３２に含まれる車両と以前にペアリングされたことがあるかどうかを判定する。デバイス１０４が共用車両データベース１３２内のいかなる車両ともペアリングされたことがない場合、制御は７２８に続き、認証モジュール５０４はデバイス１０４と車両との手動ペアリングを要求する。制御は７３０に続き、オーバーライドモジュール５００は、それぞれのセキュリティ情報２１２をローカルに保存し、および、対応するエントリ２００に含めるために、それぞれのセキュリティ情報２１２を共用車両データベース１３２に送信するように、認証モジュール５０４に命じる。その後、制御は終了する。
【００４８】
７２４が真である場合、制御は７３２に続き、オーバーライドモジュール５００は、共用車両データベース１３２からセキュリティ情報２１２を検索する。７３６で、オーバーライドモジュール５００は、認証モジュール５０４をオーバーライドして、共用車両データベース１３２に保存されたセキュリティ情報２１２を使用するように認証モジュール５０４に命じる。制御は７４０に続き、デバイス１０４は、共用車両データベース１３２内のセキュリティ情報２１２に基づいて車両１００とペアリングされる。制御は７３０に続き、それぞれのセキュリティ情報２１２をローカルにおよび共用車両データベース１３２に保存する。その後、制御は終了する。
【００４９】
前述の説明は、本質的に単なる例示にすぎず、本開示、その適用、または使用を限定することを決して意図するものではない。本開示の広範な教示は様々な形態で実施することができる。したがって、本開示は特定の例を含むが、図面、明細書、および添付の特許請求の範囲を検討すれば他の変更態様が明らかになるので、本開示の真の範囲はそのように限定されるべきではない。本開示の原理を変更することなく、方法内の１つまたは複数のステップが異なる順序で（または同時に）実行されてもよいことを理解されたい。さらに、各々の実施形態は特定の特徴を有するものとして上記に説明されているが、本開示の任意の実施形態に関して説明されたこれらの特徴のうちの任意の１つまたは複数は、任意の他の実施形態に実装されることが可能であり、および／または、組み合わせが明示的に説明されていなくとも、任意の他の実施形態の特徴と組み合わせることが可能である。言い換えれば、説明された実施形態は相互に排他的ではなく、１つまたは複数の実施形態の相互の入れ替えは、本開示の範囲内にとどまる。
【００５０】
要素間（例えば、モジュール間、回路要素間、半導体層間など）の空間的および機能的関係は、「接続され」、「係合され」、「結合され」、「隣接して」、「の隣に」、「の上に」、「上」、「下」、および「配置され」を含む、様々な用語を用いて説明される。第１および第２要素間の関係が、上記開示において説明されているとき、「直接」であると明示的に記載されていない限り、その関係は第１および第２要素間に他の介在要素が存在しない直接的な関係であり得るが、第１および第２要素間に１つまたは複数の介在要素が（空間的または機能的に）存在する間接的な関係でもあり得る。明細書で使用されるように、Ａ、Ｂ、およびＣのうちの少なくとも１つとのフレーズは、非排他的論理和を使用する、論理（ＡまたはＢまたはＣ）を意味すると解釈されるべきであり、「Ａの少なくとも１つ、Ｂの少なくとも１つ、およびＣの少なくとも１つ」を意味すると解釈されるべきではない。
【００５１】
図面において、矢じりで示される、矢印の方向は、概して、説明にとって重要な情報（データまたは命令など）の流れを示す。例えば、要素Ａと要素Ｂが様々な情報を交換するが、要素Ａから要素Ｂに送信される情報が説明に関連する場合、矢印は要素Ａから要素Ｂを指すことがある。この一方向の矢印は、他の情報が要素Ｂから要素Ａに送信されないことを意味しない。さらに、要素Ａから要素Ｂに送信される情報に対して、要素Ｂは、要素Ａに、情報の要求または情報の受信確認を送信するかもしれない。
【００５２】
以下の定義を含む本出願では、用語「モジュール」または用語「コントローラ」は、用語「回路」と置き換えられてもよい。「モジュール」という用語は、特定用途向け集積回路（ＡＳＩＣ）、デジタル，アナログ，またはアナログ／デジタル混合ディスクリート回路、デジタル，アナログ，またはアナログ／デジタル混合集積回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コードを実行するプロセッサ回路（共有、専用、またはグループ）、プロセッサ回路によって実行されるコードを記憶するメモリ回路（共有、専用、またはグループ）、説明された機能を提供する他の適切なハードウェアコンポーネント、あるいは、システムオンチップなどにおける上記のいくつかまたはすべての組み合わせ、を指すか、一部であるか、または含むことができる。
【００５３】
モジュールは、１つ以上のインターフェース回路を含むことができる。いくつかの例では、インターフェース回路は、ローカルエリアネットワーク（ＬＡＮ）、インターネット、ワイドエリアネットワーク（ＷＡＮ）、またはそれらの組み合わせに接続される有線または無線インターフェースを含むことができる。本開示の任意の所与のモジュールの機能は、インターフェース回路を介して接続される複数のモジュール間で分散されてもよい。例えば、複数のモジュールが負荷分散を可能にし得る。さらなる例では、サーバ（リモート、またはクラウドとしても知られる）モジュールは、クライアントモジュールに代わっていくつかの機能を達成してもよい。
【００５４】
モジュールの一部またはすべてのハードウェア機能は、ハードウェア記述のための言語、例えば、ＩＥＥＥ規格１３６４−２００５（一般に「Ｖｅｒｉｌｏｇ」と呼ばれる）およびＩＥＥＥ規格１０７６−２００８（一般に「ＶＨＤＬ」と呼ばれる）を使用して定義されてもよい。ハードウェア記述言語は、ハードウェア回路を製造および／またはプログラムするために使用されてもよい。いくつかの実施形態では、モジュールの一部またはすべての機能は、以下に説明するコードと、ハードウェア記述との両方を包含する言語、例えばＩＥＥＥ１６６６−２００５（一般的に「ＳｙｓｔｅｍＣ」と呼ばれる）によって定義されてもよい。
【００５５】
上記で使用される、コードという用語は、ソフトウェア、ファームウェア、および／またはマイクロコードを含むことができ、プログラム、ルーチン、機能、クラス、データ構造、および／またはオブジェクトを指すことがある。共有プロセッサ回路との用語は、複数のモジュールからのコードの一部または全部を実行する単一のプロセッサ回路を包含する。グループプロセッサ回路との用語は、追加のプロセッサ回路と組み合わせて、１つまたは複数のモジュールからのコードの一部または全部を実行するプロセッサ回路を包含する。複数のプロセッサ回路への言及は、個別のダイ上の複数のプロセッサ回路、単一のダイ上の複数のプロセッサ回路、単一のプロセッサ回路の複数のコア、単一のプロセッサ回路の複数のスレッド、またはこれらの組み合わせを包含する。共有メモリ回路との用語は、複数のモジュールからのコードの一部または全部を保存する単一のメモリ回路を包含する。グループメモリ回路との用語は、追加のメモリと組み合わせて、１つまたは複数のモジュールからのコードの一部または全部を保存するメモリ回路を包含する。
【００５６】
メモリ回路との用語は、コンピュータ可読媒体との用語のサブセットである。本明細書で使用されるコンピュータ可読媒体との用語は、（搬送波上などの）媒体を通って伝播する一時的な電気信号または電磁信号を含まない。したがって、コンピュータ可読媒体との用語は、有形の非一時的なものと見なすことができる。非一時的なコンピュータ可読媒体の非限定的な例は、（フラッシュメモリ回路、消去可能プログラマブル読み出し専用メモリ回路、またはマスク読み出し専用メモリ回路などの）不揮発性メモリ回路、（ＳＲＡＭ回路やＤＲＡＭ回路などの）揮発性メモリ回路、（アナログまたはデジタル磁気テープ、またはハードディスクドライブなどの）磁気記憶媒体、および（ＣＤ、ＤＶＤ、またはブルーレイディスクなどの）光記憶媒体である。
【００５７】
本出願に記載されている装置および方法は、コンピュータプログラムで具現化された１つまたは複数の特定の機能を実行するように汎用コンピュータを構成することによって作成された専用コンピュータによって部分的または完全に実施され得る。上記の機能ブロックおよびフローチャート要素は、ソフトウェアの仕様として役立ち、熟練した技術者またはプログラマーの日常業務によってコンピュータプログラムに変換することができる。
【００５８】
コンピュータプログラムは、少なくとも１つの非一時的なコンピュータ可読媒体に格納されるプロセッサ実行可能命令を含む。コンピュータプログラムはまた、格納されたデータを含むかまたはそれに依存することができる。コンピュータプログラムは、専用コンピュータのハードウェアと相互作用する基本入出力システム（ＢＩＯＳ）、専用コンピュータの特定のデバイスと相互作用するデバイスドライバ、１つ以上のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含んでも良い。
【００５９】
コンピュータプログラムは、（ｉ）ＨＴＭＬ（ハイパーテキストマークアップ言語）、ＸＭＬ（拡張マークアップ言語）、またはＪＳＯＮ（JavaScriptオブジェクト表記法）のような解析される記述テキスト、（ｉｉ）アセンブリコード、（ｉｉｉ）コンパイラによってソースコードから生成されるオブジェクトコード、（ｉｖ）インタプリタによる実行のためのソースコード、（ｖ）ジャストインタイムコンパイラによるコンパイルおよび実行のためのソースコードなどを含むことができる。単なる例として、ソースコードは、C、C++、C＃、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Java（登録商標）、Fortran、Perl、Pascal、Curl、OCaml、Javascript（登録商標）、HTML5（ハイパーテキストマークアップ言語第５改訂版）、Ada、ASP（Active Server Pages）、PHP（ハイパーテキストプリプロセッサ）、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash（登録商標）、VisualBasic（登録商標）、Lua、MATLAB、SIMULINK、およびPython（登録商標）を含む言語の構文法を使って書くことができる。
【図１】
2021511604.tif 000003
【図２】
2021511604.tif 000004
【図３】
2021511604.tif 000005
【図４】
2021511604.tif 000006
【図５】
2021511604.tif 000007
【図６】
2021511604.tif 000008
【図７】
2021511604.tif 000009
【国際調査報告】
2021511604.tif 000010
2021511604.tif 000011
2021511604.tif 000012