(57)【特許請求の範囲】
【請求項１】
ＡＤＡＳシステム（高度ドライバ支援システム）および通信ユニットを含む車両が行う方法であって、
前記車両の通信ユニットが無線ネットワークを介して、無線メッセージを受信する受信ステップと、
前記車両のプロセッサが、前記ＡＤＡＳシステムの制御パラメータを変更する変更ステップと、
を含み、
前記無線メッセージは、前記ＡＤＡＳシステムの動作についての、前記車両の利用予約をした第１のユーザの嗜好に基づいて、前記ＡＤＡＳシステムの動作をどのように変更するかを記述した最適化設定値データを含み、
前記変更ステップでは、前記最適化設定値データに基づいて、前記ＡＤＡＳシステムの動作が前記第１のユーザの嗜好に一致するように、前記ＡＤＡＳシステムの制御パラメータを変更し、
前記最適化設定値データは、前記車両に搭載された前記ＡＤＡＳシステムの特徴的動作を記述した車両特性データと、前記第１のユーザの嗜好と、の双方に基づいて生成されたデータである
ことを特徴とする方法。
【請求項２】
前記無線メッセージは、ＤＳＲＣ通信を介して受信される、
請求項１に記載の方法。
【請求項３】
前記最適化設定値データは、前記ＡＤＡＳシステムの１つまたは複数の新しいパラメータを含み、
前記変更ステップでは、前記ＡＤＡＳシステムの１つまたは複数のパラメータを、前記１つまたは複数の新しいパラメータで置き換える、
請求項１または２に記載の方法。
【請求項４】
前記制御パラメータは、車両の速度、車両の加速度、車両のブレーキ、車両の減速、前記車両によって走行される道路上の他の物体と前記車両との間の距離、の少なくとも何れかについての前記第１のユーザの嗜好に基づいて変更される、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記ＡＤＡＳシステムは、アダプティブ・クルーズ・コントロール・システム、自動駐車システム、非常時ドライバ支援システム、衝突回避システム、前記車両を自律的に走行させる車両制御システム、の少なくとも何れかである、
請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記通信ユニットが、第２の無線メッセージを受信する第２受信ステップと、
前記車両のプロセッサが、前記ＡＤＡＳシステムの制御パラメータを変更する第２変更ステップと、
をさらに含み、
前記第２の無線メッセージは、前記第１のユーザによる利用予約がされていない時に前記車両の利用予約をした第２のユーザの嗜好に基づいて、前記ＡＤＡＳシステムの動作をどのように変更するかを記述する第２の最適化設定値データを含み、
前記第２変更ステップでは、前記第２の最適化設定値データに基づいて、前記ＡＤＡＳシステムの動作が前記第２のユーザの嗜好に一致するように、前記ＡＤＡＳシステムの制御パラメータを変更する、
ことを特徴とする請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記第１のユーザは、予約システムを用いて前記車両を予約する、
請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記車両の利用開始時刻を含む前記第１のユーザの予約データを取得するステップと、
現在時刻を監視するステップと、
をさらに含み、
前記変更ステップは、前記第１のユーザの予約データに含まれる利用開始時刻の前までに実行される、
請求項７に記載の方法。
【請求項９】
前記予約システムは、前記第１のユーザに前記車両を貸し出した車両レンタルサービスまたは車両シェアサービスに関連する、
請求項８に記載の方法。
【請求項１０】
前記最適化設定値データは、前記無線ネットワークと結合されたクラウドサーバ上で動作する最適化エンジンによって生成され、
前記最適化エンジンは、（１）前記車両に搭載された前記ＡＤＡＳシステムの特徴的動作を記述した車両特性データと、（２）前記予約システムから前記最適化エンジンが受信した、前記ＡＤＡＳシステムの動作についての前記第１のユーザの嗜好を記述するユーザ嗜好データと、に基づいて前記最適化設定値データを生成する、
請求項８または９に記載の方法。
【請求項１１】
請求項１から１０のいずれか１項に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１２】
プロセッサと、
請求項１１に記載のプログラムを格納したメモリと、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ドライバ用のユーザプロファイルおよび車両の挙動特性に基づいて、コネクティッド・カーの車両制御システムをチューニングする技術に関する。１台の車両を様々なドライバが運転する場合があり、本車両制御システムは、様々なドライバに対して適切にチューニングすることができる。
【背景技術】
【０００２】
より多くの車両が車両制御システムを含んでいる。たとえば、車両は、自律車両であり得るか、または高度ドライバ支援システム（本明細書では、「ＡＤＡＳ（Advanced Driver Assistance System）システム」と称する）を含む場合がある。
【０００３】
ＡＤＡＳシステムは、カーレンタルビジネスまたはカーシェアリングサービスに使用される車両にしばしば含まれる。ＡＤＡＳシステムは車両の安全を向上させるが、ＡＤＡＳシステム用のデフォルトの制御パラメータ設定値は、すべてのユーザに常に快適であるとは限らない。これは特に、車両が多くの異なるドライバ（たとえば、カーレンタルビジネス、カーシェアリングサービスなど）によって運転される状況において特にあてはまる。たとえば、あるユーザは、ＡＤＡＳシステム用の設定値（あるいは当該設定値に基づくＡＤＡＳシステムの挙動）を、「速すぎる」、「遅すぎる」、「近すぎる」、または「遠すぎる」と考える場合がある。これにより、ＡＤＡＳシステムが動作する車両を運転するとき、ユーザが不快または危険を感じるようになる。ＡＤＡＳシステムの動作のせいでユーザが不快（または危険）を感じる場合、ユーザは、ＡＤＡＳシステムの動作を停止させ、それを二度と使用しない可能性が高い。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＡＤＡＳシステムを含む車両の特定のユーザ（またはドライバ）のシステム動作の嗜好に基づいて、ＡＤＡＳシステムの動作がカスタマイズされるように、ＡＤＡＳシステムの１つまたは複数の制御パラメータを修正するための技術を提案する。
【課題を解決するための手段】
【０００５】
カスタマイズシステム（customization system）は、（１）クラウドサーバ上で動作可能な最適化エンジン（optimization engine）と、（２）車両上で動作可能なカスタマイ
ゼーションクライアント（customization client）とを含む場合がある。クラウドサーバおよび車両は、ネットワーク（たとえば、３Ｇ、４Ｇ、ＬＴＥ、ＶｏＬＴＥ、Ｗｉ−Ｆｉ（商標）など）に通信可能に結合することができる。車両は、ネットワークを介してメッセージを送受信するように動作可能であり得る。このようにして、車両は「コネクティッド・カー」、すなわち、ネットワークに接続し、情報端末としてユーザの利便性を高めることが可能な車両であり得る。車両は、ＡＤＡＳシステムを含む場合がある。
【０００６】
いくつかの実装形態では、クラウドサーバは、特定のドライバの嗜好（preference）に基づいて特定の車両のＡＤＡＳシステムをカスタマイズする際に使用するための、少なくとも２つのタイプのデータを記憶することができる。
【０００７】
第１に、クラウドサーバは、カスタマイズ対象の１つまたは複数の車両モデルを記述するインベントリを記憶することができる。各車両モデルは、車両ＩＤまたは他の何らかの一意の識別子によって識別することができる。クラウドサーバは、車両モデルごとに様々
な「車両特性データ（vehicle characteristic data）」を記憶することができる。様々
な車両モデル向けのＡＤＡＳシステムは、様々に動作する。たとえば、あるＡＤＡＳシステムは、他のＡＤＡＳシステムに比べて車両を速く加速させる。あるいは、ＡＤＡＳシステムが同一のパラメータあるいは設定で動作しても、制御対象の車両によってその挙動が異なる。これは、特定の車両モデルについての特徴的動作の一例である。ＡＤＡＳシステムがそれらの車両用の様々な変数を制御するので他の例が考えられ、これらの変数の各々は、様々な車両モデルについて様々に動作することができ、それにより、様々な車両モデルのＡＤＡＳシステムのための「特徴的動作（characteristic operation）」を形成する。車両特性データは、特定の車両モデル向けのＡＤＡＳシステムの特徴的動作を記述することができる。
【０００８】
第２に、ユーザは、自分が運転している車両内のＡＤＡＳシステムの動作についての自分の嗜好のうちの１つまたは複数を記述する、自分自身の「ユーザ嗜好データ」を有することができる（たとえば、図５参照）。ユーザは、個人のプロセッサベースのコンピューティングデバイス（たとえば、スマートフォン、スマートウォッチ、ラップトップなど）上で動作するアプリケーションを介して、または車両予約を行うとき（たとえば、コンピュータのブラウザを介してカーレンタル車両を予約するとき）に、自分のユーザ嗜好データを入力することができる。
【０００９】
最適化エンジンは、これらの車両特性データとユーザ嗜好データを組み合わせて、最適なパラメータ設定値を自動的に作成することができる。最適なパラメータ設定値は、特定の車両モデル向けのＡＤＡＳシステムの１つまたは複数の制御パラメータが、特定のユーザが使用するためにどのように修正されるべきかを記述するデジタルデータを含み得る。最適化エンジンは、ネットワークに最適なパラメータ設定値を提供することができる。車両のカスタマイゼーションクライアントは、特定のユーザによってスケジュールされた車両の利用より前に、ネットワークから最適なパラメータ設定値を受信するよう構成されうる。カスタマイゼーションクライアントは、最適なパラメータ設定値に基づいて、車両のＡＤＡＳシステムの１つまたは複数の制御パラメータを修正することができる。
【００１０】
たとえば、ユーザが午後２：００に２０１５年式トヨタカローラを予約した場合、最適化エンジンは、午後１：５０に車両のカスタマイゼーションクライアントに、２０１５トヨタカローラ用の最適なパラメータ設定値を供給する。２０１５トヨタカローラ内で動作可能なカスタマイゼーションクライアントは、車両のＡＤＡＳシステム用の制御パラメータを修正し、これによってＡＤＡＳシステムがカスタマイズされ、予約時刻午後２：００にはユーザの利用準備が整う。
【００１１】
最適化システムの例示的な実装形態が次に記載される。
【００１２】
１つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有するので、特定の動作（operation）またはアクション（action
）を実行するように構成することができる。１つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると装置にアクションを実行させる命令を含むので、特定の動作またはアクションを実行するように構成することができる。
【００１３】
１つの一般態様は、ＡＤＡＳシステムと通信ユニットとを含む車両の方法を含み、方法は、車両の通信ユニットにより、ワイヤレスネットワークからワイヤレスメッセージを受信することであって、ワイヤレスメッセージが、ＡＤＡＳシステムの動作についての第１のユーザの１つまたは複数の嗜好に基づいて、車両のＡＤＡＳシステムの動作をどのように修正するかを記述する最適化設定値データを含み、第１のユーザが、自分が使用するた
めの車両を予約した、受信することと、車両のプロセッサにより、ＡＤＡＳシステムの動作が第１のユーザの１つまたは複数の嗜好と一致するように、最適化設定値データに基づいてＡＤＡＳシステムの１つまたは複数の制御パラメータを修正することとを含む。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【００１４】
実装形態は、以下の特徴のうちの１つまたは複数を含む場合がある。ワイヤレスメッセージが専用短距離通信を介して受信される、方法。最適化設定値データが、ＡＤＡＳシステム用の１つまたは複数の新しい制御パラメータを含み、ＡＤＡＳシステムの１つまたは複数の制御パラメータを修正することが、ＡＤＡＳシステムの１つまたは複数の制御パラメータを１つまたは複数の新しい制御パラメータと交換することを含む、方法。１つまたは複数の制御パラメータが、車両の速度についての第１のユーザの嗜好に基づいて修正される、方法。１つまたは複数の制御パラメータが、車両の加速度についての第１のユーザの嗜好に基づいて修正される、方法。１つまたは複数の制御パラメータが、車両のブレーキについての第１のユーザの嗜好に基づいて修正される、方法。１つまたは複数の制御パラメータが、車両の減速度についての第１のユーザの嗜好に基づいて修正される、方法。１つまたは複数の制御パラメータが、車両が移動している車道上の別の物体に対する車両の離隔距離についての第１のユーザの嗜好に基づいて修正される、方法。ＡＤＡＳシステムが適応走行制御システムである、方法。ＡＤＡＳシステムが自動駐車システムである、方法。ＡＤＡＳシステムが非常時ドライバアシスタントである、方法。ＡＤＡＳシステムが衝突回避システムである、方法。ＡＤＡＳシステムが、車両を自律車両にする車両制御システムである、方法。通信ユニットにより、車両が第１のユーザによる使用に予約されていないときに、第２のユーザが使用するために車両を予約した第２のユーザの１つまたは複数の嗜好に基づいて、車両のＡＤＡＳシステムの動作をどのように修正するかを記述する第２の最適化設定値データを含む第２のワイヤレスメッセージを受信することと、車両のプロセッサにより、ＡＤＡＳシステムの動作がＡＤＡＳシステムの動作についての第２のユーザの１つまたは複数の嗜好と一致するように、第２の最適化設定値データに基づいてＡＤＡＳシステムの１つまたは複数の制御パラメータを修正することとをさらに含む、方法。第１のユーザが予約サービスを使用して車両を予約する、方法。予約サービスが、第１のユーザに車両を貸した車両レンタルサービスに関連付けられる、方法。予約サービスが、第１のユーザに車両を貸した車両シェアリングサービスに関連付けられる、方法。最適化設定値データが、ワイヤレスネットワークに通信可能に結合されたクラウドサーバ上で動作する最適化エンジンによって決定され、最適化エンジンが、（１）車両の特定のモデル向けのＡＤＡＳシステムの特徴的動作を記述する車両特性データ、および（２）予約サービスから最適化エンジンによって受信されたユーザ嗜好データに基づいて最適化設定値を決定し、ユーザ嗜好データが、ＡＤＡＳシステムの動作についての第１のユーザの１つまたは複数の嗜好を記述する、方法。記載される技法の実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含む場合がある。
【００１５】
１つの一般態様は、車両のプロセッサによって実行されると、ワイヤレスネットワークからワイヤレスメッセージを受信することであって、ワイヤレスメッセージが、開始時間に自分が使用するための車両を予約したユーザの１つまたは複数の嗜好に基づいて、車両のＡＤＡＳシステムの動作をどのように修正するかを記述する最適化設定値データを含み、１つまたは複数の嗜好が、ＡＤＡＳシステムの動作についての第１のユーザの嗜好を記述する、受信することと、開始時間と比べて現在時刻を監視することと、ＡＤＡＳシステムの動作が、ＡＤＡＳシステムの動作についてのユーザの１つまたは複数の嗜好と一致するように、最適化設定値データに基づいてＡＤＡＳシステムの１つまたは複数の制御パラメータを修正することであって、１つまたは複数の制御パラメータが、開始時間より前に
最適化設定値データに基づいて修正される、修正することとをプロセッサに行わせるコンピュータ実行可能コードを記憶する非一時的メモリを含む、車両のコンピュータプログラム製品を含む。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【００１６】
１つの一般態様は、プロセッサと、プロセッサに通信可能に結合された通信ユニットと、プロセッサおよび通信ユニットに通信可能に結合されたＡＤＡＳシステムとを含む車両を含むシステムを含み、ＡＤＡＳシステムは、ＡＤＡＳシステムの１つまたは複数の制御パラメータに基づいて車両の動作を制御するように動作可能であり、通信ユニットは、ワイヤレスネットワークからワイヤレスメッセージを受信し、ワイヤレスメッセージは、自分が使用するための車両を予約したユーザの１つまたは複数の嗜好に基づいて、ＡＤＡＳシステムの動作をどのように修正するかを記述する最適化設定値データを含み、１つまたは複数の嗜好は、ＡＤＡＳシステムの動作についてのユーザの嗜好を記述し、最適化設定値データを含むワイヤレスメッセージの受信に応答して、プロセッサは、ＡＤＡＳシステムの動作がＡＤＡＳシステムの動作についてのユーザの１つまたは複数の嗜好と一致するように、最適化設定値データに基づいてＡＤＡＳシステムの１つまたは複数の制御パラメータを修正する。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【発明の効果】
【００１７】
本発明によれば、ＡＤＡＳシステムを含む車両の特定のユーザ（またはドライバ）のシステム動作の嗜好に合致するように、ＡＤＡＳシステムの動作をカスタマイズ可能となる。
【図面の簡単な説明】
【００１８】
本開示は、添付図面の図において限定ではなく例として示され、添付図面では、同様の構成要素を参照するために同様の参照番号が使用される。
【００１９】
【図１Ａ】いくつかの実装形態による、最適化システムのための動作環境を示すブロック図である。
【図１Ｂ】いくつかの実装形態による、最適化システムのための動作環境を示すブロック図である。
【００２０】
【図２】いくつかの実装形態による、最適化エンジンを含む例示的なコンピュータシステムを示すブロック図である。
【００２１】
【図３】いくつかの実装形態による、車両特性データを決定するための例示的な方法のフローチャートである。
【００２２】
【図４】いくつかの実装形態による、ＡＤＡＳシステム用の１つまたは複数の制御パラメータを更新するための例示的な方法のフローチャートである。
【００２３】
【図５】いくつかの実装形態による、ユーザ嗜好データの一例を示すブロック図である。
【００２４】
【図６】いくつかの実装形態による、シミュレーションモデルライブラリの一例を示すブロック図である。
【００２５】
【図７】いくつかの実装形態による、シミュレーションシナリオライブラリの一例を示すブロック図である。
【００２６】
【図８】いくつかの実装形態による、特定の車両モデル用のパラメータ設定値ライブラリの一例を示すブロック図である。
【００２７】
【図９】いくつかの実装形態による、予約データの一例を示すブロック図である。
【発明を実施するための形態】
【００２８】
自動車システム（automotive system）は車両を含む場合がある。より多くの車両が車
両制御システムを含んでいる。たとえば、車両は、自律車両であり得るか、または高度ドライバ支援システム（Advanced Driver Assistance System。本明細書では「ＡＤＡＳシ
ステム」と称する）を含む場合がある。
【００２９】
ＡＤＡＳシステムの例には、アダプティブ・クルーズ・コントロール（ＡＣＣ）、車線追従制御、車線変更支援などが含まれる。これらのシステムは、カーレンタルビジネスまたはカーシェアリングサービスに使用される車両にしばしば含まれる。
【００３０】
ＡＤＡＳシステムは車両の安全を向上させるが、ＡＤＡＳシステム用のデフォルトの制御パラメータ設定値は、すべてのユーザに常に快適であるとは限らない。これは特に、車両が多くの異なるドライバによって運転される場合（たとえば、多くのドライバがいるがクルマが１台のみの家族、カーレンタルビジネス、カーシェアリングサービスなど）において特にあてはまる。たとえば、あるユーザは、ＡＤＡＳシステム用の設定値（あるいは当該設定値に基づくＡＤＡＳシステムの挙動）を、「速すぎる」、「遅すぎる」、「近すぎる」、または「遠すぎる」と考える場合がある。これにより、ＡＤＡＳシステムを使用するとき、ユーザが不快または危険を感じるようになる。ＡＤＡＳシステムの動作のせいでユーザが不快（または危険）を感じる場合、ユーザは、ＡＤＡＳシステムの動作を停止させ、それを二度と使用しない可能性が高い。
【００３１】
いくつかの実装形態では、本明細書に記載される最適化システムは、特定のユーザの嗜好に適合するように特定の車両のＡＤＡＳシステム用の１つまたは複数の制御パラメータを自動的に修正することによって、この問題を解決するという有利な効果を奏する。最適化システムは、ＡＤＡＳシステム用の制御パラメータが、様々なユーザの嗜好に基づいて一日中何回も自動的に修正されるように、オンザフライで動作することができる。
【００３２】
いくつかの実装形態では、最適化システムは、特定のユーザの嗜好に基づいて特定の車両向けのＡＤＡＳシステムを運転時にカスタマイズ可能であるという有利な効果を奏する。
【００３３】
いくつかの実装形態では、最適化システムは、複数のドライバがいるが１台のみの車をもつ家族、カーレンタルビジネス、またはカーシェアリングサービスなどの、複数のドライバを有する任意の車両にとって有用であり得る。
【００３４】
カスタマイズシステム（customization system）は、（１）クラウドサーバ上で動作可能な最適化エンジンと、（２）車両上で動作可能なカスタマイゼーションクライアントとを含む場合がある。
【００３５】
クラウドサーバおよび車両は、ネットワークに通信可能に結合することができる。ネットワークには、たとえば、以下の、３Ｇ、４Ｇ、ＬＴＥ、ＶｏＬＴＥ、Ｗｉ−Ｆｉ（商標）、専用短距離通信（ＤＳＲＣ：Dedicated Short Range Communication）、および、そ
の全体が参照により本明細書に組み込まれる、２０１４年８月２８日に出願され、「Full-Duplex Coordination System」と題する米国特許出願第14/471,387号に記載された全二
重ワイヤレス通信のうちの１つもしくは複数、またはそれらの任意の派生物が含まれ得る。
【００３６】
車両は、ネットワークを介してメッセージを送受信するように動作可能であり得る。このようにして、車両は「コネクティッド・カー」、すなわち、ネットワークへの接続機能を有し、情報端末としてユーザの利便性を高めることが可能な車両として機能しうる。車両はＡＤＡＳシステムを含む。
【００３７】
いくつかの実装形態では、最適化エンジンは、ＡＤＡＳシステム用の制御パラメータが、車両の様々なドライバの嗜好に基づいて一日中１回または複数回自動的に修正され得るように、オンザフライで動作することができる。
【００３８】
いくつかの実装形態では、カスタマイズシステムは、特定のユーザの嗜好に基づいてＡＤＡＳシステムを運転時にカスタマイズ可能である。ユーザはそれぞれ、車両のＡＤＡＳシステムがどのようにチューニングされるべきかについて異なる嗜好を有するが、本カスタマイズシステムによれば、このような様々なユーザが快適に車両を使用可能になるという有利な効果が得られる。したがって、本カスタマイズシステムは、ＡＤＡＳシステムの動作に関する様々なドライバの嗜好に基づいてＡＤＡＳシステムの動作をカスタマイズすることにより、複数のドライバを有する任意の車両についての性能を向上させることができるという有利な効果を奏する。カスタマイズシステムのこの例示的な機能は、特に、複数のドライバがいるが１台のみの車をもつ家族、カーレンタルビジネス、またはカーシェアリングサービスにとって有利であり得る。
【００３９】
たとえば、ユーザが午後２：００に２０１５年式トヨタカローラを予約した場合、最適化エンジンは、午後１：５０に車両のカスタマイゼーションクライアントに、２０１５トヨタカローラ用の最適なパラメータ設定値を供給する。２０１５トヨタカローラ内で動作可能なカスタマイゼーションクライアントは、車両のＡＤＡＳシステム用の制御パラメータを修正し、これによってＡＤＡＳシステムがカスタマイズされ、予約時刻の午後２：００にはユーザの利用準備が整う。
【００４０】
いくつかの実装形態では、クラウドサーバは、特定のドライバの嗜好に基づいて特定の車両向けにＡＤＡＳシステムをカスタマイズするために使用される、少なくとも２つのタイプのデータ：（１）車両特性データおよび（２）ユーザ嗜好データを記憶することができる。各々は、いくつかの例示的な実装形態に従って下記に記載される。
【００４１】
＜例示的な車両特性データ＞
クラウドサーバは、カスタマイズ対象の１つまたは複数の車両モデルを記述するインベントリを記憶することができる。各車両モデルは、車両ＩＤまたは他の何らかの一意の識別子によって識別することができる。車両モデルは、それ自体の「車両特性データ」を含んでもよく、このデータは、当該車両モデルのＡＤＡＳシステムの特徴的動作を記述するものである。言い換えれば、様々な車両モデルのＡＤＡＳシステムは、様々に動作しうる。たとえば、あるＡＤＡＳシステムは、他のＡＤＡＳシステムよりも速く車両に運転するように制御する。別の例では、あるＡＤＡＳシステムは、他のＡＤＡＳシステムよりもブレーキ開始のタイミングが遅い。また別の例では、あるＡＤＡＳシステムは、他のＡＤＡＳシステムよりも停止の際のブレーキがより急激である。これらは代表例にすぎない。したがって、様々な車両モデル向けのＡＤＡＳシステムは、そのドライバ用の嗜好に適応するように様々にチューニングされなければならない。
【００４２】
車両モデル向けの例示的な実装形態は、その全体が参照により本明細書に組み込まれる、2016年2月25日に出願され、「Graphical User Interface System for Displaying a Parametric Modification of a Vehicle Model」と題する米国特許出願第15/053,945号に記載されている。
【００４３】
いくつかの実装形態では、最適化エンジンは、１つまたは複数のModelicaベースのモデリングツールを含む。いくつかの実装形態では、モデリングツールには、パラメトリック探査ツール（PET: parametric exploration tool）および設計空間探査（DSE: design space exploration）ツールが含まれる。例示的なモデリングツールには、スウェーデンのDassault Systemes ABによって開発されたDymola、ヴァンダービルト大学によって開発さ
れたOpenMETA、マサチューセッツ州ネイティックのMathWorksによって開発されたSimulink、およびカリフォルニア州ニューポートビーチのMSC Software Corp.によって開発され
たADAMSのうちの１つまたは複数のツールが含まれる。最適化エンジンは、これらのモデ
リングツールのうちの１つまたは複数を使用して、ＡＤＡＳシステムを含む特定の車両モデルを表すデジタルモデルを作成することができる。
【００４４】
いくつかの実装形態では、最適化エンジンは、カリフォルニア州サンフランシスコのユニティ・テクノロジーズによって開発されたUnity、または他の何らかのゲームエンジン
などのゲームエンジンを含む。最適化エンジンは、ゲームエンジンを使用して、１つまたは複数のモデリングツールによって作成されたデジタルモデルによって表されるＡＤＡＳシステムの性能を測定するための１つまたは複数のシミュレーションを実行することができる。
【００４５】
いくつかの実装形態では、最適化エンジンは、１つまたは複数のモデリングツールおよびゲームエンジンを使用して、車両モデルごとの車両特性データを決定することができる。たとえば、最適化エンジンは、モデリングツールを使用して、ＡＤＡＳシステムを含む特定の車両モデル（たとえば、２０１５トヨタカローラ、２０１３トヨタプリウスなど）向けのデジタルモデルを作成することができる。デジタルモデルは、ゲームエンジンに供給される。ゲームエンジンは、デジタルモデルに基づいて車両のデジタルバージョン（たとえば、２０１５トヨタカローラのデジタルバージョン、２０１３トヨタプリウスのデジタルバージョンなど）を作成することができる。ゲームエンジンはまた、車両のデジタルバージョンの性能を試験するためのデジタルシミュレーション環境を作成することができる。車両のデジタルバージョンは、シミュレーション環境内で運転することができる。デジタルシミュレーションは、様々な現実的な運転シナリオを含む場合がある。車両のデジタルバージョンは、数百マイル、数千マイル、または数百万マイルにわたってデジタルシミュレーション内で運転することができ、その結果、車両モデル向けのＡＤＡＳシステムの特徴的動作（たとえば、２０１５トヨタカローラに含まれるＡＤＡＳシステムの特徴的動作、２０１３トヨタプリウスに含まれるＡＤＡＳシステムの特徴的動作など）を決定することができる。このようにして、その特定の車両モデルについての車両特性データを作成し、クラウドサーバの非一時的メモリに記憶することができる。
【００４６】
いくつかの実装形態では、このプロセスは、最適化エンジンによって車両ＩＤを割り当てられた車両モデルごとに繰り返すことができる。このようにして、割り当てられた車両ＩＤを有する車両ごとの車両特性データを決定することができる。
【００４７】
車両特性データを作成するためのオフライン方法の例示的な実装形態が図３に示されている。
【００４８】
＜例示的なユーザ嗜好データ＞
様々なユーザは、クラウドサーバによって記憶される自分自身の「ユーザ嗜好データ」
を有することができる。ユーザ嗜好データは、ユーザが運転している車両内のＡＤＡＳシステムの動作についての１つまたは複数のユーザの嗜好を記述する。ユーザ嗜好データの例示的な実装形態が図５に示されている。
【００４９】
ユーザは、個人のプロセッサベースのコンピューティングデバイス（たとえば、スマートフォン、スマートウォッチ、ラップトップなど）上で動作するアプリケーションを介して、または車両予約が行われるとき（たとえば、コンピュータのブラウザを介してカーレンタル車両を予約するとき）に、自分のユーザ嗜好データを入力することができる。
【００５０】
＜例示的な最適パラメータ設定値＞
いくつかの実装形態では、車両特性データおよびユーザ嗜好データは、クラウドサーバによって非一時的メモリに記憶される。
【００５１】
いくつかの実装形態では、クラウドサーバの最適化エンジンは、ユーザが特定の車両を使用するようスケジュールされた時点までに、これらの車両特性データおよびユーザ嗜好データを組み合わせて、個々のユーザ用の最適なパラメータ設定値を自動的に作成する。最適なパラメータ設定値は、特定の車両モデルのＡＤＡＳシステムの１つまたは複数の制御パラメータが、特定のユーザの使用にあわせてどのように修正されるべきかを記述するデジタルデータを含む。最適化エンジンは、ネットワークに最適なパラメータ設定値を提供することができる。
【００５２】
いくつかの実装形態では、車両のカスタマイゼーションクライアントは、特定のユーザが車両を使用するようスケジュールされた時点までに、ネットワークから最適なパラメータ設定値を受信することができる。カスタマイゼーションクライアントは、最適なパラメータ設定値に基づいて、車両のＡＤＡＳシステムの１つまたは複数の制御パラメータを修正する。
【００５３】
次に図１Ａを参照すると、いくつかの実装形態による、最適化システムのための動作環境１００を示すブロック図が描写されている。最適化システムは、最適化サーバ１０３に含まれる最適化エンジン１９９と、車両１２３に含まれるカスタマイゼーションクライアント１９０とを含む。
【００５４】
いくつかの実装形態では、動作環境１００は、車両１２３、予約サーバ１０４、および最適化サーバ１０３のうちの１つまたは複数の構成要素を含む場合がある。これらの構成要素は、ネットワーク１０５に通信可能に結合される。
【００５５】
ネットワーク１０５は、従来のタイプの有線またはワイヤレスであり得るし、星形構成、トークンリング構成、または他の構成を含む、多数の様々な構成を有する場合がある。さらに、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（たとえば、インターネット）、または、複数のデバイスおよび／もしくはエンティティがそれを介して通信することができる他の相互接続データパスを含む場合がある。いくつかの実装形態では、ネットワーク１０５はピアツーピアネットワークを含む場合がある。ネットワーク１０５はまた、様々な異なる通信プロトコルでデータを送るための電気通信ネットワークの部分に結合される場合があるか、またはそれらを含む場合がある。いくつかの実装形態では、ネットワーク１０５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ワイヤレスアプリケーションプロトコル（ＷＡＰ）、電子メール、ＤＳＲＣ、全二重ワイヤレス通信などを介して、データを送受信するためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークまたはセルラー通信ネットワークを含む。ネットワーク１０５は、第３世代（３Ｇ）、第４世代（４Ｇ）
、ロングタームエボリューション（ＬＴＥ）、ボイスオーバーＬＴＥ（「ＶｏＬＴＥ」）、もしくは任意の他のモバイルデータネットワークを含む場合があるモバイルデータネットワーク、またはモバイルデータネットワークの組合せを含む場合もある。さらに、ネットワーク１０５は、１つまたは複数のＩＥＥＥ８０２．１１ワイヤレスネットワークを含む場合がある。
【００５６】
いくつかの実装形態では、ネットワーク１０５は、車両１２３および１つまたは複数の他のワイヤレス通信デバイスの間で共有される１つまたは複数の通信チャネルを含む場合がある。通信チャネルは、ＤＳＲＣ、全二重ワイヤレス通信、または任意の他のワイヤレス通信プロトコルを含む場合がある。たとえば、ネットワーク１０５は、車両１２３にＤＳＲＣメッセージ、ＤＳＲＣプローブ、または基本安全メッセージを送信するために使用することができる。
【００５７】
車両１２３には、自動車、トラック、スポーツ用多目的車、バス、セミトラック、ドローン、または、通信ユニット１４５およびＡＤＡＳシステム１８０を含む任意の他の車道ベースの乗り物が含まれ得る。いくつかの実装形態では、車両１２３には、自律車両または半自律車両が含まれ得る。
【００５８】
車両１２３は、通信ユニット１４５、ＡＤＡＳシステム１８０、プロセッサ１２５、メモリ１２７、カスタマイゼーションクライアント１９０、センサセット１８２、およびパネル１９２のうちの１つまたは複数の構成要素を含む場合がある。これらの構成要素は、バス１２０を介して互いに通信可能に結合することができる。
【００５９】
通信ユニット１４５は、ネットワーク１０５にデータを送信し、ネットワーク１０５からデータを受信するハードウェアを含む。いくつかの実装形態では、通信ユニット１４５は、ネットワーク１０５または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット１４５は、ネットワーク１０５との有線通信用のＵＳＢ、ＳＤ、ＣＡＴ−５、または同様のポートを含む。いくつかの実装形態では、通信ユニット１４５は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または別の適切なワイヤレス通信方法を含む１つまたは複数のワイヤレス通信方法を使用して、ネットワーク１０５または他の通信チャネルとデータを交換するためのワイヤレストランシーバを含む。
【００６０】
いくつかの実装形態では、通信ユニット１４５は、ネットワーク１０５または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット１４５は、ネットワーク１０５との有線通信用のＵＳＢ、ＳＤ、ＣＡＴ−５、または同様のポートを含む。
【００６１】
いくつかの実装形態では、通信ユニット１４５は、IEEE802.11、IEEE802.16、Bluetooth（登録商標）、EN ISO14906:2004電子式料金徴収−アプリケーションインターフェース
、EN12253:2004専用短距離通信-5.8GHzにおいてマイクロ波を使用する物理層（レビュー
）、EN12795:2002専用短距離通信（ＤＳＲＣ）−ＤＳＲＣデータリンク層、媒体アクセスおよび論理リンク制御（レビュー）、EN12834:2002専用短距離通信−アプリケーション層（レビュー）、EN13372:2004専用短距離通信（DSRC）-RTTTアプリケーション用DSRCプロ
ファイル（レビュー）、2014年8月28日に出願され、「Full-Duplex Coordination System」と題する米国特許出願第１４／４７１，３８７号に記載された通信方法、または別の適切なワイヤレス通信方法を含む１つまたは複数のワイヤレス通信方法を使用して、ネットワーク１０５または他の通信チャネルとデータを交換するためのワイヤレストランシーバを含む。
【００６２】
いくつかの実装形態では、通信ユニット１４５は、2014年8月28日に出願され、「Full-
Duplex Coordination System」と題する米国特許出願第１４／４７１，３８７号に記載された全二重調整システムを含む場合がある。
【００６３】
いくつかの実装形態では、通信ユニット１４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の適切なタイプの電子通信を介して、セルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実装形態では、通信ユニット１４５は、有線ポートおよびワイヤレストランシーバを含む。通信ユニット１４５はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、およびＳＭＴＰ、ミリメートル波、ＤＳＲＣなどを含む標準ネットワークプロトコルを使用して、ファイルまたはメディアオブジェクトを配信するための、ネットワーク１０５への他の従来の接続を提供する。
【００６４】
ＡＤＡＳシステム１８０は、１つまたは複数の高度ドライバ支援システムを含む場合がある。ＡＤＡＳシステム１８０は、非一時的メモリを含むかまたはそれに通信可能に結合され、当該メモリには、センサセット１８２によって収集されるセンサデータによって記述されるような、様々なシナリオにおいてＡＤＡＳシステム１８０がどのように動作するかを記述・定義し、または当該動作に影響を及ぼす１つまたは複数の制御パラメータが記憶される。カスタマイゼーションクライアント１９０は、ＡＤＡＳシステム１８０の非一時的メモリにアクセスし、ＡＤＡＳシステム１８０の制御パラメータを修正するために、（たとえば、バス１２０を介して）ＡＤＡＳシステム１８０に通信可能に結合することができる。たとえば、カスタマイゼーションクライアント１９０は、最適化設定値１７０に基づいて制御パラメータを修正することができる。
【００６５】
いくつかの実装形態では、ＡＤＡＳシステム１８０の制御パラメータはメモリ１２７に記憶される。いくつかの実装形態では、メモリ１２７はＡＤＡＳシステム１８０の構成要素であり得る。いくつかの実装形態では、車両１２３は、最適化設定値１７０を記憶する第１のメモリ１２７を含む場合があり、ＡＤＡＳシステム１８０は、ＡＤＡＳシステム１８０の制御パラメータを記憶する第２のメモリ１２７を含む場合がある。
【００６６】
ＡＤＡＳシステム１８０の例には、アダプティブ・クルーズ・コントロール（ＡＣＣ）システム、アダプティブ・ハイビーム・システム、アダプティブ・ライト・コントロール・システム、自動駐車システム、自動車暗視システム、死角モニタ、衝突回避システム、横風安定化システム、ドライバ眠気検出システム、ドライバ監視システム、緊急時ドライバ支援システム、前方衝突警告システム、交差点支援システム、インテリジェント速度適応システム、車線逸脱警告システム、歩行者保護システム、交通標識認識システム、旋回支援、および逆走警告システムのうちの１つまたは複数の車両１２３の構成要素が含まれ得る。
【００６７】
プロセッサ１２５は、計算を実行しディスプレイデバイスに電子表示信号を供給するために、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または他の何らかのプロセッサアレイを含む。プロセッサ１２５は、データ信号を処理し、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む、様々なコンピューティングアーキテクチャを含む場合がある。図１Ａは単一のプロセッサ１２５を含むが、複数のプロセッサが含まれる場合がある。プロセッサ１２５は、グラフィカル処理ユニットを含む場合がある。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理構成が考えられ得る。
【００６８】
いくつかの実装形態では、プロセッサ１２５は、車両１２３の搭載車両コンピュータま
たは電子制御ユニットの構成要素であり得る。
【００６９】
メモリ１２７は、プロセッサ１２５によって実行され得る命令またはデータを記憶する。命令またはデータは、本明細書に記載された技法を実行するためのコードを含む場合がある。メモリ１２７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または他の何らかのメモリデバイスであり得る。いくつかの実装形態では、メモリ１２７はまた、不揮発性メモリまたは同様の永続的なストレージデバイス、および、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための他の何らかのマスストレージデバイスを含む媒体を含む。
【００７０】
図１Ａに示されたように、メモリ１２７は、最適化設定値１７０を記憶する。最適化設定値１７０は、車両１２３のユーザ（たとえば、ドライバ）の１つまたは複数の嗜好に従ってＡＤＡＳシステム１８０が動作するように、ＡＤＡＳシステム１８０の１つまたは複数の制御パラメータがどのように修正されるべきかを記述するデジタルデータを含む場合がある。
【００７１】
いくつかの実装形態では、メモリ１２７は、カスタマイゼーションクライアント１９０、ＡＤＡＳシステム１８０の１つまたは複数のソフトウェア構成要素、センサセット１８２によって収集されたセンサデータ、およびパネル１９２に１つまたは複数のグラフィカルユーザインターフェース（ＧＵＩ）を表示させるためのグラフィカルデータのうちの１つまたは複数を記憶することができる。
【００７２】
カスタマイゼーションクライアント１９０は、プロセッサ１２５によって実行されると、
ネットワーク１０５から最適化設定値１７０を受信するステップ、
メモリ１２７に最適化設定値１７０を記憶するステップ、
ＡＤＡＳシステム１８０用の制御パラメータを識別するステップ、
制御パラメータが最適化設定値１７０と一致するように最適化設定値１７０に基づいて制御パラメータを修正するステップ、
車両１２３が特定のユーザ向けにカスタマイズされたことを示すために、ネットワーク１０５を介して最適化サーバ１０３にメッセージを供給するステップ、
車両１２３の電源が入るとパネル１９２にＧＵＩを表示させるためのグラフィカルデータを作成するステップであって、車両１２３が特定のユーザ向けにカスタマイズされていることを示すメッセージをＧＵＩが含む、ステップ、および、
パネル１９２にグラフィカルデータを供給するステップ、
のうちの１つまたは複数を、プロセッサ１２５に実施させるように動作可能なコードおよびルーチンを含む。
【００７３】
カスタマイゼーションクライアント１９０は、車両１２３のインフォテインメントシステム、または車両１２３の他の何らかのプロセッサベースのコンピューティングデバイスによって実行されるシンクライアントを含む場合がある。
【００７４】
いくつかの実装形態では、カスタマイゼーションクライアント１９０は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアを使用して実装される場合がある。いくつかの他の実装形態では、カスタマイゼーションクライアント１９０は、ハードウェアとソフトウェアの組合せを使用して実装される場合がある。カスタマイゼーションクライアント１９０は、デバイス（たとえば
、サーバもしくは他のデバイス）の組合せ、またはデバイスのうちの１つに記憶される場合がある。
【００７５】
いくつかの実装形態では、センサセット１８２は、１つまたは複数のセンサを含む場合がある。センサセット１８２は、センサデータを収集することができる。センサデータは、たとえば、車両１２３の物理的環境を記述することができる。ＡＤＡＳシステム１８０は、（１）センサデータ、および（２）ＡＤＡＳシステム１８０の制御パラメータ、のうちの１つまたは複数に基づいて、車両１２３の動作を修正するか、または車両１２３の動作を制御することができる。
【００７６】
いくつかの実装形態では、センサセット１８２は、車両１２３の外部の物理的環境を測定するように動作可能な１つまたは複数のセンサを含む場合がある。たとえば、センサセット１８２は、車両１２３に近接する物理的環境の１つまたは複数の物理的特性を記録することができる。１つまたは複数の物理的特性は、直接的に（たとえば、気圧、温度、または車両センサによる直接測定が可能な任意の他のパラメータとして）、あるいは間接的に（たとえば、車両環境の物理的特性または車両環境内に存在する物体もしくはイベントを描写または記述する画像または音声として）記録される。
【００７７】
いくつかの実装形態では、センサセット１８２は、車両１２３の性能を測定するように動作可能な１つまたは複数のセンサを含む場合がある。たとえば、センサセット１８２は、車両１２３の速度または加速度を記述するセンサデータを記録することができる。
【００７８】
いくつかの実装形態では、センサセット１８２は、外部マイクロフォン、内部マイクロフォン、外部カメラ、内部カメラ、ＬＩＤＡＲセンサ、レーザー高度計、ナビゲーションセンサ（たとえば、非ＤＳＲＣ準拠ＧＰＳユニットの場合のように１０メートル程度の精度とは対照的に、１．５メートル精度の正確なＤＳＲＣ準拠ＧＰＳユニットの全地球測位システムセンサ）、赤外線検出器、動き検出器、サーモスタット、音声検出器、一酸化炭素センサ、二酸化炭素センサ、酸素センサ、空気流量センサ、エンジン冷却剤温度センサ、スロットル位置センサ、クランクシャフト位置センサ、自動車エンジンセンサ、バルブタイマ、空燃比メータ、死角メータ、カーブ探索器、欠陥検出器、ホール効果センサ、多岐管絶対圧力センサ、駐車センサ、レーダーガン、速度計、速度センサ、タイヤ圧監視センサ、トルクセンサ、トランスミッション液温度センサ、タービン速度センサ（ＴＳＳ）、可変磁気抵抗センサ、車両速度センサ（ＶＳＳ）、水分センサ、ホイール速度センサ、および任意の他のタイプの自動車センサのうちの１つまたは複数の車両センサを含む場合がある。
【００７９】
センサセット１８２は、１つまたは複数の様々な時間における車両１２３の１つまたは複数の位置、車両環境および車両環境内に存在する物体または他の車両の画像または他の測定値などを記述するセンサデータを記録するように動作可能であり得る。車両環境は、車両１２３に近接する車両１２３の外部のエリアを含む場合がある。たとえば、車両１２３は車道上を移動中であり得るし、車両環境は、車両１２３の前方、車両１２３の後方、車両１２３の側方、または車両１２３から車１台もしくは複数台分離れた他の車両を含む場合がある。センサデータは、スーパーバイザデータ１９７に含まれる場合がある。
【００８０】
いくつかの実装形態では、センサデータは、車両状態を特定するために使用することができる。たとえば、ＡＤＡＳシステム１８０の動作に部分的に起因して車両１２３が衝突する可能性がある他の車両または他の障害物が車両１２３の周囲に存在することを示す画像または他のデータをセンサデータが含む場合、ＡＤＡＳシステム１８０は、衝突を避けるためにより控えめに（より遅い速度、より遅い加速度、他のドライバによってより予測可能な方向転換または車両操縦で）運転することを選択する。
【００８１】
パネル１９２には、電子ディスプレイパネルまたは車両１２３のモニタが含まれ得る。たとえば、パネル１９２には、ヘッドユニットの電子ディスプレイパネル、または車両１２３のヘッドアップディスプレイが含まれ得る。
【００８２】
ヘッドアップディスプレイには、その全体が参照により本明細書に組み込まれる、２０１６年３月２４日に出願され、「Wireless Data Sharing Between a Mobile Client Device and a Three-Dimensional Heads-Up Display Unit」と題する米国特許出願第15/080,433号に記載されているものなどの、３次元ヘッドアップディスプレイが含まれ得る。
【００８３】
予約サーバ１０４は、ハードウェアサーバを含む場合がある。予約サーバ１０４は、サーバソフトウェアを実行している任意のプロセッサベースのコンピューティングデバイスを含む場合がある。
【００８４】
いくつかの実装形態では、予約サーバ１０４は、ユーザが車両１２３の運転を予約するためのサービスを提供する。たとえば、予約サーバ１０４は、カーレンタルサービス、カーシェアリングサービス、相乗りサービス、または、複数のユーザが車両１２３などの車両の運転予約をスケジュール可能な他の何らかのサービスによって動作され得る。
【００８５】
予約データ１９８は、車両１２３の運転予約をスケジュールするためにユーザによって提供されるデータを含む。予約データ１９８は、予約サーバ１０４の非一時的メモリに記憶することができる。
【００８６】
予約データ１９８は、予約されている車両モデル（たとえば、車両１２３のモデル）を一意に識別する車両ＩＤ、車両を予約しているユーザを一意に識別するユーザＩＤ、車両ＩＤに関連付けられた車両がユーザＩＤに関連付けられたユーザによる使用のために予約された時間または時間の範囲（たとえば、開始時間および終了時間）、ならびに予約されている車両のＡＤＡＳシステムを構成するための１つまたは複数のユーザ嗜好（たとえば、車両１２３のＡＤＡＳシステム１８０用の１つまたは複数の制御パラメータをカスタマイズするためのユーザ嗜好）のうちの１つまたは複数を記述するデジタルデータを含む場合がある。
【００８７】
いくつかの実装形態では、ユーザの嗜好は、予約時または他の何らかのときに明示的に指定される（推測されるわけではない）場合もある。たとえば、予約サーバ１０４は、ユーザによって予約されている車両のＡＤＡＳシステムの動作についてのユーザの嗜好を入力するためにユーザによって使用され得るＧＵＩを、ユーザが見ることができるパネルに表示させることができる。これらの嗜好は、予約データ１９８に含まれる場合がある。下記でより詳細に記載されるように、いくつかの実装形態では、予約サーバ１０４は、最適化サーバ１０３に予約データ１９８を供給することができ、その結果、車両１２３は、予約データ１９８によって記述され得るように、それらの予約時間より前にユーザ向けにカスタマイズすることができる。
【００８８】
いくつかの実装形態における予約データ１９８の一例が図９に示されている。
【００８９】
最適化サーバ１０３は、ハードウェアサーバを含む場合がある。最適化サーバ１０３には、サーバソフトウェアを実行している任意のプロセッサベースのコンピューティングデバイスが含まれ得る。
【００９０】
いくつかの実装形態では、最適化サーバ１０３は、カスタマイズサービスを提供し、特定の車両（予約サーバ１０４によって提供される予約サービスを介してユーザによる使用
のために予約された車両１２３など）を、特定のユーザの嗜好に基づいて当該ユーザ向けにカスタマイズする。たとえば、最適化サーバ１０３は、カーレンタルサービス、カーシェアリングサービス、相乗りサービス、または、それにより複数のユーザが車両１２３などの車両を運転する予約をスケジュールすることができる他の何らかのサービスによって動作される。
【００９１】
いくつかの実装形態では、最適化サーバ１０３は、予約サーバ１０４を動作させる同じエンティティ、または異なるエンティティによって動作される。
【００９２】
最適化サーバ１０３は、シミュレーションツールセット１１４、車両特性データ１１０、ユーザ嗜好データ１１２、最適化エンジン１９９、および最適化設定値１７０のうちの１つまたは複数を含む。
【００９３】
いくつかの実装形態では、最適化サーバ１０３は、シミュレーションツールセット１１４、車両特性データ１１０、ユーザ嗜好データ１１２、最適化エンジン１９９、および最適化設定値１７０のうちの１つまたは複数を記憶する、メモリ１２７と同様の非一時的メモリを含む。
【００９４】
いくつかの実装形態では、最適化エンジン１９９は、最適化サーバ１０３のプロセッサ（たとえば、図２について下記に記載されるプロセッサ２２５）によって実行されると、複数の様々な車両モデルに車両ＩＤを割り当てることをプロセッサに行わせるように動作可能なコードおよびルーチンを含む。車両ＩＤは、車両の特定のモデルの一意の識別子であり得る。たとえば、最適化エンジン１９９は、２０１４トヨタタコマや他の任意の車両モデルに割り当てられた車両ＩＤとは異なる車両ＩＤを、２０１５トヨタプリウスに割り当てる。
【００９５】
いくつかの実装形態では、車両ＩＤは、最適化サーバ１０３の非一時的メモリ（たとえば、図２を参照して下記に記載されるメモリ２２７）に記憶することができる。たとえば、車両ＩＤは、各々が特定の車両ＩＤに関連付けられた車両特性データ１１０の１つまたは複数のセットを含むデータ構造に記憶することができる。
【００９６】
いくつかの実装形態では、最適化サーバ１０３のデータ構造は、車両ＩＤに基づいてインデックス付けされた車両特性データ１１０の複数の様々なセットを含む場合があり、その結果、車両特性データ１１０の各セットは、最適化エンジン１９９が車両ＩＤを使用してデータ構造を照会することによってデータ構造から取り出すことができ、車両ＩＤにより、クエリに含まれる車両ＩＤに関連付けられた車両特性データ１１０のセットをデータ構造が返すことになる。
【００９７】
いくつかの実装形態では、最適化エンジン１９９はコードおよびルーチンを含み、当該コードおよびルーチンが最適化サーバ１０３のプロセッサによって実行されると、プロセッサは、最適化エンジン１９９によって割り当てられた複数の車両ＩＤに基づいてインデックス付けされた車両特性データ１１０の複数のセットを含むデータ構造を構築する。
【００９８】
いくつかの実装形態では、複数の車両ＩＤは、最適化エンジン１９９がカスタマイズすることができる様々な車両１２３のインベントリを形成する。たとえば、最適化エンジン１９９は、車両ＩＤが割り当てられた各車両モデルをカスタマイズできる。
【００９９】
いくつかの実装形態では、最適化エンジン１９９はコードおよびルーチンを含み、当該コードおよびルーチンは最適化サーバ１０３のプロセッサによって実行されると、プロセッサは、複数のユーザにユーザＩＤを割り当てる。ユーザＩＤは、特定のユーザの一意の
識別子である。たとえば、最適化エンジン１９９は、ユーザ「ユーザ１３」や他の任意のユーザに割り当てられたユーザＩＤとは異なるユーザＩＤを、ユーザ「ユーザ１」に割り当てる。
【０１００】
いくつかの実装形態では、ユーザＩＤは、最適化サーバ１０３の非一時的メモリ（たとえば、図２を参照して下記に記載されるメモリ２２７）に記憶される。たとえば、ユーザＩＤは、各々が特定のユーザＩＤに関連付けられたユーザ嗜好データ１１２の１つまたは複数のセットを含むデータ構造に記憶される。
【０１０１】
いくつかの実装形態では、最適化サーバ１０３のデータ構造は、ユーザＩＤに基づいてインデックス付けされたユーザ嗜好データ１１２の複数のセットを含み、ユーザ嗜好データ１１２の各セットは、最適化エンジン１９９がユーザＩＤを使用してデータ構造を照会することによってデータ構造から取り出すことができ、最適化エンジン１９９からの照会に応じて、データ構造はクエリに含まれるユーザＩＤに関連付けられたユーザ嗜好データ１１２のセットを返す。
【０１０２】
いくつかの実装形態では、最適化エンジン１９９はコートおよびルーチンを含み、当該コードおよびルーチンは最適化サーバ１０３のプロセッサによって実行されると、プロセッサは、最適化エンジン１９９によって割り当てられた複数のユーザＩＤに基づいてインデックス付けされたユーザ嗜好データ１１２の複数のセットを含むデータ構造を構築する。
【０１０３】
シミュレーションツールセット１１４は、１つまたは複数のModelicaベースのモデリングツールを含む場合がある。１つまたは複数のModelicaベースのモデリングツールは、１つまたは複数のデジタルモデルを構築することができる。１つまたは複数のデジタルモデルは、シミュレーションツールセットに含まれるゲームエンジンに、シミュレーションを行わせることができる。当該シミュレーションでは、特定の車両（たとえば、車両１２３）モデルのデジタルバージョンが、車両のＡＤＡＳシステムによって全体的または部分的に操作されつつ、デジタル車道上を１つまたは複数の運転シナリオに基づいて走行する。いくつかの実装形態では、シミュレーションツールセット１１４の１つまたは複数のModelicaベースのモデリングツールによって作成されたデジタルモデルは、車両１２３、１つまたは複数の車道システム、ならびに、車両１２３および車道システムのデジタルバージョンに対して行われるシナリオに含まれる１つまたは複数の動的物体または静的物体のデジタルバージョンを作成するための１つまたは複数のデジタルモデルを含む場合がある。
【０１０４】
Modelicaは、Modelica Associationによって開発された複合システムのコンポーネント指向モデリング用のオブジェクト指向、宣言型、マルチドメインのモデリング言語である。複合システムは、機械サブコンポーネント、電気サブコンポーネント、電子サブコンポーネント、油圧サブコンポーネント、熱サブコンポーネント、制御サブコンポーネント、電力サブコンポーネント、およびプロセス指向サブコンポーネントのうちの１つまたは複数を含む場合がある。Modelicaを使用してモデル化され得る複合システムの一例には、ＡＤＡＳシステム１８０を含む車両１２３が含まれ得る。
【０１０５】
シミュレーションツールセット１１４は、様々なドメイン内の約１３６０個の一般モデルコンポーネント、および１２８０個の関数を含むModelica標準ライブラリを含む場合がある。
【０１０６】
いくつかの実装形態では、シミュレーションツールセット１１４はModelicaベースのモデリングツール、たとえば、スウェーデンのDassault Systemes ABによって開発されたDymola、ヴァンダービルト大学によって開発されたOpenMETA、マサチューセッツ州ネイティ
ックのMathWorksによって開発されたSimulink、およびカリフォルニア州ニューポートビ
ーチのMSC Software Corp.によって開発されたADAMSのうちの１つまたは複数を含む場合
がある。
【０１０７】
シミュレーションツールセット１１４は、Modelicaベースのモデリングツールのうちの１つまたは複数を使用して、ＡＤＡＳシステム１８０を含む特定の車両モデル（たとえば、車両１２３）を表すデジタルモデルを作成することができる。本明細書で使用する「車両モデル」という用語は、「２０１５トヨタカローラ」などの車両の特定のモデルを意味する。たとえば、車両１２３は２０１５トヨタカローラであり得るし、シミュレーションツールセット１１４は、シミュレーション内で２０１５トヨタカローラを表すようにデジタルモデルを作成することができる。「デジタルモデル」という用語は、シミュレーション内で特定の車両モデルを表すデジタルモデルを意味する。デジタルモデルは、デジタルデータとして最適化サーバ１０３の非一時的メモリに記憶する。このデジタルデータは図１Ａに描写されていないが、「デジタルモデルデータ」と呼ばれる場合がある。
【０１０８】
いくつかの実装形態では、シミュレーションツールセット１１４に含まれるModelicaベースのモデリングツールのうちの１つまたは複数は、１つまたは複数のパラメトリック探査ツール（ＰＥＴ）を含む場合がある。
【０１０９】
いくつかの実装形態では、シミュレーションツールセット１１４に含まれるModelicaベースのモデリングツールのうちの１つまたは複数は、１つまたは複数の設計空間探査（ＤＳＥ）ツールを含む場合がある。
【０１１０】
いくつかの実装形態では、シミュレーションツールセット１１４は、１つまたは複数のゲームエンジンを含む場合もある。シミュレーションツールセット１１４に含まれるゲームエンジンには、カリフォルニア州サンフランシスコのユニティ・テクノロジーズによって開発されたUnityゲームエンジン、または他の何らかのゲームエンジンが含まれ得る。
シミュレーションツールセット１１４は、ゲームエンジンを使用して、ゲームエンジンによって作成されたシミュレーションのうちの１つまたは複数において試験される車両のデジタルバージョンに含まれるＡＤＡＳシステムのデジタルバージョンの性能を測定するための１つまたは複数のシミュレーションを実行することができる。たとえば、ゲームエンジンは、１つまたは複数の車道システムを含み当該車道システム上を車両のデジタルバージョンが移動するシミュレーションを作成することができる。最適化エンジン１９９は、最適化サーバ１０３のプロセッサによって実行されると、ＡＤＡＳシステムのデジタルバージョンの動作を記述するデータをプロセッサに記憶させるコードおよびルーチンを含む場合がある。
【０１１１】
いくつかの実装形態では、シミュレーションツールセット１１４のゲームエンジンは、シミュレーションモデルライブラリ（たとえば、図３について下記に記載されるシミュレーションモデルライブラリ３９９参照）を含む場合がある。シミュレーションモデルライブラリは、ゲームエンジンによって提供されるシミュレーションに含まれ得る１つまたは複数の様々なデジタル車道システムを記述する車道モデルデータを含む場合がある。車道モデルデータは、シミュレーションに含まれ得る１つまたは複数の車道用の１つまたは複数のデジタルモデルを記述することができる。たとえば、車道モデルデータは、シミュレーション内の１つまたは複数の車道のデジタルバージョンを作成するためにゲームエンジンによって使用される１つまたは複数の車道モデルを記述することができる。
【０１１２】
いくつかの実装形態では、シミュレーションツールセット１１４は、シミュレーションモデルライブラリ、シミュレーションシナリオライブラリのうちの１つまたは複数の構成要素を含む場合がある。
【０１１３】
いくつかの実装形態では、シミュレーションモデルライブラリは、１つまたは複数のSimulinkモデル、１つまたは複数のDymolaモデル、および１つまたは複数の車道モデルのうちの１つまたは複数の構成要素を含む場合がある。
【０１１４】
いくつかの実装形態では、Simulinkモデルは、ＡＤＡＳシステムなどの車両制御システム用のモデルを含む場合がある。Simulinkモデルは、Unityなどのゲームエンジンによっ
て提供される電子シミュレーションにおいて、車両制御システムの性能をシミュレートするために使用することができる。
【０１１５】
いくつかの実装形態では、Simulinkモデルは、エンジン制御ソフトウェア、トランスミッション制御ソフトウェア、ＡＤＡＳシステム、車両を自律化（自動化）するためのソフトウェア、および任意の他の車両制御ソフトウェアのうちの１つまたは複数の車両構成部品のためのモデルを含む場合がある。
【０１１６】
いくつかの実装形態では、Simulinkモデルは、Simulinkモデルがモデル化する車両制御ソフトウェアに関する１つまたは複数のパラメータを含む場合がある。これらの１つまたは複数のパラメータは、車両制御ソフトウェア用のモデルがゲーミングエンジンによる車両制御ソフトウェアのシミュレーションに従って改善されるように、較正することができる。
【０１１７】
いくつかの実装形態では、Dymolaモデルは、エンジン、トランスミッション、サスペンション、または車両物理モデルによってモデル化することができる任意の他の車両構成部品などの、車両構成部品用の車両物理モデルを含む場合がある。Dymolaモデルは、電子シミュレーションにおいて車両構成部品の性能をシミュレートするために使用することができる。
【０１１８】
いくつかの実装形態では、Dymolaモデルは、車両の１つまたは複数のハードウェア構成要素の物理的挙動を記述することができる。
【０１１９】
たとえば、Dymolaモデルは、車両のエンジンおよび現実の世界におけるその予想される挙動を記述することができる。これは、「エンジンモデル」と呼ばれる場合がある。エンジンモデルは、たとえば、入力軸および出力軸についてのスロットル角の値を含む場合がある。エンジンモデルは、回転トルク、回転速度、および出力軸の物理的挙動を記述することができる他のパラメータなどの、出力軸用の１つまたは複数のパラメータを含む場合がある。エンジンに関連する上記その他のパラメータは、エンジンモデルによって記述することができる。エンジン用のDymolaモデルは、関連するSimulinkモデル（エンジン制御モデル）を有する場合がある。この場合、Simulinkエンジン制御モデルは、スロットル角のコマンド値を出力することができ、Dymolaエンジンモデルは、Simulinkエンジン制御モデルからスロットル角の値を受信し、入力変数としてスロットル角の値を使用して特定の状況における出力軸の挙動を出力することができる１つまたは複数の物理方程式を使用することにより、出力軸の挙動を計算する。それに応じて、Dymolaモデルのいくつかのパラメータ値を動的に決定することができる。軸慣性、エンジンシリンダの数などの出力軸に関する他のパラメータは、設計エンジニアによってハードコーディングする（すなわち、静的に決定する）ことができる。Dymolaエンジンモデルおよび出力軸に関するこの説明は例として提供され、他の例が考えられる。
【０１２０】
Dymolaについて上述された物理モデルは、Dymolaのソフトウェア内部の「プラントモデル」と呼ばれる場合がある。
【０１２１】
いくつかの実装形態では、車両の各ハードウェア構成要素は、個別のDymolaモデル（および場合によってはハードウェアが制御され得る場合の１つまたは複数の対応するSimulinkモデル）を含む場合がある。たとえば、上述されたように、Dymolaモデルは、車両のエンジンの性能をモデル化するエンジンモデルを含む場合がある。Dymolaモデルの他の例には、トランスミッションモデル、ホイールモデル、ブレーキモデル、または車両の任意の他のハードウェア構成要素用の任意の他のモデルが含まれ得る。
【０１２２】
いくつかの実装形態では、車道モデルは、車道システム用のモデルを含む場合がある。車道モデルは、１つまたは複数の車道、交通信号、または実世界における車道の他の従来の特徴を含む場合がある。車道モデルは、電子シミュレーションにおいて車道の電子バージョンを作成するために使用することができる。シミュレートされた車両は、電子シミュレーション内の車道の電子バージョン上を運転し、それにより、その動作がSimulinkモデルに基づいてシミュレートされるＡＤＡＳシステムなどの、１つまたは複数の車両構成部品の性能を試験することができる。いくつかの実装形態による車道モデルの一例が、図７に示されている。
【０１２３】
いくつかの実装形態では、車道モデルデータは、シミュレーションツールセット１１４に含まれるModelicaベースのモデリングツールのうちの１つまたは複数によって作成することができる。
【０１２４】
いくつかの実装形態では、シミュレーションツールセット１１４のゲームエンジンは、パラメータ設定値ライブラリ（たとえば、図３について下記に記載されるパラメータ設定値ライブラリ３９５参照）を含む場合がある。パラメータ設定値ライブラリは、シミュレーションモデルライブラリの車道モデルの各々についての車道パラメータデータを含む場合がある。パラメータ設定値ライブラリは、車道モデルの各々について、速度制限、車道に含まれる車線の総数、車道に含まれる右側車線の総数、車道に含まれる左側車線の総数、車道の長さ、車道に含まれる車線ごとのランド幅、車線の変り目ごとの境界線縞模様オプション（たとえば、境界線なし、破線または鎖線、二重実線、左側の実線および右側の破線、左側の破線および右側の実線、二重実線）、外側車線ごとの縁線、カメラなどの自動車センサによる境界線オプションまたは縁線の視認性（たとえば、自律車両のセンサによって識別することが困難なほど境界線または縁線が覆い隠されていないか、または古くないか）、路肩幅、左側または右側の下り勾配、左側または右側の車道横断勾配、車道に沿ったカーブの配置、車道に沿ったカーブの角度、車道に沿ったカーブの内側の車道勾配、車道に沿った摩擦係数、車道に沿った摩擦係数からの変り目、ならびに車道上のこれらの変り目の配置などのうちの１つまたは複数の車道パラメータを記述することができる。車道パラメータデータによって記述される様々な車道システムは、車道パラメータの様々な組合せによって記述することができる。
【０１２５】
いくつかの実装形態では、車道パラメータデータは、シミュレーションを作成するために使用される１つまたは複数の車道モデルを記述する車道モデルデータを、１つまたは複数のModelicaベースのモデリングツールに作成させるために、シミュレーションツールセット１１４に含まれるModelicaベースのモデリングツールのうちの１つまたは複数に供給される入力であり得る。
【０１２６】
いくつかの実装形態では、シミュレーションツールセット１１４のゲームエンジンによって提供されるシミュレーションは、１つまたは複数のシナリオを含む場合がある。シナリオは、様々な変数に応答して、ＡＤＡＳシステムのデジタルバージョンの動作を試験することができる。シナリオは、シミュレーションシナリオライブラリ（たとえば、図３について下記に記載されるシミュレーションシナリオライブラリ３９７参照）に含まれるシミュレーションシナリオデータによって記述することができる。
【０１２７】
いくつかの実装形態では、シミュレーションシナリオデータによって記述されるシナリオは、たとえば、複数の移動車線、静的または動的であり得る他の車両、（静的であり得る）交通標識、（動的であり得る）交通信号、入口ランプ、出口ランプ、路上で車にはねられて死んだ動物、動物および車道上の他の静的物体もしくは動的物体、雨、氷、変化する路面の摩擦、変化する明暗度（たとえば、昼間、夜間、夕暮れ、夜明け、曇り、故障したヘッドライト、もしくは車両環境の明暗を変化させる場合がある任意の他の状況）、道路工事、車両停止、交通事故、誤った挙動を行う車両もしくは物体、変化する曲がり角の角度、変化する路面の寸法、車両機器についての変化する性能の程度、または静的であれ動的であれ、実世界に存在する任意の他の車道障害物などの、１つまたは複数の静的または動的な車道障害物を含む場合がある。
【０１２８】
シミュレーションを作成するための例示的な実装形態は、その全体が参照により本明細書に組み込まれる、2016年2月2日に出願され「Realistic Roadway Virtualization System」と題する米国特許出願第15/013,936号に記載されている。
【０１２９】
シミュレーションは、全体的であれ部分的であれ、１つまたは複数の車道障害物を有する車道のデジタルバージョン上をナビゲートしながら、車両のデジタルバージョンの動作を制御する車両のデジタルバージョンのＡＤＡＳシステムのデジタルバージョンを含む場合がある。シミュレーションは、全体的であれ部分的であれ、ナビゲーションルート（たとえば、既知の開始点および既知の終了点を含む）または予定を含むスケジュールなどの制約を有する車両のデジタルバージョンの動作を制御するＡＤＡＳシステムのデジタルバージョンを含む場合がある。ゲームエンジンは、数百、数千、または数百万ものシミュレートされた移動マイルにわたる数ダース、数百、数千、または数百万ものシミュレーションを提供することができ、変化するシナリオおよび変化する車道システムがシナリオに含まれる。ゲームエンジン（または最適化エンジン１９９）は、これらのシミュレーションの間に車両のデジタルバージョンのＡＤＡＳシステムのデジタルバージョンの性能を記述するデータを監視および記録することができる。このようにして、最適化エンジン１９９は、特定の車両モデルのＡＤＡＳシステムの特徴的動作を記述する車両特性データ１１０を作成することができる。
【０１３０】
いくつかの実装形態では、最適化エンジン１９９は、１つまたは複数のモデリングツールおよびゲームエンジンを使用して、複数の様々な車両メーカおよび車両モデルについての車両特性データ１１０を決定することができる。たとえば、最適化エンジン１９９は、シミュレーションツールセット１１４のModelicaベースのモデリングツールのうちの１つまたは複数を使用して、（ＡＤＡＳシステム１８０などの）ＡＤＡＳシステムを含む特定の車両モデル（たとえば、２０１５トヨタカローラ、２０１３トヨタプリウスなど）向けのデジタルモデルを作成することができる。デジタルモデルは、シミュレーションツールセット１１４のゲームエンジンに供給することができる。シミュレーションツールセット１１４のゲームエンジンは、デジタルモデルに基づいて車両のデジタルバージョン（たとえば、２０１５トヨタカローラのデジタルバージョン、２０１３トヨタプリウスのデジタルバージョンなど）を作成することができる。ゲームエンジンはまた、車両のデジタルバージョン（すなわち、デジタルシミュレーション）の性能を試験するためのデジタルシミュレーション環境を作成することができる。車両のデジタルバージョンは、シミュレーション環境内で運転することができる。デジタルシミュレーションは、様々な現実的な運転シナリオを含む場合がある。車両のデジタルバージョンは、数百マイル、数千マイル、または数百万マイルにわたってデジタルシミュレーション内で運転することができ、その結果、車両モデル向けのＡＤＡＳシステムの特徴的動作（たとえば、２０１５トヨタカローラに含まれるＡＤＡＳシステムの特徴的動作、２０１３トヨタプリウスに含まれるＡＤＡＳシステムの特徴的動作など）を決定することができる。このようにして、その特定の車
両モデルについての車両特性データ１１０を作成し、最適化サーバ１０３の非一時的メモリ（図示せず）に記憶することができる。
【０１３１】
いくつかの実装形態では、このプロセスは、最適化エンジン１９９によって車両ＩＤを割り当てられた車両モデルごとに繰り返すことができる。このようにして、割り当てられた車両ＩＤを有する車両ごとの車両特性データ１１０を決定することができる。
【０１３２】
シミュレーションツールセット１１４は、図１Ａに示されたように、車両特性データ１１０を出力することができる。車両特性データ１１０は、最適化サーバ１０３の非一時的メモリに記憶することができる。
【０１３３】
ユーザ嗜好データ１１２は、車両のＡＤＡＳシステムの動作についてのユーザ用の１つまたは複数の嗜好を記述するデジタルデータを含む。たとえば、ユーザ嗜好データ１１２は、車両のＡＤＡＳシステムによって制御される１つまたは複数の変数についてユーザが好むかどうかを記述することができる。変数の例には、車両が速度制限または車両環境内の他の車両に対して速く移動するか遅く移動するか、車両が物体・イベント・道路特徴に対して速くブレーキを掛けるか遅くブレーキを掛けるか、車両が他の車両の後ろに接近して追従するか他の車両から遠く離れて追従するか、およびそのほかにも車両のＡＤＡＳシステムによって制御され得る任意の変数が含まれ得る。
【０１３４】
最適化サーバ１０３は、複数の様々なユーザ用のユーザ嗜好データ１１２を記憶する非一時的メモリを含む場合がある。ユーザ嗜好データ１１２の各セットは、ユーザ嗜好データ１１２のそれぞれのセットに関連付けられたユーザに関連するユーザＩＤに基づいて、メモリ内でインデックス付けすることができる。最適化エンジン１９９は、様々なユーザ用のユーザＩＤに基づいて、様々なユーザ用のユーザ嗜好データ１１２を取り出すことができる。
【０１３５】
いくつかの実装形態では、最適化エンジン１９９は、ネットワーク１０５から予約データ１９８を受信することができる（たとえば、予約データ１９８はネットワーク１０５を介して最適化サーバ１０３に送信される）。予約データ１９８は、ユーザ嗜好データ１１２の特定のセットに関連付けられた特定のユーザが、車両特性データ１１０の特定のセットに関連付けられた特定の車両モデルを運転する予約を有する場合があることを示すことができる。予約データ１９８は、特定のユーザ用のユーザＩＤおよび特定の車両モデル用の車両ＩＤを含む場合がある。
【０１３６】
いくつかの実装形態では、最適化エンジン１９９は、最適化サーバ１０３の非一時的メモリから、予約データ１９８に含まれるユーザＩＤに基づいて、予約データ１９８に関連付けられた特定のユーザ用のユーザ嗜好データ１１２を取り出すことができる。たとえば、ユーザ嗜好データ１１２は、ユーザＩＤに基づいて最適化サーバ１０３のデータ構造内でインデックス付けされ、最適化エンジン１９９は、ユーザＩＤを使用してデータ構造を照会することにより、特定のユーザ用のユーザ嗜好データ１１２を取り出す。
【０１３７】
いくつかの実装形態では、最適化エンジン１９９は、最適化サーバ１０３の非一時的メモリから、予約データ１９８に含まれる車両ＩＤに基づいて、予約データ１９８に関連付けられた特定の車両モデル用の車両特性データ１１０を取り出すことができる。たとえば、車両特性データ１１０は、車両ＩＤに基づいて最適化サーバ１０３のデータ構造内でインデックス付けされ、最適化エンジン１９９は、車両ＩＤを使用してデータ構造を照会することにより、特定の車両モデル用の車両特性データ１１０を取り出す。
【０１３８】
予約データ１９８のセットに関連付けられたユーザ嗜好データ１１２および車両特性デ
ータ１１０は、最適化エンジン１９９への入力として供給される場合がある。
【０１３９】
最適化エンジン１９９は、コードおよびルーチンを含み、当該コードおよびルーチンが最適化サーバ１０３のプロセッサによって実行されると、プロセッサは、特定のユーザ用のユーザ嗜好データ１１２および特定の車両モデル用の車両特性データ１１０に基づいて、最適化設定値１７０（本明細書では「最適化設定値データ」とも称する）を作成する。最適化設定値１７０は、特定の車両モデル向けのＡＤＡＳシステム用の制御パラメータが、ＡＤＡＳシステムの動作についての特定のユーザの１つまたは複数の嗜好に基づいてどのように修正されるべきかを記述するデジタルデータを含む場合がある。最適化設定値は、最適化エンジン１９９によって出力することができる。
【０１４０】
予約データ１９８は、車両１２３などの特定の車両モデルが特定のユーザによって運転される（または場合によっては同乗者としてユーザを含む）ときを記述することができる。最適化エンジン１９９は、予約データ１９８によって示される時間より前に、ネットワーク１０５を介して車両１２３のカスタマイゼーションクライアント１９０に最適化設定値１７０を供給することができる。カスタマイゼーションクライアント１９０は、車両のプロセッサによって実行されると、車両１２３内のユーザの運転または移動する予約の時間より前に特定のユーザ向けに車両１２３がカスタマイズされるように、予約データ１９８によって記述される時間より前に最適化設定値１７０に基づいてＡＤＡＳシステム１８０用の制御パラメータをプロセッサに修正させるコードおよびルーチンを含む場合がある。
【０１４１】
最適化エンジン１９９は、図１Ｂおよび図２〜図９を参照して下記でより詳細に記載される。
【０１４２】
いくつかの実装形態では、最適化エンジン１９９は、ＦＰＧＡまたはＡＳＩＣを含むハードウェアを使用して実装される。いくつかの他の実装形態では、最適化エンジン１９９は、ハードウェアとソフトウェアの組合せを使用して実装される。最適化エンジン１９９は、デバイス（たとえば、サーバもしくは他のデバイス）の組合せ、またはデバイスのうちの１つに記憶されてもよい。
【０１４３】
次に図１Ｂを参照すると、いくつかの実装形態による、最適化システムのための動作環境１５５を示すブロック図が描写されている。
【０１４４】
いくつかの実装形態では、動作環境１５５は、予約サーバ１０４、最適化サーバ１０３、および車両１２３のうちの１つまたは複数の構成要素を含む。これらの構成要素は、ネットワーク１０５を介して互いに通信可能に結合される。予約サーバ１０４、最適化サーバ１０３、車両１２３、およびネットワーク１０５の構成要素は図１Ａを参照して上述されたので、これらの説明はここでは繰り返さない。
【０１４５】
動作環境１５５はまた、それぞれ異なるユーザである第１のユーザ１０２Ａ、第２のユーザ１０２Ｂ、および第３のユーザ１０２Ｃを含む。第１のユーザ１０２Ａは、たとえば、2016年5月11日午前8:00に車両１２３を使用するように、予約サーバ１０４によって提
供される予約サービスを用いて、予約をスケジュールしている。第２のユーザ１０２Ｂは、たとえば、2016年5月11日午前11:00に車両１２３を使用するように、予約サーバ１０４によって提供される予約サービスを用いて、予約をスケジュールしている。第３のユーザ１０２Ｃは、たとえば、2016年5月11日午後6:30に車両１２３を使用するように、予約サ
ーバ１０４によって提供される予約サービスを用いて、予約をスケジュールしている。
【０１４６】
いくつかの実装形態では、最適化エンジン１９９は、第１のユーザ１０２Ａ、第２のユ
ーザ１０２Ｂ、および第３のユーザ１０２Ｃの各々のための予約データ１９８を受信する。
【０１４７】
いくつかの実装形態では、最適化サーバ１０３は、ユーザ嗜好データ１１２の３つのセット：第１のユーザ１０２Ａ用のユーザ嗜好データの第１のセット１１２Ａ、第２のユーザ１０２Ｂ用のユーザ嗜好データの第２のセット１１２Ｂ、および第３のユーザ１０２Ｃ用のユーザ嗜好データの第３のセット１１２Ｃを含む。
【０１４８】
いくつかの実装形態では、第１のユーザ嗜好データ１１２Ａは、第１のユーザ１０２Ａのための予約データ１９８の構成要素として、ネットワーク１０５を介して最適化エンジン１９９によって受信される。上記の例では、第１のユーザ１０２Ａのための予約データ１９８は、第１のユーザ１０２Ａが2016年5月11日午前8:00に車両１２３を使用すること
を示す。いくつかの実装形態では、最適化エンジン１９９は、第１のユーザ１０２Ａによって予約された車両１２３用の車両特性データ１１０、および第１のユーザ１０２Ａ用の第１のユーザ嗜好データ１１２Ａに基づいて、第１のユーザ１０２Ａのための予約用の第１の最適化設定値１７０Ａを作成する。最適化エンジン１９９は、午前8:00の予約時間に先行する時間に、ネットワーク１０５を介して車両１２３のカスタマイゼーションクライアント１９０に第１の最適化設定値１７０Ａを供給することができ、その結果、カスタマイゼーションクライアント１９０は、第１のユーザ１０２Ａのための予約時間より前に車両１２３のＡＤＡＳシステム用の制御パラメータを修正することができる。
【０１４９】
いくつかの実装形態では、第２のユーザ嗜好データ１１２Ｂは、第２のユーザ１０２Ｂのための予約データ１９８の構成要素として、ネットワーク１０５を介して最適化エンジン１９９によって受信される。上記の例では、第２のユーザ１０２Ｂのための予約データ１９８は、第２のユーザ１０２Ｂが2016年5月11日午前11:00に車両１２３を使用することを示す。いくつかの実装形態では、最適化エンジン１９９は、第２のユーザ１０２Ｂによって予約された車両１２３用の車両特性データ１１０、および第２のユーザ１０２Ｂ用の第２のユーザ嗜好データ１１２Ｂに基づいて、第２のユーザ１０２Ｂのための予約用の第２の最適化設定値１７０Ｂを作成することができる。最適化エンジン１９９は、午前11:00の予約時間に先行する時間に、ネットワーク１０５を介して車両１２３のカスタマイゼ
ーションクライアント１９０に第２の最適化設定値１７０Ｂを供給することができ、その結果、カスタマイゼーションクライアント１９０は、第２のユーザ１０２Ｂのための予約時間より前に車両１２３のＡＤＡＳシステム用の制御パラメータを修正することができる。
【０１５０】
いくつかの実装形態では、第３のユーザ嗜好データ１１２Ｃは、第３のユーザ１０２Ｃのための予約データ１９８の構成要素として、ネットワーク１０５を介して最適化エンジン１９９によって受信される。上記の例では、第３のユーザ１０２Ｃのための予約データ１９８は、第３のユーザ１０２Ｃが2016年5月11日午後6:30に車両１２３を使用すること
を示すことができる。いくつかの実装形態では、最適化エンジン１９９は、第３のユーザ１０２Ｃによって予約された車両１２３用の車両特性データ１１０、および第３のユーザ１０２Ｃ用の第３のユーザ嗜好データ１１２Ｃに基づいて、第３のユーザ１０２Ｃのための予約用の第３の最適化設定値１７０Ｃを作成する。最適化エンジン１９９は、午後6:30の予約時間に先行する時間に、ネットワーク１０５を介して車両１２３のカスタマイゼーションクライアント１９０に第３の最適化設定値１７０Ｃを供給することができ、その結果、カスタマイゼーションクライアント１９０は、第３のユーザ１０２Ｃのための予約時間より前に車両１２３のＡＤＡＳシステム用の制御パラメータを修正することができる。
【０１５１】
次に図２を参照すると、いくつかの実装形態による、最適化エンジン１９９を含む例示的なコンピュータシステム２００を示すブロック図が描写されている。
【０１５２】
いくつかの実装形態では、コンピュータシステム２００には、図３を参照して下記に記載される方法３００の１つまたは複数のステップを実施するようにプログラムされた専用コンピュータシステムが含まれ得る。
【０１５３】
いくつかの実装形態では、コンピュータシステム２００には、図４を参照して下記に記載される方法４００の１つまたは複数のステップを実施するようにプログラムされた専用コンピュータシステムが含まれ得る。
【０１５４】
いくつかの実装形態では、コンピュータシステム２００には、最適化サーバ１０３が含まれ得る。いくつかの実装形態では、最適化サーバ１０３はクラウドサーバである。
【０１５５】
いくつかの実装形態では、コンピュータシステム２００には、車両１２３の搭載車両コンピュータが含まれ得る。いくつかの実装形態では、コンピュータシステム２００には、車両１２３の電子制御ユニット、ヘッドユニット、または他の何らかのプロセッサベースのコンピューティングデバイスが含まれ得る。
【０１５６】
コンピュータシステム２００は、最適化エンジン１９９、プロセッサ２２５、通信ユニット２４５、ストレージ２４１、シミュレーションツールセット１１４、およびメモリ２２７のうちの１つまたは複数を含む場合がある。コンピュータシステム２００の構成部品は、バス２２０によって通信可能に結合される。
【０１５７】
図示された実装形態では、プロセッサ２２５は、信号線２３８を介してバス２２０に通信可能に結合される。通信ユニット２４５は、信号線２４６を介してバス２２０に通信可能に結合される。シミュレーションツールセット１１４は、信号線２４７を介してバス２２０に通信可能に結合される。ストレージ２４１は、信号線２４２を介してバス２２０に通信可能に結合される。メモリ２２７は、信号線２４４を介してバス２２０に通信可能に結合される。
【０１５８】
シミュレーションツールセット１１４は図１Ａを参照して上述されたので、その説明はここでは繰り返さない。
【０１５９】
プロセッサ２２５は、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または、計算を実行し、ディスプレイデバイスに電子表示信号を供給する他の何らかのプロセッサアレイを含む。プロセッサ２２５は、データ信号を処理し、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む、様々なコンピューティングアーキテクチャを含む場合がある。図２は単一のプロセッサ２２５を含むが、複数のプロセッサが含まれる場合がある。プロセッサ２２５は、グラフィカル処理ユニットを含む場合がある。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理構成が考えられ得る。
【０１６０】
メモリ２２７は、プロセッサ２２５によって実行され得る命令またはデータを記憶する。命令またはデータは、本明細書に記載された技法を実行するためのコードを含む場合がある。メモリ２２７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または他の何らかのメモリデバイスであり得る。いくつかの実装形態では、メモリ２２７はまた、不揮発性メモリまたは同様の永続的なストレージデバイス、および、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、またはよ
り永続的に情報を記憶するための他の何らかのマスストレージデバイスを含む媒体を含む。
【０１６１】
図２に示されたように、メモリ２２７は、車両特性データ１１０、ユーザ嗜好データ１１２、最適化設定値１７０、予約データ１９８、車両ＩＤデータ２９９、およびユーザＩＤデータ２９８のうちの１つまたは複数を記憶する。車両特性データ１１０、ユーザ嗜好データ１１２、最適化設定値１７０、および予約データ１９８は図１Ａおよび図１Ｂを参照して上述されたので、それらの説明はここでは繰り返さない。
【０１６２】
車両ＩＤデータ２９９は、車両用の車両ＩＤまたは他の何らかの一意の識別子を記述するデジタルデータを含む場合がある。たとえば、車両ＩＤデータ２９９は、ある時間にユーザによってどの車両モデルが予約されているかを記述する予約データ１９８の構成要素であり得る。車両ＩＤの一例には、車両識別番号（ＶＩＮ）が含まれ得る。他の例が考えられる。
【０１６３】
ユーザＩＤデータ２９８は、ユーザ用のユーザＩＤまたは他の何らかの一意の識別子を記述するデジタルデータを含む場合がある。たとえば、ユーザＩＤデータ２９８は、ある時間にどのユーザが車両を予約しているかを記述する予約データ１９８の構成要素であり得る。
【０１６４】
通信ユニット２４５は、ネットワーク１０５にデータを送信し、ネットワーク１０５からデータを受信するハードウェアを含む場合がある。いくつかの実装形態では、通信ユニット２４５は、ネットワーク１０５または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット２４５は、ネットワーク１０５との有線通信用のＵＳＢ、ＳＤ、ＣＡＴ−５、または同様のポートを含む。いくつかの実装形態では、通信ユニット２４５は、IEEE802.11、IEEE802.16、Bluetooth（登録商標）、または別の適切なワイ
ヤレス通信方法を含む１つまたは複数のワイヤレス通信方法を使用して、ネットワーク１０５または他の通信チャネルとデータを交換するためのワイヤレストランシーバを含む。
【０１６５】
いくつかの実装形態では、通信ユニット２４５は、ネットワーク１０５または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット２４５は、ネットワーク１０５との有線通信用のＵＳＢ、ＳＤ、ＣＡＴ−５、または同様のポートを含む。
【０１６６】
いくつかの実装形態では、通信ユニット２４５は、IEEE802.11、IEEE802.16、Bluetooth（登録商標）、EN ISO14906:2004電子式料金徴収−アプリケーションインターフェース
、EN12253:2004専用短距離通信-5.8GHzにおいてマイクロ波を使用する物理層（レビュー
）、EN12795:2002専用短距離通信（DSRC）-DSRCデータリンク層、媒体アクセスおよび論
理リンク制御（レビュー）、EN12834:2002専用短距離通信−アプリケーション層（レビュー）、EN13372:2004専用短距離通信（DSRC）-RTTTアプリケーション用DSRCプロファイル
（レビュー）、2014年8月28日に出願されFull-Duplex Coordination Systemと題する米国特許出願第14/471,387号に記載された通信方法、または別の適切なワイヤレス通信方法を含む１つまたは複数のワイヤレス通信方法を使用して、ネットワーク１０５または他の通信チャネルとデータを交換するためのワイヤレストランシーバを含む。
【０１６７】
いくつかの実装形態では、通信ユニット２４５は、2014年8月28日に出願されFull-Duplex Coordination Systemと題する米国特許出願第14/471,387号に記載された全二重調整システムを含む場合がある。
【０１６８】
いくつかの実装形態では、通信ユニット２４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プ
ロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の適切なタイプの電子通信を介して、セルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実装形態では、通信ユニット２４５は、有線ポートおよびワイヤレストランシーバを含む。通信ユニット２４５はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、およびＳＭＴＰ、ミリメートル波、ＤＳＲＣなどを含む標準ネットワークプロトコルを使用して、ファイルまたはメディアオブジェクトを配信するための、ネットワーク１０５への他の従来の接続を提供する。
【０１６９】
ストレージ２４１は、本明細書に記載された機能を実現するためのデータを記憶する非一時的記憶媒体であり得る。ストレージ２４１は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または他の何らかのメモリデバイスであり得る。いくつかの実装形態では、ストレージ２４１はまた、不揮発性メモリまたは同様の永続的なストレージデバイス、および、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための他の何らかのマスストレージデバイスを含む媒体を含む。
【０１７０】
図２に示された図示された実装形態では、最適化エンジン１９９は、通信モジュール２０２と、カスタマイゼーションモジュール２０４と、予約モジュール２０６とを含む。最適化エンジン１９９のこれらの構成部品は、バス２２０を介して互いに通信可能に結合される。いくつかの実装形態では、最適化エンジン１９９の構成部品は、単一のサーバまたはデバイスに記憶することができる。いくつかの他の実装形態では、最適化エンジン１９９の構成部品は、複数のサーバまたはデバイスにまたがって分散し記憶することができる。
【０１７１】
通信モジュール２０２は、最適化エンジン１９９とコンピュータシステム２００の他の構成部品との間の通信を処理するためのルーチンを含むソフトウェアであり得る。いくつかの実装形態では、通信モジュール２０２は、最適化エンジン１９９とコンピュータシステム２００の他の構成部品との間の通信を処理するための下記に記載される機能を実現するために、プロセッサ２２５によって実行可能な１組の命令であり得る。いくつかの実装形態では、通信モジュール２０２は、コンピュータシステム２００のメモリ２２７に記憶することができ、プロセッサ２２５によってアクセス可能かつ実行可能であり得る。通信モジュール２０２は、信号線２２２を介して、プロセッサ２２５およびコンピュータシステム２００の他の構成部品との協働および通信に適合することができる。
【０１７２】
通信モジュール２０２は、通信ユニット２４５を介して、コンピュータシステム２００の１つもしくは複数の構成要素またはネットワーク１０５との間でデータを送受信する。たとえば、通信モジュール２０２は、通信ユニット２４５を介して、以下の、予約データ１９８、ユーザ嗜好データ１１２、車両ＩＤデータ２９９、およびユーザＩＤデータ２９８のうちの１つまたは複数を受信する。
【０１７３】
いくつかの実装形態では、通信モジュール２０２は、最適化エンジン１９９の構成部品からデータを受信し、ストレージ２４１およびメモリ２２７のうちの１つまたは複数にデータを記憶する。たとえば、通信モジュール２０２は、カスタマイゼーションモジュール２０４から最適化設定値１７０を受信し、メモリ２２７に最適化設定値１７０を記憶する。
【０１７４】
いくつかの実装形態では、通信モジュール２０２は、最適化エンジン１９９またはコンピュータシステム２００の構成部品間の通信を処理することができる。
【０１７５】
カスタマイゼーションモジュール２０４は、通信モジュール２０２から予約データ１９８を受信するステップ、予約データ１９８からユーザＩＤデータ２９８および車両ＩＤデータ２９９を識別するステップ、ユーザＩＤデータ２９８に関連付けられたユーザ用のユーザ嗜好データ１１２または予約データ１９８に関連付けられた予約を取り出すステップ、車両ＩＤに関連付けられた車両用の車両特性データ１１０または予約データ１９８に関連付けられた予約を取り出すステップ、ならびに、（１）車両ＩＤに関連付けられた車両用の車両特性データ１１０または予約データ１９８によって記述された予約、および（２）ユーザＩＤに関連付けられたユーザ用のユーザ嗜好データ１１２または予約データ１９８によって記述された予約に基づいて、最適化設定値１７０を作成するステップのうちの１つまたは複数を実施するためのルーチンを含むソフトウェアであり得る。
【０１７６】
いくつかの実装形態では、カスタマイゼーションモジュール２０４によって作成される最適化設定値１７０は、ユーザ嗜好データ１１２に従ってＡＤＡＳシステムが予約車両を動作させる（または予約車両の動作を制御する）ように、車両ＩＤに関連付けられた予約車両のＡＤＡＳシステム用の制御パラメータを修正するように構成される場合がある。
【０１７７】
いくつかの実装形態では、カスタマイゼーションモジュール２０４によって作成される最適化設定値１７０は、車両を予約したユーザの嗜好（たとえば、ユーザＩＤに関連付けられたユーザ嗜好データ１１２）に一致させる方式で、予約車両を動作させる（または予約車両の動作を制御する）ことをＡＤＡＳシステムに行わせるように動作可能な、予約車両のＡＤＡＳシステム用の新しい制御パラメータを含む場合がある。
【０１７８】
いくつかの実装形態では、カスタマイゼーションモジュール２０４は、最適化設定値１７０を作成することにより、本明細書に記載されたようにカスタマイゼーションモジュール２０４がカスタマイズすることができる様々な車両に、車両ＩＤを割り当てるためのソフトウェアを含む場合がある。メモリ２２７に記憶された車両ＩＤデータ２９９の集合は、最適化エンジン１９９によってカスタマイズすることができる車両のインベントリを含む場合がある。
【０１７９】
いくつかの実装形態では、カスタマイゼーションモジュール２０４は、コンピュータシステム２００のメモリ２２７に記憶することができ、プロセッサ２２５によってアクセス可能かつ実行可能であり得る。カスタマイゼーションモジュール２０４は、信号線２２４を介して、プロセッサ２２５およびコンピュータシステム２００の他の構成部品との協働および通信に適合することができる。
【０１８０】
予約データ１９８は、ユーザの予約の開始時間を記述することができる。予約モジュール２０６は、通信モジュール２０２から予約データ１９８を受信するステップ、予約の開始時間を識別するステップ、現在時刻を監視するステップ、および、予約の開始時間より前に、予約に関連付けられた予約車両のカスタマイゼーションクライアント１９０に、特定の予約に関連付けられた最適化設定値１７０を供給するステップのうちの１つまたは複数を実施するためのルーチンを含むソフトウェアであり得る。たとえば、予約モジュール２０６は、予約の開始時間より前に予約車両のカスタマイゼーションクライアント１９０への送信用に、最適化設定値１７０をネットワーク１０５に供給することを通信ユニット２４５に行わせることができる。
【０１８１】
いくつかの実装形態では、最適化設定値１７０の送信は、カスタマイゼーションクライアント１９０が予約車両のＡＤＡＳシステム用の制御パラメータを修正することが可能になるために十分な時間内にカスタマイゼーションクライアント１９０に到達するように構成することができる。たとえば、送信は、カスタマイゼーションクライアント１９０が予
約の開始時間より実質的に１０分前に最適化設定値１７０を受信するように構成することができる。
【０１８２】
いくつかの実装形態では、予約モジュール２０６は、コンピュータシステム２００のメモリ２２７に記憶することができ、プロセッサ２２５によってアクセス可能かつ実行可能であり得る。予約モジュール２０６は、信号線２２６を介して、プロセッサ２２５およびコンピュータシステム２００の他の構成部品との協働および通信に適合することができる。
【０１８３】
次に図３を参照すると、いくつかの実装形態による、車両特性データを決定するための例示的な方法３００のフローチャートが描写されている。
【０１８４】
いくつかの実装形態では、方法３００はオフラインで実行される場合がある。たとえば、コンピュータシステム２００のシミュレーションツールセット１１４は、オフラインで方法３００の１つまたは複数のステップを実行することができる。「オフライン」は、予約を受け付けるより前の時間期間を含む。
【０１８５】
ステップ３０１において、新しいフィールドデータが最適化サーバによって受信されたか否かに関する判定を行う。新しいフィールドデータは、車両ＩＤ、特定のシナリオにおいて車両ＩＤに関連付けられた車両モデル向けのＡＤＡＳシステムの性能、特定のシナリオの一部またはすべての態様を記述する１つまたは複数の物理的な測定値を記述するセンサデータ、および特定のシナリオに関連付けられた車道システムの一部またはすべての態様を記述するセンサデータのうちの１つまたは複数を記述するデジタルデータを含む場合がある。たとえば、新しいフィールドデータは、２０１５トヨタカローラ向けのＡＤＡＳシステムが、ＡＤＡＳシステムの物体検出を支援する車両センサによる車道上の物体検出が困難な、路面が濡れ、かつ、霧がかかっている支線道路上で、どのように動作したかを記述する。
【０１８６】
いくつかの実装形態では、新しいフィールドデータは、様々なシナリオにおいて車両モデル向けのＡＤＡＳシステムの動作（またはその推定値）を記述するデジタルモデルを作成するために、Modelicaベースのモデリングツールのうちの１つまたは複数によって使用されるデータを含む。
【０１８７】
ステップ３０１において新しいフィールドデータが受信されなかった場合、方法３００はステップ３０４に進む。ステップ３０１において新しいフィールドデータが受信された場合、方法３００はステップ３０２に進む。
【０１８８】
ステップ３０２において、新しいフィールドデータを含むようにシミュレーションモデルライブラリ３９９を更新する。シミュレーションモデルライブラリ３９９は、ゲームエンジンによって提供されるシミュレーションに含まれ得るシナリオのセットを記述するデジタルデータを含む。シミュレーションモデルライブラリ３９９は、シミュレーションを提供するために使用される１つまたは複数のデジタルモデルを作成するために、１つまたは複数のModelicaベースのモデリングツールによって使用されるデジタルデータを含む。
【０１８９】
ステップ３０４において、新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在するかどうかに関する判定を行う。たとえば、新しいフィールドデータは、新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在する結果をもたらす。
【０１９０】
代替として、新しいフィールドデータがステップ３０１において存在しない場合があり
、他の何らかの理由で、新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在する場合がある。たとえば、最適化エンジン１９９によるカスタマイゼーションが新しくサポートされる車両に新しい車両ＩＤが割り当てられた結果として、新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在する場合がある。
【０１９１】
ステップ３０４において新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在しない場合、方法３００はステップ３０７に進む。
【０１９２】
ステップ３０４において新しいデジタルモデルデータ、新しいシナリオデータ、または新しいパラメータ設定値が存在する場合、方法３００はステップ３０５に進む。
【０１９３】
ステップ３０５において、１つまたは複数のシミュレーションを実行することができる。たとえば、新しいフィールドデータ、または新しいデジタルモデルデータ、新しいシナリオデータ、もしくは新しいパラメータ設定値の存在に基づいて、新しい車両特性データ１１０を決定するために、シミュレーションを実行する。
【０１９４】
ステップ３０６において、すべてのシミュレーションが完了したかどうかに関する判定を行う。たとえば、新しいフィールドデータに関連付けられた新しい車両特性データ１１０を作成するために、複数のシミュレーションを実行する必要があり得る。
【０１９５】
シミュレーションが完了していない場合、方法３００はステップ３０６に進む。
【０１９６】
シミュレーションが完了した場合、方法３００はステップ３０７に進む。
【０１９７】
ステップ３０７において、メトリクスまたは代理関数（surrogate functions）を計算
する。たとえば、ステップ３０５および３０６におけるシミュレーションの実行は、新しいフィールドデータに関連付けられた車両モデル用の車両特性データ１１０に含めるための新しいメトリクスまたは代理関数をもたらす。
【０１９８】
ステップ３０９において、車両特性データ１１０にメトリクスまたは代理関数を記憶する。たとえば、新しいフィールドデータに関連付けられた車両ＩＤに関連付けられた車両特性データ１１０に、メトリクスまたは代理関数を記憶する。
【０１９９】
次に図４を参照すると、いくつかの実装形態による、ＡＤＡＳシステム用の１つまたは複数の制御パラメータを更新するための例示的な方法４００のフローチャートが描写されている。
【０２００】
いくつかの実装形態では、方法４００は実行時間中に実行される。たとえば、最適化エンジン１９９およびカスタマイゼーションクライアント１９０は、実行時間中に方法４００の１つまたは複数のステップを実行する。「実行時間」は、予約が受け付けられた後の時間期間を含む。
【０２０１】
ステップ４０２において、予約データを受信する。
【０２０２】
ステップ４０４において、予約に関連付けられた車両用の最適化設定値のセットを決定する。
【０２０３】
ステップ４０６において、予約時間より前に対象車両に最適化設定値を供給する。対象車両は、予約された車両を含む。
【０２０４】
ステップ４０８において、最適化設定値に基づいて対象車両のＡＤＡＳシステム用の制御パラメータを更新する。
【０２０５】
次に図５を参照すると、いくつかの実装形態による、ユーザ嗜好データ１１２の一例を示すブロック図が描写されている。ここで、ＡＤＡＳシステムは、アダプティブ・クルーズ・コントロール（ＡＣＣ）システムを含む。ユーザ嗜好データの他の例が考えられる。ユーザ嗜好データ１１２は、車両のＡＤＡＳシステムの制御パラメータ内に存在する任意の変数を修正することについての任意のユーザ嗜好を記述することができる。
【０２０６】
次に図６を参照すると、いくつかの実装形態による、シミュレーションモデルライブラリ３９９の一例を示すブロック図が描写されている。シミュレーションモデルライブラリ３９９は、たとえば、１つまたは複数のSimulinkモデルまたはDymolaモデルを含む。Simulinkモデルは、たとえば、コントローラモデルを含む。Dymolaモデルは、たとえば、車両ダイナミクスモデルを含む。
【０２０７】
次に図７を参照すると、いくつかの実装形態による、車道モデル７００のセットの一例を示すブロック図が描写されている。車道モデル７００は、たとえば、図７に示されたように、１つまたは複数の市道または高速道路システムを含む。１つまたは複数の市道または高速道路は、Unityなどのゲームエンジンの内部に作成することができる。
【０２０８】
シミュレーションシナリオライブラリ３９７は、車道モデル７００によって提供される車道環境上でプレイアウトすることができるシナリオの例を記述することができる。たとえば、車道に存在する車両、歩行者、または他の動的な仮想物体は、誤った挙動を行い、試験されている車両のＡＤＡＳシステムによって回避されるべき障害物を与える可能性がある。シミュレーションシナリオライブラリ３９７の例は、その全体が参照により本明細書に組み込まれる、2016年3月30日に出願されDynamic Virtual Object Generation for Testing Autonomous Vehicles in Simulated Driving Scenariosと題する米国特許出願第15/085,664号に記載されている。
【０２０９】
次に図８を参照すると、いくつかの実装形態による、特定の車両モデル用のパラメータ設定値ライブラリ３９５の一例を示すブロック図が描写されている。図８の描写された例では、パラメータ設定値は、速度制御ゲインまたは距離制御ゲインを制御することができる。速度制御ゲインのパラメータ設定値は、車両がどのように迅速に加速するかを含む場合がある。距離制御ゲインのパラメータ設定値は、別の車両などの別の物体が加速する車両の前方に位置するときに、車両がどのように迅速に加速するかを含む場合がある。加速が遅ければ遅いほど、２つの車両間の離隔距離は大きくなる。
【０２１０】
次に図９を参照すると、いくつかの実装形態による、予約データ１９８の一例を示すブロック図が描写されている。
【０２１１】
予約データ１９８は、以下の、車両ＩＤ、ユーザＩＤ、予約時間（たとえば、開始時間および場合によっては終了時間）、ならびに、場合によっては車両ＩＤによって識別される予約車両に含まれるＡＤＡＳシステムの動作についてのユーザ嗜好のうちの１つまたは複数を含む場合がある。
【０２１２】
次に図１Ａを参照すると、車両１２３および最適化サーバ１０３のうちの１つまたは複数は、通信デバイスであり得る。2014年8月28日に出願され、Full-Duplex Coordination Systemと題する米国特許出願第14/471,387号に関して、半二重通信システムでは、第２の通信デバイスに現在データを送信している第１の通信デバイスは、同時に第２の通信デバ
イスからデータを受信することが可能ではない。第２の通信デバイスが第１の通信デバイスに送信するデータを有する場合、第２の通信デバイスは、第１の通信デバイスがそのデータ送信を完了するまで待つ必要がある。半二重通信システムでは、一度に１つの通信デバイスのみがデータを送信することを許可される。
【０２１３】
規格ＩＥＥＥ８０２．１１ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）では、通信デバイスは、キャリア検知多重アクセス／衝突回避（ＣＳＭＡ／ＣＡ）媒体アクセス制御（ＭＡＣ）プロトコルに基づいて、ワイヤレスチャネルへのアクセスのために競合する場合がある。ＩＥＥＥ８０２．１１ＭＡＣプロトコルは、一度に１つの通信デバイスのみがワイヤレスチャネルを使用してデータを送信することを要求する。２つ以上の通信デバイスが同時にワイヤレスチャネルを介してデータを送信する場合、衝突が発生する。結果として、現在ワイヤレスチャネルにアクセスしている通信デバイスのみが、ワイヤレスチャネルを使用してデータを送信することができる。送信するデータを有する他の通信デバイスは、ワイヤレスチャネルを監視する必要があり、ワイヤレスチャネルが再びアイドルになると、ワイヤレスチャネルへのアクセスのために競合する場合がある。
【０２１４】
本開示に記載された主題の１つの発明的態様によれば、上述された車両１２３、最適化エンジン１９９、および他の通信デバイスは、全二重ワイヤレス通信を実装するための全二重調整システムを含む場合がある。全二重調整システムは、プロセッサ、および、実行されると、（最適化エンジン１９９などの）第１の通信デバイスにおいて、（最適化設定値１７０などの）第１のデータを作成して（カスタマイゼーションクライアント１９０または車両１２３などの）第２の通信デバイスに送信することと、第１の通信デバイスの半二重動作モードを全二重動作モードに切り替えて第１の通信デバイスの全二重動作モードをアクティブ化することと、ワイヤレスチャネルを使用して第１の通信デバイスから第２の通信デバイスに第１のデータの第１の部分を送信することと、第１の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第２の通信デバイスから（メモリ２２７に記憶されるデータの任意の組合せなどの）第２のデータを同時に受信しながら、第２の通信デバイスに第１のデータの残りの部分を送信することとを、全二重調整システムに行わせる命令を記憶するメモリを含む場合がある。
【０２１５】
本開示に記載された主題の別の発明的態様によれば、全二重ワイヤレス通信を実装するための全二重調整システムは、プロセッサ、および、実行されると、ワイヤレスチャネルを介して第１の通信デバイスから（メモリ２２７に記憶されるデータの任意の組合せなどの）第１のデータの第１の部分を受信することと、第１のデータの第１の部分に基づいて、第２の通信デバイスが第１のデータの唯一の宛先であると判断することと、第２の通信デバイスが第１の通信デバイスに送信する（メモリ２２７に記憶されるデータの任意の組合せなどの）第２のデータを有すると判断することと、第１の通信デバイスが全二重通信能力を有すると判断することと、第２の通信デバイスの半二重動作モードを全二重動作モードに切り替えて第２の通信デバイスの全二重動作モードをアクティブ化することと、第２の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第１の通信デバイスから第１のデータの残りの部分を同時に受信しながら、第１の通信デバイスに第２のデータを送信することとを、全二重調整システムに行わせる命令を記憶するメモリを含む場合がある。
【０２１６】
一般に、本開示に記載された主題の別の発明的態様は、第１の通信デバイスにおいて、第１のデータを作成して第２の通信デバイスに送信することと、第１の通信デバイスの半二重動作モードを全二重動作モードに切り替えて第１の通信デバイスの全二重動作モードをアクティブ化することと、ワイヤレスチャネルを使用して第１の通信デバイスから第２の通信デバイスに第１のデータの第１の部分を送信することと、第１の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第２の通信デバイスから第２の
データを同時に受信しながら、第２の通信デバイスに第１のデータの残りの部分を送信することとを含む方法において具現化することができる。
【０２１７】
本開示に記載された主題のさらに別の発明的態様は、ワイヤレスチャネルを介して第１の通信デバイスから第１のデータの第１の部分を受信することと、第１のデータの第１の部分に基づいて、第２の通信デバイスが第１のデータの唯一の宛先であると判断することと、第２の通信デバイスが第１の通信デバイスに送信する第２のデータを有すると判断することと、第１の通信デバイスが全二重通信能力を有すると判断することと、第２の通信デバイスの半二重動作モードを全二重動作モードに切り替えて第２の通信デバイスの全二重動作モードをアクティブ化することと、第２の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第１の通信デバイスから第１のデータの残りの部分を同時に受信しながら、第１の通信デバイスに第２のデータを送信することとを含む方法において具現化することができる。
【０２１８】
本開示に記載された主題の別の発明的態様は、第１の通信デバイスから第２の通信デバイスに送信する第１のデータを決定することと、共通ワイヤレスチャネルを使用して第２の通信デバイスから第２のデータを同時に受信しながら、全二重動作モードで動作する第１の通信デバイスから第２の通信デバイスに第１のデータを送信することとを含む方法において具現化することができる。
【０２１９】
本開示に記載された主題の別の発明的態様は、第２の通信デバイスにおいて、ワイヤレスチャネルを介して第１の通信デバイスから第１のデータを受信することと、第１のデータの少なくとも一部分を受信することに応答して、第２の通信デバイスから第１の通信デバイスに送信する第２のデータを決定することと、第１の通信デバイスから第１のデータを同時に受信しながら、ワイヤレスチャネルを使用して全二重動作モードで動作する第２の通信デバイスから第１の通信デバイスに第２のデータを送信することとを含む方法において具現化することができる。
【０２２０】
本開示に記載された主題の別の発明的態様は、第１の通信デバイスにおいて、第２の通信デバイスに送信する第１のデータを決定することと、第１の通信デバイスを半二重動作モードから全二重動作モードに切り替えることと、第１の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第２の通信デバイスから第２のデータを同時に受信しながら、第２の通信デバイスに第１のデータを送信することと、第１のデータの送信が完了したことの判断に応答して、第１の通信デバイスの全二重動作モードを半二重動作モードに切り替えることとを含む方法において具現化することができる。
【０２２１】
本開示に記載された主題の別の発明的態様は、第２の通信デバイスにおいて、ワイヤレスチャネルを介して第１の通信デバイスから第１のデータを受信することと、第２の通信デバイスが第１の通信デバイスに送信する第２のデータを有すると判断することと、第２の通信デバイスを半二重動作モードから全二重動作モードに切り替えることと、第２の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第１の通信デバイスから第１のデータを同時に受信しながら、第１の通信デバイスに第２のデータを送信することと、第２のデータの送信が完了したことの判断に応答して、第２の通信デバイスの全二重動作モードを半二重動作モードに切り替えることとを含む方法において具現化することができる。
【０２２２】
他の態様は、上記その他の発明的態様のための対応する方法、システム、装置、およびコンピュータプログラム製品を含む。
【０２２３】
上記その他の実装形態は、各々、場合によっては、以下の動作および特徴のうちの１つ
または複数を含む場合がある。たとえば、特徴は、第１のデータが第１のパケットを含み、第１のデータの第１の部分が第１のパケットのヘッダ部分を含むことと、第１のデータの残りの部分が第１のパケットのペイロード部分およびトレーラ部分を含むことと、第２の通信デバイスが第１のデータの唯一の宛先であると判断することと、第２の通信デバイスが第１のデータの唯一の宛先であることに応答して、第１の通信デバイスの全二重動作モードをアクティブ化することと、第１の通信デバイスおよび第２の通信デバイスがワイヤレスローカルエリアネットワーク内の通信デバイスであることと、全二重通信能力が必要とされる規制スペクトルにおいて第１の通信デバイスが動作すると判断することと、第１の通信デバイスに関連付けられたデバイスレジストリデータを受信することと、デバイスレジストリデータに基づいて第１の通信デバイスが全二重通信能力を有すると判断することと、第１のデータの第１の部分内の能力指示フィールドに基づいて第１の通信デバイスが全二重通信能力を有すると判断することとを含み、能力指示フィールドは、第１の通信デバイスが全二重通信能力を有するかどうかを記述するデータを含む。
【０２２４】
たとえば、動作は、ワイヤレスチャネルがアイドルであると判断することと、チャネルアクセスルールに基づいて、第１の通信デバイスと第２の通信デバイスとの間のデータ通信用のワイヤレスチャネルにアクセスすることとを含む。
【０２２５】
本開示は、いくつかの点で特に有利である。たとえば、本明細書に記載されたシステムは、半二重通信技術を使用するのではなく、全二重通信技術を使用して、高いスループットおよび速い通信速度を実現することが可能である。全二重通信は、車両（たとえば、図１Ａに描写されたものなどの、車両１２３に設置された通信システム）、または全二重通信能力を有する他の通信デバイスの間で実施することができる。別の例では、システムは、中央コーディネータを使用しない分散方式で、通信デバイス間の通信を調整する。システムは、通信デバイスのペアを決定し、通信デバイスのペア間のデータの同時送信を調整し、その結果、通信デバイスのペアは、同じワイヤレスチャネルを使用して同時に互いにデータを送信することができる。一方、他の通信デバイスは、衝突を回避するために、そのワイヤレスチャネルを介してデータを送信することができない。本明細書に記載されたシステムの利点が例として提供され、システムは多数の他の利点を有する場合がある。
【０２２６】
本開示は、通信デバイス間の全二重ワイヤレス通信を実施するためのシステムおよび方法を含む。全二重調整システムは、プロセッサ、および、実行されると、第１の通信デバイスにおいて、第１のデータを作成して第２の通信デバイスに送信することと、第１の通信デバイスの半二重動作モードを全二重動作モードに切り替えて第１の通信デバイスの全二重動作モードをアクティブ化することと、ワイヤレスチャネルを使用して第１の通信デバイスから第２の通信デバイスに第１のデータの第１の部分を送信することと、第１の通信デバイスの全二重動作モードにおいて、ワイヤレスチャネルを使用して第２の通信デバイスから第２のデータを同時に受信しながら、第２の通信デバイスに第１のデータの残りの部分を送信することとを、全二重調整システムに行わせる命令を記憶するメモリを含む場合がある。
【０２２７】
以上の説明では、説明の目的で、本明細書を完全に理解するために、多数の具体的な詳細が明記されている。しかしながら、本開示はこれらの具体的な詳細なしに実践され得ることは、当業者には明らかである。場合によっては、説明を不明瞭にすることを回避するために、構造およびデバイスがブロック図の形で示される。たとえば、本実装形態は、主にユーザインターフェースおよび特定のハードウェアを参照して、上記で記載することができる。しかしながら、本実装形態は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、ならびにサービスを提供する任意の周辺デバイスに適用することができる。
【０２２８】
本明細書における「いくつかの実装形態」または「いくつかの事例」に対する参照は、その実装形態または事例とともに記載される特定の特徴、構造、または特性が説明の少なくとも１つの実装形態に含まれ得ることを意味する。本明細書における様々な場所での「いくつかの実装形態では」というフレーズの出現は、必ずしもすべてが同じ実装形態を参照しているとは限らない。
【０２２９】
以下に続く詳細説明のいくつかの部分は、コンピュータメモリ内のデータビット上の演算のアルゴリズムおよびシンボル表現の観点から提示される。これらのアルゴリズム的な記述および表現は、データ処理技術分野の当業者により、他の当業者に自分の仕事の本質を最も効果的に伝達するために使用される手段である。本明細書において、かつ一般的に、アルゴリズムは、望ましい結果に導く自己矛盾のない一連のステップであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。必ずしもそうであるとは限らないが、通常、これらの量は、記憶、転送、合成、比較、および他の方法で操作することが可能な電気信号または磁気信号の形態をとる。主に共通使用の理由で、これらの信号をビット、値、素子、シンボル、文字、用語、番号などとして参照することは、時には好都合であると証明されている。
【０２３０】
しかしながら、これらおよび同様の用語のすべてが、適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎないことは留意されるべきである。以下の説明から明白であると別段に明記されていない限り、説明全体にわたって、「処理」または「計算」または「算出」または「決定」または「表示」などを含む用語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報を記憶、送信、もしくは表示するデバイス内の物理量と同様に表される他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを参照する。
【０２３１】
本明細書の本実装形態はまた、本明細書において動作を実行するための装置に関係することもできる。この装置は、必要な目的のために特別に構築される場合があるか、またはコンピュータに記憶されたコンピュータプログラムによって、選択的にアクティブ化もしくは再構成される汎用コンピュータを含む場合がある。そのようなコンピュータプログラムは、限定はしないが、各々がコンピュータシステムバスに結合される、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、および磁気ディスクを含む任意のタイプのディスク、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードもしくは光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、または電子命令を記憶するのに適した任意のタイプの媒体を含む、コンピュータ可読記憶媒体に記憶される場合がある。
【０２３２】
本明細書は、いくつかの全体的にハードウェアの実装形態、いくつかの全体的にソフトウェアの実装形態、またはハードウェアとソフトウェアの両方の構成要素を含んでいるいくつかの実装形態の形態をとることができる。いくつかの好ましい実装形態では、本明細書は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、ソフトウェアに実装される。
【０２３３】
さらに、説明は、コンピュータまたは任意の命令実行システムが使用するか、またはそれとともに使用されるプログラムコードを提供する、コンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明の目的で、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、命令実行装置、または命令実行デバイスが使用するか、またはそれとともに使用されるプログラムを、内蔵、記憶、通信、伝播、または転送することができる
任意の装置であり得る。
【０２３４】
プログラムコードを記憶または実行するのに適したデータ処理システムは、システムバスを介してメモリ素子に直接的または間接的に結合された少なくとも１つのプロセッサを含む。メモリ素子は、プログラムコードの実際の実行中に利用されるローカルメモリ、バルクストレージ、および、実行中にバルクストレージからコードが取り出されねばならない回数を低減するために、少なくともいくつかのプログラムコードの一時的ストレージを提供するキャッシュメモリを含むことができる。
【０２３５】
（限定はしないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む）入力／出力デバイスまたはＩ／Ｏデバイスは、直接または介在するＩ／Ｏコントローラを介して、システムに結合することができる。
【０２３６】
ネットワークアダプタは、データ処理システムが、介在する専用ネットワークまたは公共ネットワークを介して、他のデータ処理システムまたはリモートプリンタまたはストレージデバイスに結合されるようになることを可能にするために、システムに結合される場合もある。モデム、ケーブルモデム、およびイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタのうちのほんの一部である。
【０２３７】
最後に、本明細書に提示されたアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用システムは、本明細書における教示によるプログラムとともに使用される場合があるか、または必要な方法ステップを実施するためにより特化した装置を構築することが好都合であると証明する場合がある。様々なこれらのシステムに必要な構造は、下記の説明から明らかになる。加えて、本明細書は、いかなる特定のプログラミング言語も参照して記載されていない。本明細書に記載された明細書の教示を実装するために、様々なプログラミング言語を使用できることが諒解されよう。
【０２３８】
本明細書の実装形態の上記の説明は、例示および説明の目的で提示されている。本明細書を開示されたそのままの形態に徹底または限定するものではない。上記の教示に照らして、多くの修正形態または変形形態が可能である。本開示の範囲は、この詳細説明によって限定されず、むしろ本出願の特許請求の範囲によって限定されるものである。当業者によって理解されるように、本明細書は、その趣旨または本質的な特性から逸脱することなく、他の固有の形態で具現化される場合がある。同様に、モジュール、ルーチン、特徴、属性、方法、および他の態様の特定の命名および分割は、必須または重要ではなく、本明細書またはその特徴を実装するメカニズムは、様々な名称、分割、またはフォーマットを有する場合がある。さらに、当業者には明らかなように、本開示のモジュール、ルーチン、特徴、属性、方法、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはその３つの任意の組合せとして実装することができる。また、その例がモジュールである本明細書の構成部品がソフトウェアとして実装される場合はいつでも、構成部品は、スタンドアロンプログラムとして、より大きいプログラムの一部として、複数の別々のプログラムとして、静的もしくは動的にリンクされたライブラリとして、カーネルのロード可能なモジュールとして、デバイスドライバとして、または、コンピュータプログラミングの当業者に現在知られているか、もしくは将来知られるすべておよび任意の他の方法で、実装することができる。加えて、本開示は、任意の固有のプログラミング言語における、または任意の固有のオペレーティングシステムもしくは動作環境のための実装に少しも限定されない。したがって、本開示は、以下の特許請求の範囲で明記される本明細書の範囲を限定するものではなく、例示するものである。
【符号の説明】
【０２３９】
１０３  最適化サーバ
１０４  予約サーバ
１１０  車両特性データ
１１２  ユーザ嗜好データ
１１４  シミュレーションツールセット
１２３  車両
１２５  プロセッサ
１２７  メモリ
１４５  通信ユニット
１５５  動作環境
１７０  最適化設定値
１８０  ＡＤＡＳシステム
１８２  センサセット
１９０  カスタマイゼーションクライアント
１９２  パネル
１９７  スーパーバイザデータ
１９８  予約データ
１９９  最適化エンジン
【図１Ａ】
0006428835.tif 000002
【図１Ｂ】
0006428835.tif 000003
【図２】
0006428835.tif 000004
【図３】
0006428835.tif 000005
【図４】
0006428835.tif 000006
【図５】
0006428835.tif 000007
【図６】
0006428835.tif 000008
【図７】
0006428835.tif 000009
【図８】
0006428835.tif 000010
【図９】
0006428835.tif 000011