(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-23
(54)【発明の名称】車載コンピューティングシステムのためのエラスティックコンピューティング
(51)【国際特許分類】
G06F 9/50 20060101AFI20220516BHJP
B60R 16/02 20060101ALI20220516BHJP
B60R 16/023 20060101ALI20220516BHJP
【FI】
G06F9/50 150Z
B60R16/02 660X
B60R16/023 P
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021558660
(86)(22)【出願日】2020-04-10
(85)【翻訳文提出日】2021-09-29
(86)【国際出願番号】 US2020027808
(87)【国際公開番号】W WO2020210729
(87)【国際公開日】2020-10-15
(32)【優先日】2019-04-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】592051453
【氏名又は名称】ハーマン インターナショナル インダストリーズ インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(72)【発明者】
【氏名】バンゴーテム, ティモシー レイモンド
(72)【発明者】
【氏名】クラフト, ギュンター
(57)【要約】
車両を制御するための例示的なシステムは、車両内に物理的に配置された第1のコンピューティングデバイスと、車両から離れて配置された第2のコンピューティングデバイスと、第1のコンピューティングデバイス及び第2のコンピューティングデバイスに通信可能に結合されたエラスティックコンピューティングモジュールであって、第1及び第2のコンピューティングデバイスの計算能力及びメモリ容量を決定することと、車両の構成要素を制御するためのソフトウェアアプリケーションのソフトウェア要求を決定することと、第1及び第2のコンピューティングデバイスの計算能力及びメモリ容量ならびにソフトウェアアプリケーションのソフトウェア要求に基づいてソフトウェアアプリケーションの処理を第1及び/または第2のコンピューティングデバイスに動的に割り当てることとを行うように構成されたエラスティックコンピューティングモジュールとを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両を制御するためのシステムであって、
前記車両内に物理的に配置された第1のコンピューティングデバイスと、
前記車両から離れて配置された第2のコンピューティングデバイスと、
前記第1のコンピューティングデバイス及び前記第2のコンピューティングデバイスに通信可能に結合されたエラスティックコンピューティングモジュールであって、
前記第1のコンピューティングデバイス及び前記第2のコンピューティングデバイスの計算能力及びメモリ容量を決定することと、
前記車両の構成要素を制御するためのソフトウェアアプリケーションのソフトウェア要求を決定することと、
前記第1のコンピューティングデバイス及び前記第2のコンピューティングデバイスの前記計算能力及び前記メモリ容量ならびに前記ソフトウェアアプリケーションの前記ソフトウェア要求に基づいて、前記ソフトウェアアプリケーションの処理を前記第1のコンピューティングデバイス及び/または前記第2のコンピューティングデバイスに動的に割り当てることと、
を行うように構成される、前記エラスティックコンピューティングモジュールと、
を備えるシステム。
【請求項2】
前記第1のコンピューティングデバイスは、複数の中央処理装置(CPU)、複数のグラフィックス処理装置(GPU)、複数の神経処理装置(NPU)、複数のデジタル信号プロセッサ(DSP)、及び複数のメモリデバイスのうちの1つまたは複数を含む、請求項1に記載のシステム。
【請求項3】
前記第2のコンピューティングデバイスは、第2の複数のCPU、第2の複数のGPU、第2の複数のNPU、及び第2の複数のメモリデバイスのうちの1つまたは複数を備える、請求項2に記載のシステム。
【請求項4】
前記エラスティックコンピューティングモジュールは、前記車両のゲストオペレータのためのゲスト環境を確立して、制限されたアクセスで前記ソフトウェアアプリケーションにアクセスするようにさらに構成される、請求項1に記載のシステム。
【請求項5】
複数の周辺機器をさらに備え、
前記エラスティックコンピューティングモジュールは、前記複数の周辺機器のうちの1つまたは複数の周辺機器へのアクセスを制御するようにさらに構成される、請求項1に記載のシステム。
【請求項6】
前記ソフトウェアアプリケーションは、複数のソフトウェアアプリケーションを含み、
前記エラスティックコンピューティングモジュールは、各ソフトウェアアプリケーションのドメインに従って前記複数のソフトウェアアプリケーションを分割し、
前記エラスティックコンピューティングモジュールは、前記複数のソフトウェアアプリケーションの前記パーティションに従って、各ソフトウェアアプリケーションの処理を割り当てる、請求項1に記載のシステム。
【請求項7】
車載インターフェースシステムであって、
第1のローカルコンピューティングデバイス、第2のローカルコンピューティングデバイス、またはその両方に通信可能に結合するように構成された1つまたは複数の通信リンクと、
前記第1のローカルコンピューティングデバイス及び前記第2のローカルコンピューティングデバイスに結合するように通信可能に構成されたエラスティックコンピューティングモジュールであって、
前記第1のローカルコンピューティングデバイスの処理パラメータの第1のセット及び前記第2のローカルコンピューティングデバイスの処理パラメータの第2のセットを決定することと、
前記車両のソフトウェアアプリケーションの要求される安全パラメータを確立することと、
前記処理パラメータの第1のセット及び前記処理パラメータの第2のセットに基づいて、前記ソフトウェアアプリケーションの要求される前記安全パラメータを満たすように、前記第1のローカルコンピューティングデバイスと前記第2のローカルコンピューティングデバイスとの間で前記ソフトウェアアプリケーションの処理を割り当てることと、
を行うように構成される、前記エラスティックコンピューティングモジュールと、
を備える、車載インターフェースシステム。
【請求項8】
前記処理パラメータの第1のセット及び前記処理パラメータの第2のセットは、計算能力及びメモリ容量のうちの少なくとも一方を含む、請求項7に記載の車載インターフェースシステム。
【請求項9】
第1のシステムオンチップ(SoC)と第2のSoCとをさらに備え、
前記第1のローカルコンピューティングデバイスは、前記第1のSoCを含み、
前記第2のローカルコンピューティングデバイスは、前記第2のSoCを含む、請求項7に記載の車載インターフェースシステム。
【請求項10】
前記システムの第1の処理パーティションが、前記第1のデバイスを含むように実装され、
前記システムの第2の処理パーティションが、前記第2のデバイスを含むように実装される、請求項7に記載の車載インターフェースシステム。
【請求項11】
前記第1の処理パーティションは、前記システムの第1のシステムオンチップ(SoC)に実装され、
前記第2の処理パーティションは、前記システムの第2のSoCに実装される、請求項10に記載の車載インターフェースシステム。
【請求項12】
前記第1の処理パーティションは、1つまたは複数のシャーシ機能、もしくは1つまたは複数のドライブトレイン機能、あるいはその両方に関連する処理を扱う、請求項10に記載の車載インターフェースシステム。
【請求項13】
前記第1の処理パーティションは、第1の安全クラスに関連付けられ、
前記第2の処理パーティションは、第2の安全クラスに関連付けられている、請求項12に記載の車載インターフェースシステム。
【請求項14】
前記通信リンクは、前記第1のローカルコンピューティングデバイスに通信可能に結合するように構成され、
前記車載インターフェースシステムは、前記第2のローカルコンピューティングデバイスに通信可能に結合するように構成された第2の通信リンクをさらに備える、請求項7に記載の車載インターフェースシステム。
【請求項15】
前記車載インターフェースシステムは、リモートコンピューティングデバイスに通信可能に結合するように構成された追加の通信リンクをさらに備え、
前記エラスティックコンピューティングモジュールは、
前記リモートコンピューティングデバイスの処理パラメータの第3のセットを決定することと、
前記車両用の追加のソフトウェアアプリケーションの要求される安全パラメータを確立することと、
前記処理パラメータの第1のセット、前記処理パラメータの第2のセット、ならびに前記処理パラメータの第3のセットに基づいて、前記ソフトウェアアプリケーションの前記要求される安全パラメータを満たすように、前記第1のローカルコンピューティングデバイス、前記第2のローカルコンピューティングデバイス、及び前記リモートコンピューティングデバイスの間で前記ソフトウェアアプリケーションの処理を割り当てることと、
を行うようにさらに構成される、請求項7に記載の車載インターフェースシステム。
【請求項16】
車載エラスティックコンピューティングのための方法であって、
前記車両内に物理的に配置された、第1のコンピューティングデバイス用の第1のパーティションを決定することであって、前記第1のパーティションは第1のドメインのためのものである、前記決定することと、
第2のコンピューティングデバイス用の第2のパーティションを決定することであって、前記第2のパーティションは第2のドメインのためのものである、前記決定することと、
前記第1のドメインに関連するソフトウェアアプリケーションの第1のセットの処理を前記第1のコンピューティングデバイスに割り当てることと、
前記第2のドメインに関連するソフトウェアアプリケーションの第2のセットの処理を前記第2のコンピューティングデバイスに割り当てることと、
を含む、車載エラスティックコンピューティングのための方法。
【請求項17】
前記第2のコンピューティングデバイスは、リモートコンピューティングデバイスである、請求項16に記載の車載エラスティックコンピューティングのための方法。
【請求項18】
前記第1のドメインは、第1の安全カテゴリを包含し、
前記第2のドメインは、第2の安全カテゴリを包含する、請求項16に記載の車載エラスティックコンピューティングのための方法。
【請求項19】
前記第1のコンピューティングデバイスは、第1のシステムオンチップ(SoC)を含み、
前記第2のコンピューティングデバイスは、第2のSoCを含む、請求項16に記載の車載エラスティックコンピューティングのための方法。
【請求項20】
前記第1のドメインは、1つまたは複数のシャーシ機能、もしくは1つまたは複数のドライブトレイン機能、あるいはその両方を包含する、請求項16に記載の車載エラスティックコンピューティングのための方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年4月12日に出願された「ELASTIC COMPUTING FOR IN-VEHICLE COMPUTING SYSTEMS」と題された米国仮特許出願第62/833,598号の優先権を主張する。上記で列挙された本出願の全内容は、あらゆる目的のために参照により本明細書に援用される。
【0002】
本開示は、車載インターフェースシステム及び関連する制御に関する。
【背景技術】
【0003】
車両は、マルチメディア及び制御機能を提供し得るインフォテインメントシステム用のヘッドユニットなどの車載コンピューティングシステムを含み得る。例えば、車載コンピューティングシステムは、ナビゲーション、マルチメディア再生、電話、ソーシャルメディアインタラクティブ、携帯デバイス充電、及び/または他の機能を提供し、車両及び車載コンピューティングシステムの制御要素へのユーザ入力を受信することができる。このような機能を提供するために、車載コンピューティングシステムには、オペレーティングシステムやさまざまなアプリケーションの実行を可能にする複雑でコストのかかる処理及びメモリリソースが含まれる。
【発明の概要】
【課題を解決するための手段】
【0004】
高度なマルチメディア機能及び車両制御を可能にするための十分な処理及びメモリリソースを提供するために、車両は、クラウドコンピューティングリソースなどの外部コンピューティングリソースに通信可能に結合され得る。ただし、十分なコンピューティングリソースがローカルで利用できる場合、このようなリモート処理は不要なことが多く、その結果、ローカル処理とリモート処理の間で負荷が不均衡になる可能性がある。さらに、場合によっては、追加の計算能力が必要になることがある。このような制限を克服するために、エラスティックコンピューティングは、処理のニーズに応じてコンピューティングリソースを動的に割り当てることができる。
【0005】
ローカル及びリモートのハードウェアコンピューティングリソースを割り当てる車載システム及び方法についての実施形態が開示されている。車両を制御するための例示的なシステムは、車両内に物理的に配置された第1のコンピューティングデバイスと、車両から離れて配置された第2のコンピューティングデバイスと、第1のコンピューティングデバイス及び第2のコンピューティングデバイスに通信可能に結合されたエラスティックコンピューティングモジュールであって、第1のコンピューティングデバイス及び第2のコンピューティングデバイスの計算能力及びメモリ容量を決定することと、車両の構成要素を制御するためのソフトウェアアプリケーションのソフトウェア要求を決定することと、第1及び第2のコンピューティングデバイスの計算能力及びメモリ容量ならびにソフトウェアアプリケーションのソフトウェア要求に基づいて、ソフトウェアアプリケーションの処理を第1のコンピューティングデバイス及び/または第2のコンピューティングデバイスに動的に割り当てることと、を行うように構成されたエラスティックコンピューティングモジュールと、を含む。
【0006】
本開示は、添付の図面を参照しながら、非限定的な実施形態の以下の説明を読むことにより、より良く理解され得る。
【図面の簡単な説明】
【0007】
【
図1】本開示の1つまたは複数の実施形態による、車載コンピューティングシステム及びモバイルデバイスを含む車両室内の例示的な部分図である。
【
図2】本開示の1つまたは複数の実施形態による、車載インターフェースシステムが通信している車載インターフェースシステム及び関連する要素のブロック図である。
【
図3】本開示の1つまたは複数の実施形態による、ソフトウェア処理のドメインベースの分割のブロック図である。
【
図4】本開示の1つまたは複数の実施形態による、単一プロセッサを備えるコンピューティングクラスタ手法のブロック図である。
【
図5】本開示の1つまたは複数の実施形態による、複数のプロセッサを備えるコンピューティングクラスタ手法のブロック図である。
【
図6】本開示の1つまたは複数の実施形態による、ネットワークによって結合された複数のプロセッサを備えるコンピューティングクラスタ手法のブロック図である。
【
図7】本開示の1つまたは複数の実施形態による、車載処理用のエラスティックコンピューティングアーキテクチャのブロック図である。
【
図8】本開示の1つまたは複数の実施形態による、コントローラを分離した電子機器の分割を示すブロック図である。
【
図9A】本開示の1つまたは複数の実施形態による、例示的な車両用の車載処理のためのエラスティックコンピューティングアーキテクチャのブロック図である。
【
図9B】本開示の1つまたは複数の実施形態による、例示的な車両用の車載インターフェースシステムのブロック図である。
【
図9C】本開示の1つまたは複数の実施形態による、例示的な車両用のソフトウェア処理のドメインベースの分割のためのアーキテクチャのブロック図である。
【
図10】本開示の1つまたは複数の実施形態による、車載エラスティックコンピューティングのための方法を示す。
【発明を実施するための形態】
【0008】
ドメイン分割、コンピューティングクラスタリング手法、エラスティックコンピューティング、及び電子機器の分割は、本明細書でさらに説明するように、車載制御用の高度なソフトウェアの完全な一式を提供するコストと複雑さを軽減する可能性がある。
【0009】
本明細書で使用される場合、「実施形態」、「いくつかの実施形態」、または「様々な実施形態」が参照される用語は、記載される関連する特徴、構造、または特徴が少なくともいくつかの実施形態にあるが、必ずしもすべての実施形態にあるとは限らないことを意味する。さらに、そのような用語の様々な外観は、必ずしもすべてが同じ実施形態を指すとは限らない。また、「及び/または」という言語を使用して要素が一覧に表示される用語は、列挙された要素の任意の組み合わせを意味する。例えば、「A、B、及び/またはC」は、Aのみ、Bのみ、Cのみ、A及びB、A及びC、B及びC、またはA、B、及びCのいずれかを意味することができる。
【0010】
図1は、運転者及び/または1人または複数の搭乗者が着席し得る車両102の車室100の内部の例示的な部分図を示す。
図1の車両102は、駆動輪(図示せず)と、内燃機関104とを含む自動車であり得る。内燃機関104は、吸気流路を介して吸気を受け取り、排気流路を介して燃焼ガスを排出し得る1つまたは複数の燃焼室を含み得る。車両102は、他の種類の車両の中でも道路走行用の自動車であり得る。いくつかの例では、車両102は、車両運動及び/またはエンジンからのエネルギーを吸収し、吸収されたエネルギーをエネルギー貯蔵デバイスによる貯蔵に好適なエネルギー形態に変換するように動作可能なエネルギー変換デバイスを含むハイブリッド推進システムを含み得る。車両102は、内蔵燃料電池、太陽エネルギー捕捉要素、及び/または車両に電力を供給するための他のエネルギー貯蔵システムを組み込んだ、完全な電動車両を含んでもよい。
【0011】
示されているように、計器パネル106は、車載インターフェースシステムのタッチスクリーン108(例えば、インフォテインメントシステム)、音響システム制御パネル、及び計器クラスタ110など、車両102の運転者にアクセス可能な様々なディスプレイ及び制御装置を含み得る。
図1に示される例示的なシステムは、別個の音響システム制御パネルを用いることなく(タッチスクリーン108などの)車載インターフェースシステムのユーザインターフェースを介して実行され得る音響システム制御装置を含むが、他の実施形態では、車両102は、ラジオ、コンパクトディスクプレーヤ、MP3プレーヤなどの従来の車両音響システムのための制御装置を含み得る音響システム制御パネルを含み得る。音響システム制御装置は、車両スピーカシステムの1つまたは複数のスピーカ112を介して音響出力の1つまたは複数の態様を制御するための機能を含み得る。例えば、音響システム制御装置は、音響入力の音量、車両スピーカシステムの個々のスピーカ間の音の分配、音響信号のイコライゼーション、及び/または音響出力の任意の他の態様を制御し得る。
【0012】
計器クラスタ110は、燃料計、タコメータ、速度計、及び走行距離計などの様々な計器、ならびにインジケータ及び警告灯を含み得る。ハンドル114は、計器クラスタ110の下の計器パネル106から突出し得る。任意に、ハンドル114は、車載インターフェースシステムの機能をナビゲートし、かつ車載インターフェースシステムを制御するためにタッチスクリーン108とともに使用され得る1つまたは複数の制御装置116を含み得る。例示的な例として、制御装置116は、車載インターフェースシステムの音声制御を起動または開始するボタン117を含み得る。例えば、ボタン117が押下されたことに応じて、及び/またはボタン117が押下されている間に、マイク126は、車両の運転者または他の搭乗者による1つまたは複数の発話を記録することができる。次に、マイク126を介して記録された1つまたは複数の発話は、1つまたは複数の発話が音声コマンドを含む場合、車載インターフェースシステムの1つまたは複数の機能をナビゲートまたは制御するために使用され得る。
【0013】
図1に示される構成要素に加えて、計器パネル106がドア及びウィンドウ制御装置、低電圧電源出力としても使用され得るたばこのライター、グローブボックス、及び/または任意の他の好適な要素などの追加の構成要素を含み得ることが理解されるであろう。1つまたは複数の実施形態では、1つまたは複数の環境制御システム通気口118を介する車載環境の制御は、タッチスクリーン108を使用して実行されてもよく、したがって別個の環境制御インターフェースが計器パネル106に含まれなくてもよい。しかしながら、代替的な実施形態では、別個の環境制御インターフェースが提供されてもよい。
【0014】
車室100は、車両、ユーザ、及び/または環境を監視するための1つまたは複数のセンサを含み得る。例えば、車室100は、ユーザの存在を決定するために座席に加えられた圧力を測定するように構成された1つまたは複数の座席搭載型圧力センサ120を含み得る。車室100は、ドアの開放及び/もしくは閉鎖、ドアのロック、ドアの窓の動作、ならびに/または任意の他の好適なドア活動事象など、ドア活動を監視するように構成された1つまたは複数のドアセンサ122を含み得る。湿度センサ124は、車室100の湿度含有量を測定するために含まれてもよい。マイク126は、音声命令の形態でユーザ入力を受信し、ユーザが電話をかけることを可能にし、及び/または車室100内の周囲ノイズを測定することを可能にする。
図1に示されるセンサの配置は、例示的なものであり、1つまたは複数の追加または代替のセンサは、エンジンコンパートメント、車両の外面、及び/または車両の動作、車両の周囲条件、車両のユーザなどに関する情報を提供するための他の適切な場所に配置され得ることを理解されたい。
【0015】
車室100はまた、移動前、移動中、及び/または移動後、車両内に格納される携帯デバイス128など、1つまたは複数のユーザの物体を含み得る。携帯デバイス128としては、スマートフォン、タブレット、ラップトップコンピュータ、携帯用メディアプレーヤー、及び/または任意の好適な携帯コンピューティングデバイスが挙げられ得る。携帯デバイス128は、通信リンク130を介して車載インターフェースシステムに接続されてもよい。通信リンク130は、有線(例えば、ユニバーサルシリアルバス(USB)、モバイルハイデフィニションリンク(MHL)、高精細度マルチメディアインターフェース(HDMI(登録商標))など)または無線(例えば、BLUETOOTH(登録商標)、WI-FI、近距離無線通信(NFC)など)であってよく、携帯デバイス128と車載インターフェースシステムとの間の双方向通信を提供するように構成されてもよい。例えば、通信リンク130は、車載システム及びタッチスクリーン108から携帯デバイス128へのセンサ信号及び/または制御信号を提供し得、携帯デバイス128から車載システムおよびタッチスクリーン108への制御信号および/または表示信号を提供し得る。通信リンク130はまた、携帯デバイス128の内蔵バッテリを充電するために、車載電源から携帯デバイス128に電力を提供し得る。
【0016】
携帯デバイス128は、車載インターフェースシステムから空間的に分離されていると図示され、実質的に外部の通信リンク(例えば、ケーブルまたは無線周波数信号)を介して接続されるが、携帯デバイス収納構造132または他の収納構造が、特定の場所で携帯デバイス128を保持するために計器パネル106または車両内の他の場所に形成され得ることを理解されたい。携帯デバイス収納構造132は、携帯デバイス128が携帯デバイス128とインターフェースシステムとの間に実質的に内部の通信リンクを提供するために取り付けまたは「ドッキング」され得る一体化コネクタ134を含み得る。
【0017】
図2は、車載インターフェースシステム204及び車載インターフェースシステム204が通信している関連要素のブロック図を示している。車載インターフェースシステム204は、
図1の車両102などの、車両202内に配置及び/または統合されてもよい。車載インターフェースシステム204は、コントローラエリアネットワーク(CAN)バス206などの車載相互接続を介して接続された車両システムを含むがこれらに限定されない、車両内の1つまたは複数の要素と通信することができる。任意の適切な数及び/または組み合わせの相互接続を使用して、車載インターフェースシステム204(本明細書では単にインターフェースシステム204と呼ぶことができる)とCANバス、メディア指向システムトランスポート(MOST)バス、イーサネット(登録商標)ベースの相互接続を含むがこれらに限定されない様々な車載構成要素との間の通信を可能にすることができることを理解されたい。相互接続は、車載構成要素と直接通信することができ、及び/または介在するプロセッサを介してそのような構成要素と通信することができる。いくつかの実施形態では、1つまたは複数の車載構成要素は、CANバス206を介してインターフェースシステム204と通信することなく、または通信することに加えて、インターフェースシステム204と直接通信することができる。
【0018】
インターフェースシステム204は、メモリ292及びプロセッサ294ならびに車両202の様々な車載要素を制御するためのリモートサービス290の他のコンピューティングリソースを活用するために、無線ネットワーク280を介して車両202に通信可能に結合されたクラウドコンピューティングサービスまたはエッジデバイスなどの外部のリモートサービス290にCANバス206から情報を渡すことができる。いくつかの実施形態では、インターフェースシステム204は、ワイヤレスゲートウェイ及び/またはワイヤレスプロトコルを含み得、インターフェースシステム204とリモートサービス290との間のワイヤレス接続を可能にする。
【0019】
ディスプレイ210は、ナビゲーション、メディア再生、電話、車両システム制御(例えば、車室温度制御、走行制御設定、走行距離計出力/設定、車両診断制御、車両動作モード制御など)及び/またはその他の車両関連機能に関連する視覚的フィードバックを提供するために画像を表示することができる。いくつかの実施形態では、ディスプレイ210は、
図1のタッチスクリーン108などのタッチスクリーンを含み得、ディスプレイ210を介して受けられる車両関連機能を制御するためのユーザ入力を可能にする。
【0020】
リモートサービス290は、インターフェースシステム204及び/またはディスプレイ210から信号を受信し、メモリ292に格納され、プロセッサ294によって実行される非一時的命令に基づいて信号を処理し、ディスプレイ210及び/またはインターフェースシステム204への表示を出力し、及び/または信号を制御することができる。1つのリモートサービス290が
図2に示されているが、車両202は、動作中に、リモートサービス290を含む1つまたは複数のリモートサービスと通信することができることを理解されたい。
【0021】
図示のように、リモートサービス290は、車両202から分離されており、車両202内に統合されていない。対照的に、
図2の車両202内に示されている他のシステム及び要素のそれぞれは、車両202内に統合され得る。リモートサービス290は、車両202内に統合されたコンピューティングリソース(例えば、
図2の車両202内に示される構成要素によって利用されるコンピューティングリソース)から分離されるコンピューティングリソース(例えば、メモリ292及びプロセッサ294)を含み得る。
【0022】
ディスプレイ信号は、ディスプレイ210の出力を制御することができ、一方、制御信号は、インターフェースシステム204と通信する1つまたは複数の他の車両システム216を制御することができる。例えば、車両システム216は、エンジン及び/またはフロントガラスのワイパー、窓、ドア/ドアロック、ヘッドライト、空調システムなどの補助要素に関連する制御可能な要素を含み得る。制御信号はまた、車両202の1つまたは複数のスピーカ218での音響出力を制御することができる。例えば、制御信号は、音量、イコライゼーション、音像(例えば、1つまたは複数の定義された場所から生じるようにユーザに見える音響出力を生成する音響信号の構成)、スピーカ218間の音響分配などの音響出力特性を調節し得る。
【0023】
ユーザ入力は、例えば、ディスプレイ210のオプションのタッチスクリーンへの追加または代替の入力ソースとして、インターフェースシステム204及び/またはリモートサービス290に送信される1つまたは複数の車載制御装置220を介して受け入れられ得る。車載制御装置220は、ボタン、スライダ、スイッチ、ノブ、レバー、ジョイスティック、キーパッド、ペダルなどの任意の数または組み合わせを含むがこれらに限定されない、車両内及び/または車両上の任意の適切なユーザ作動可能要素を含み得る。例えば、車載制御装置220はまた、ハンドル制御装置(例えば、ハンドルに取り付けられた音響システム制御装置、走行制御装置、フロントガラスワイパー制御装置、ヘッドライト制御装置、方向指示制御装置など)、計器パネル制御装置、アクセル/ブレーキ/クラッチペダル、ギアシフト、運転者または搭乗者のドアに配置されるドア/ウィンドウ制御装置、座席制御装置、車室照明制御装置、音響システム制御装置、車室温度制御装置など、車両202の車室内の制御要素を含み得る。車両の外側に配置された制御要素(例えば、安全システムのための制御装置)はまた、CANバス206などを介して、インターフェースシステム204に接続されてもよい。車載制御装置220の制御要素は、ユーザ入力を受信するために車両上及び/または車両内に物理的かつ恒久的に配置されてもよい。
【0024】
特定の例として、車載制御装置220は、インターフェースシステム204及び/またはリモートサービス290に経路を定められる音声制御コマンドなどのユーザ入力を記録または感知する、車両202のキャビン内に統合されたマイクを含み得る。別の例として、車載制御装置220のハンドル制御装置及び/または計器パネル制御装置は、音声制御を開始するため
図1に示されるボタン117を含み得、ボタン117を押下することは、マイクによって感知された発話が音声コマンドを含むことを示す。このように、車両要素の音声制御を意図しない発話は、車両202の1つまたは複数の要素を制御するためのインターフェースシステム204及び/またはリモートサービス290によって不注意に処理してはいけない。追加的または代替的に、ユーザは、音声制御のためにウェイクワード(例えば、単語、フレーズ、トーン、または他の事前定義された音であり得る特定の音声データ文字列)を発することによって、発話が音声制御を意図することを示すことができる。例えば、インターフェースシステム204及び/またはリモートサービス290は、マイクによって録音された音響を監視し、特に音響をその他の方法で処理または取り扱うことなくウェイクワードを検出するように音響を処理することができ、車両202の乗員によって発せられたウェイクワードの検出に応じて、インターフェースシステム204及び/またはリモートサービス290は、マイクによって感知され、ウェイクワードまたはトリガワードに続く発話を処理することができる。
【0025】
CANバス206は、インターフェースシステム204への車両の動作状態及び/または状態の表示を提供するために、1つまたは複数の車両センサ222と通信することができる。インターフェースシステム204は、車両及び/またはユーザの動作及び/または環境に関連するコンテキスト情報をリモートサービス290に提供するために、車両センサ222からリモートサービス290にセンサ信号を渡すことができる。車両センサ222は、
図1に関して本明細書で上記に説明された車室内センサ、車両動作状態センサ(例えば、燃料貯蔵、エンジン温度、油貯蔵、エンジン速度、車速、トランスミッション/ギア設定、タイヤ圧力、牽引力、診断情報などを監視するセンサ)、及び環境センサ(例えば、リアカメラ及び/または温度、湿度、圧力、路面/状態などの周囲条件を監視する他のセンサ)などの任意の適切なセンサを含み得る。リモートサービス290でユーザ入力及び/またはセンサ信号を受信すると、リモートサービス290は、ディスプレイ210の調整、及び/または車両システム216の制御命令を決定することができる。
【0026】
電力状態及び/または電力制御信号に関する情報は、CANバス206及びインターフェースシステム204を介して、電力モジュール224とリモートサービス290との間で交換され得る。例えば、リモートサービス290は、電力モジュール224から情報を受信し、ディスプレイ210を更新して、1つまたは複数の車両構成要素の電力状態に関するフィードバックをユーザに提供することができる。リモートサービス290は、追加的または代替的に、ユーザ入力、車両センサ222から受信した情報、及び/または電力モジュール224から受信した情報に基づいて、電力モジュール224に制御信号を提供することができる。
【0027】
アンテナ226は、インターフェースシステム204で処理するために、AM/FMラジオ信号をインターフェースシステム204に提供することができる。例えば、インターフェースシステム204は、スピーカ218を制御して、AM/FMラジオ局による音響放送を制御し得、ディスプレイ210を制御して、AM/FMラジオ局に関連する情報及び/または放送されているコンテンツ(例えば、ラジオデータシステムを介した音響付き情報放送)を表示し得る。
【0028】
上記のように様々な車両システム及びリモート290と通信するために、いくつかの実施形態では、インターフェースシステム204は、異なるシステム間で信号を渡す間に発生する可能性がある異なる通信プロトコル及び他の問題を解決するための1つまたは複数のモジュールを含み得る。例えば、インターフェースシステム204は、ディスプレイ210に表示するために、リアカメラからのビデオフィードを同期及び/またはフォーマットするためのビデオスイッチングモジュール(図示せず)を含み得る。別の例として、インターフェースシステム204は、1つのシステム及び/またはデバイスから受信した信号を、ターゲットシステム及び/またはデバイスと互換性があるか、さもなければターゲットシステム及び/またはデバイスで解釈することができるフォーマットに変換するためのエンコーダ(図示せず)及び/またはデコーダ(図示せず)を含み得る。上記のモジュールの1つまたは複数はオプションであり、いくつかの実施形態では、インターフェースシステム204は、信号に調整を与えることなく、受信信号を別のシステム及び/またはデバイスに渡すことができることを理解されたい。
【0029】
インターフェースシステム204は、本明細書で説明される機能を提供するように構成された少なくともプロセッサ232及びメモリ234を含む。いくつかの例では、インターフェースシステム204は、複数のプロセッサ232及び複数のメモリ234を含む。さらに、インターフェースシステム204は、エラスティックコンピューティングモジュール236を含む。
【0030】
エラスティックコンピューティングモジュール236は、プロセッサ232及びメモリ234の計算能力及びメモリ容量、車載周辺機器が接続されるプロセッサ232のシステムオンチップ(SoC)アーキテクチャ、バス速度、バッテリレベル、温度などを含む車載ハードウェアのパラメータ、ならびにリモートサービス290のプロセッサ294及びメモリ292の計算能力及びメモリ容量、エッジツーエッジレイテンシー、コストモデルなどのリモートサービスのパラメータを評価する。エラスティックコンピューティングモジュール236は、計算帯域幅、メモリ、入力/出力、レイテンシー許容度、安全性、セキュリティなどの各ソフトウェア構成要素のニーズをさらに評価する。
【0031】
エラスティックコンピューティングモジュール236は、どのソフトウェアが車両202で実行され、どのソフトウェアがリモートサービス290で実行されるかを決定する。エラスティックコンピューティングモジュール236は、リソースをさらに動的に割り当てて、ソフトウェアのニーズを決定論的に満たし、システムの負荷分散を行う。
【0032】
エラスティックコンピューティングモジュール236は、車両202で実行されるソフトウェアのゲスト環境を確立し、それにより車両202を操作する「ゲスト」ユーザが、制限されたアクセスで、それに応じて車両202にアクセスまたは制御できるようになる。エラスティックコンピューティングモジュール236は、共有周辺機器へのアクセスをさらに制御する。
【0033】
図3は、ソフトウェア処理のドメインベースの分割のための例示的なアーキテクチャ300を示すブロック図である。アーキテクチャ300は、車室モジュール320、テレマティクスモジュール330、ドライブ及び先進運転支援システム(ADAS)モジュール340、シャーシモジュール350、及びドライブトレインモジュール360に通信可能に結合された中央ゲートウェイ310を含む。
図3の各構成要素は、別個のプロセッサ、単一のプロセッサ上の別個のSoCアーキテクチャ、またはそれらの組み合わせに実装され得る。さらに、本明細書で説明されるエラスティックコンピューティングモジュール236は、所与のモジュールの処理能力を拡張するために、クラウドコンピューティングシステム(リモートサービス290など)に追加のプロセッサを動的に割り当てることができる。
【0034】
車室モジュール320は、例示的かつ非限定的な例として、BYOD、クラスタ、ディスプレイ(メイン、クラスタ、HUD、RSE)、通信音響、DMS/OMS、ドア制御、eミラー、エンターテインメント音響、HVAC、インフォテインメント、室内照明、騒音管理、座席制御、音増幅、サラウンドビュー/駐車、車両音(チャイムなど)などに関連する処理を扱うことができる。
【0035】
テレマティクスモジュール330は、例示的かつ非限定的な例として、4/5G接続、アンテナ、Bluetooth(登録商標)/BLE、ビームステアリング、C-V2X、e-Call、電子料金収受、ファイアウォール(複数可)、GNSS、OTAゲートウェイ、Wi-Fiなどに関連する処理を扱うことができる。
【0036】
ドライブ及びADASモジュール340は、例示的かつ非限定的な例として、正面カメラ、短距離/長距離レーダー、eミラー、ならびにDMS/OMS、自動駐車、高速道路パイロット、衝突回避運転支援、インテリジェント交差点通過、サラウンドビュー/駐車などのADASに関連する処理を扱うことができる。
【0037】
シャーシモジュール350は、例示的かつ非限定的な例として、エアバッグ制御、外部照明、パワーステアリング、安定性制御、サスペンション、タイヤ空気圧監視、方向指示器、ワイパー制御などに関連する処理を扱うことができる。
【0038】
ドライブトレインモジュール360は、例示的かつ非限定的な例として、バッテリ及び燃料管理、ブレーキ、エンジン/モータ制御、トラクション制御、ならびにトランスミッション制御に関連する処理を扱うことができる。
【0039】
したがって、ソフトウェア処理は、ドメイン固有の処理が上記のように1つまたは複数のモジュールによって実行されるように、ドメインに従って分割することができる。モジュールの配置は、処理リソースとニーズに応じて動的に変更され得る。さらに、モジュールのハードウェア実装は、
図4~
図6に示されるように、異なる実施形態によって変化し得る。
【0040】
具体的には、
図4は、本開示の1つまたは複数の実施形態による、単一プロセッサを備えるコンピューティングクラスタ手法のブロック
図400である。複数のディスプレイデバイス402、スピーカ404、マイク406、センサ408、及びアクチュエータ410は、プロセッサ430に通信可能に結合され得る。プロセッサ430は、SoC432及びSoC434などの2つ以上のSoCアーキテクチャを含み得る。
図3に関して上記で説明した1つまたは複数のモジュールはSoC432に実装でき、一方、他のモジュールはSoC434に実装できる。
【0041】
別の例として、
図5は、本開示の1つまたは複数の実施形態による、プロセッサ530及びプロセッサ540を含む複数のプロセッサを用いたコンピューティングクラスタ手法のブロック
図500である。複数のSoCを備えた単一プロセッサ(例えば、SoC432及び434を備えたプロセッサ430)ではなく、プロセッサ530は、1つまたは複数のSoC532を含み、一方、プロセッサ540は、1つまたは複数のSoC542を含む。プロセッサ530及び540は両方とも、例えば、車両202に物理的に設置され得、プロセッサ530と540との間の高速インターフェースを提供する周辺構成要素相互接続エクスプレス(PCIe)または同様のバックプレーン550を介して通信可能に結合され得る。
【0042】
別の例として、
図6は、本開示の1つまたは複数の実施形態による、ネットワーク650によって結合された複数のプロセッサ630及び640を備えるコンピューティングクラスタ手法のブロック
図600である。
図5に示される手法と同様に、プロセッサ630は、1つまたは複数のSoC632を含み、一方、プロセッサ640は、1つまたは複数のSoC642を含む。ネットワーク650は、マルチギガビットイーサネット(登録商標)接続を含み得、それにより、プロセッサ630と640との間に高速インターフェースを提供する。
【0043】
図7は、本開示の1つまたは複数の実施形態による、車載処理のためのエラスティックコンピューティングアーキテクチャ700のブロック図である。複数のソフトウェアアプリケーション及びソフトウェアサービスが、ソフトウェア層710に示されている。
図2に関して上記で説明したエラスティックコンピューティングモジュール236を含み得るエラスティックコンピューティング層720は、ハードウェア層の1つまたは複数の構成要素によるソフトウェア層710のソフトウェアアプリケーション及びサービスの実行を容易にする。ハードウェア層は、例示的な例として、複数のCPUコア、複数のGPUコア、複数のNPUコア、複数のTEE、複数のDSPコア、及び複数のメモリを含む、車両に物理的に設置された複数のコンピューティングデバイス730を含む。ハードウェア層は、ディスプレイ、マイク、スピーカ、センサ、及びアクチュエータなど、車両に物理的に設置された複数の周辺機器740をさらに含む。ハードウェア層は、例示的かつ非限定的な例として、複数のCPUコア、複数のGPUコア、複数のNPUコア、複数のメモリ、及び複数のコンテンツを含む、複数のネットワーク及びクラウドコンピューティングデバイス750をさらに含む。
【0044】
エラスティックコンピューティング層720は、周辺機器が接続されているSoC、バス速度、バッテリレベル、温度などの計算能力及びメモリ容量などの車載ハードウェアのパラメータを理解する。エラスティックコンピューティング層720は、計算能力及びメモリ容量、エッジツーエッジレイテンシー、コストモデルなどのエッジ及びクラウドデバイスのパラメータをさらに理解する。エラスティックコンピューティング層720は、計算帯域幅、メモリ、I/O、レイテンシー許容度、安全性、セキュリティなどの、ソフトウェア層710内の各ソフトウェア構成要素のニーズをさらに理解する。
【0045】
エラスティックコンピューティング層720は、車両内コンピューティングデバイス730上で何が実行され、クラウド内クラウドコンピューティングデバイス750上で何が実行されるかを決定する。エラスティックコンピューティング層720は、車載コンピューティングデバイス730及びクラウドコンピューティングデバイス750を含むハードウェア層のコンピューティングリソースを動的に割り当てて、ソフトウェア層710のソフトウェアニーズを決定論的に満たし、システム全体の負荷分散を行う。
【0046】
エラスティックコンピューティング層720は、車両内で実行されるソフトウェアのためのゲスト環境をさらに確立し、共有周辺機器740へのアクセスを制御する。
【0047】
図8は、本開示の1つまたは複数の実施形態による、コントローラを分離した電子機器の分割を示すブロック
図800である。車両は、モジュールは、
図3に関して上述したモジュールなどの1つまたは複数のドメインコントローラ810を含むことができる。ドメインコントローラ810は、機能的親和性によってグループ化することができ、高レベルの機能を担当する。ドメインコントローラは、コアソフトウェア、制御、及びユーザ体験を統合する。
【0048】
さらに、複数のゾーンコントローラ820は、車両全体に分散され得、空間的相乗効果によってグループ化され得る。ゾーンコントローラ820は、例えば、ローカルセンサの管理及び作動、ならびに電力管理を担当することができる。
図8に示されるように電子機器を分割することは、ハードウェアからソフトウェアへの置き換えが促進され、ケーブルハーネス、データ共有、機能融合を最適化し、単一の意思決定ポイントを提供し、構成管理、階層化、及びアップグレードを簡素化する。
【0049】
図9A~9Cは、本明細書で論じたように、例示的な車両の車載処理のためのエラスティックコンピューティングアーキテクチャ、例示的な車両の車載インターフェースシステム、及び例示的な車両のソフトウェア処理のドメインベースの分割のためのアーキテクチャの様々な態様を示す。
図9Aに基づいて、車載処理のためのエラスティックコンピューティングアーキテクチャ902は、様々な実施形態では、ソフトウェアアプリケーションの処理をローカルコンピューティングリソース及びリモートコンピューティングリソースに割り当てることができるエラスティックコンピューティング層974を含む。
図9Bに基づいて、車両904の車載インターフェースシステム920は、エラスティックコンピューティング層974を実装することができるエラスティックコンピューティングモジュール926を備えることができる。さらに、
図9Cに基づいて、エラスティックコンピューティングモジュール926は、ドメイン(例えば、ソフトウェア処理のドメインベースの分割のためのアーキテクチャ906のドメイン)に従ってソフトウェアアプリケーションを分割することができ、パーティションに従ってソフトウェアアプリケーションの処理を割り当てることができる。(他の図の要素と同じ名前を有する
図9Aから9Cの要素は、それらの要素に実質的に同様であってよく、そのような方法で動作または機能することに限定されることなく、実質的に同様の方法で機能または動作することができる。)
【0050】
図9Aに目を向けると、エラスティックコンピューティングアーキテクチャ902は、ソフトウェア層、ハードウェア層、及びエラスティックコンピューティング層974を含む。ソフトウェア層は、1つまたは複数のソフトウェアアプリケーション及び/またはソフトウェアサービス972(例えば、第1のソフトウェアアプリケーション及び/またはサービス、第2のソフトウェアアプリケーション及び/またはサービス、第3のソフトウェアアプリケーション及び/またはサービスなど、第Nのソフトウェアアプリケーション及び/またはサービスまで)を含む。ハードウェア層は、1つまたは複数のローカルコンピューティングデバイス976(例えば、第1のコンピューティングデバイスから第Nのコンピューティングデバイスまで)、1つまたは複数のリモートコンピューティングデバイス978(例えば、第1のコンピューティングデバイスから第Nのコンピューティングデバイスまで)、及び1つまたは複数のローカル周辺機器980(例えば、第1の周辺機器から第Nの周辺機器まで)を含む。
【0051】
ローカルコンピューティングデバイス976は、車両904に物理的に設置され、物理的に組み込まれ、及び/または物理的に配置された様々なコンピューティングリソースを含み得る。リモートコンピューティングデバイス978は、車両904に物理的に設置されていない、物理的に組み込まれていない、及び/または車両904から離れて配置された様々なコンピューティングリソースを含み得る。
【0052】
したがって、エラスティックコンピューティングアーキテクチャ902のローカルコンピューティングリソースは、ローカルコンピューティングデバイス976を含み得、一方、エラスティックコンピューティングアーキテクチャ902のリモートコンピューティングリソースは、リモートコンピューティングデバイス978を含み得る。エラスティックコンピューティングアーキテクチャ902のローカルコンピューティングリソース及びリモートコンピューティングリソースのそれぞれは、例えば、1つまたは複数のコア(例えば、CPUコア、GPUコア、NPUコア、DSPコアなどのプロセッサコア)、TEE、及び/またはメモリを含み得る。
【0053】
ローカル周辺機器980は、車両904に物理的に設置され、物理的に組み込まれ、及び/または物理的に配置された様々な周辺機器を含み得る。ローカル周辺機器は、ディスプレイ、マイク、スピーカ、センサ、及び/またはアクチュエータなどの様々な入力及び/または出力デバイスを含み得る。
【0054】
エラスティックコンピューティング層974は、有線通信リンク、または車両904にローカルな無線通信リンクを介して、ローカルコンピューティングリソース(例えば、ローカルコンピューティングデバイス976)に通信可能に結合され得る。エラスティックコンピューティング層974はまた、遠隔場所に延びる無線通信リンク及び/またはネットワークを介して、リモートコンピューティングリソース(例えば、リモートコンピューティングデバイス978)に通信可能に結合され得る。
【0055】
エラスティックコンピューティング層974は、ソフトウェアアプリケーション及び/またはサービス972の様々な処理要求ならびに/あるいはニーズを決定及び/または理解することができる。それらは、計算帯域幅、メモリ、I/O、レイテンシー許容度、安全性、セキュリティなどに関連し得る。エラスティックコンピューティング層974はまた、様々な周辺機器が接続されているSoC、バス速度、バッテリレベル、温度などの、それらの計算能力及び/またはメモリ容量などのローカルコンピューティングデバイス976の1つまたは複数のパラメータを決定及び/または理解することができる。同様に、エラスティックコンピューティング層974は、それらの計算能力及び/またはメモリ容量、それらのエッジツーエッジレイテンシー、それらのコストモデルなどの、リモートコンピューティングデバイス978の1つまたは複数のパラメータを決定及び/または理解することができる。
【0056】
次に、エラスティックコンピューティング層974は、1つまたは複数のローカルコンピューティングリソース(例えば、ローカルコンピューティングデバイス976)及び/あるいは1つまたは複数のリモートコンピューティングデバイス978(例えば、リモートコンピューティングデバイス978)間でそれらの処理を割り当てることによって、1つまたは複数のソフトウェアアプリケーション及び/またはソフトウェアサービス972の実行を容易にすることができる。割り当ては、ソフトウェアアプリケーション及び/またはソフトウェアサービス972の様々な処理要求及び/またはニーズを最もよく満たすように実施され得る。割り当ては、負荷分散の目的(例えば、ローカル負荷とリモート負荷の間の)を最もよく満たすように実施されてもよい。割り当ては動的であり得、ソフトウェアアプリケーション及び/またはサービス972の処理要求、ローカルコンピューティングリソースのパラメータ及び/または可用性、ならびにリモートコンピューティングデバイスリソースのパラメータ及び/または可用性の変化に従って変化し得る。割り当ても決定論的であってよい。
【0057】
一方で、
図9Bに目を向けると、車両904の車載インターフェースシステム920(車両904内に配置及び/または統合され得る)は、エラスティックコンピューティングモジュール926に加えて、1つまたは複数のプロセッサ922及び1つまたは複数のメモリ924を含む。同様に、(例えば、無線ネットワークを介して)車両904に通信可能に結合され得る1つまたは複数のリモートサービスは、1つまたは複数のプロセッサ及び1つまたは複数のメモリを含み得る。
【0058】
したがって、車載インターフェースシステム920のローカルコンピューティングリソースは、プロセッサ922及びメモリ924を含み得、一方、車載インターフェースシステム920のリモートコンピューティングリソースは、リモートサービスのプロセッサ及びメモリを含み得る。各プロセッサ922及び/またはリモートサービスのプロセッサは、1つまたは複数のSoCを備えることができる(プロセッサ530などの
図4~6のプロセッサと同様)。様々な実施形態では、各SoCは、次に、1つまたは複数のプロセッサコアを有し得る。
【0059】
エラスティックコンピューティングモジュール926は、車両904に対してローカルである有線通信リンクまたは無線通信リンクのいずれかを介して、車両904へのローカルコンピューティングリソース(例えば、プロセッサ922及び/またはメモリ924の)に通信可能に結合され得る。エラスティックコンピューティング層974はまた、遠隔場所に延びる無線通信リンクを介して(例えば、無線ネットワークを介して)、遠隔コンピューティングリソース(例えば、リモートサービスのプロセッサ及び/またはメモリ)に通信可能に結合され得る。いくつかの実施形態では、プロセッサ922の2つ以上は、高速インターフェース(例えば、PCIe、またはマルチギガビットイーサネット(登録商標)接続)を介して互いに通信可能に結合され得る。
【0060】
エラスティックコンピューティングモジュール926は、ソフトウェア構成要素の(例えば、車載インターフェースシステム920の)様々な処理要求及び/またはニーズを決定及び/または理解することができる。それらは、計算帯域幅、メモリ、I/O、レイテンシー許容度、安全性、セキュリティなどに関連し得る。エラスティックコンピューティングモジュール926はまた、プロセッサ922及びメモリ924の計算能力及びメモリ容量、プロセッサ922のSoCアーキテクチャ(車載周辺機器が接続され得る)、バス速度、バッテリレベル、温度などのローカルコンピューティングリソースに関連する様々なパラメータを決定及び/または評価し得る。同様に、エラスティックコンピューティングモジュール926はまた、リモートサービスのプロセッサならびにメモリの計算能力及びメモリ容量、エッジツーエッジレイテンシー、コストモデルなどのリモートコンピューティングリソースの様々なパラメータを決定及び/または評価することができる。
【0061】
次に、エラスティックコンピューティングモジュール926は、1つまたは複数のローカルコンピューティングリソース(例えば、プロセッサ922及び/またはメモリ924)及び/あるいは1つまたは複数のリモートコンピューティングリソース(例えば、リモートサービスのプロセッサ及び/またはメモリ)間でソフトウェア構成要素の処理を割り当てることができる。割り当ては、ソフトウェア構成要素のさまざまな処理要求及び/またはニーズを最もよく満たすように実施され得る。割り当ては、負荷分散の目的(例えば、ローカル負荷とリモート負荷の間)を最もよく満たすように実施されてもよい。割り当ては動的であり得、ソフトウェア構成要素の処理要求、ローカルコンピューティングリソースのパラメータ及び/または可用性、ならびにリモートコンピューティングデバイスリソースのパラメータ及び/または可用性の変化に従って変化し得る。割り当ても決定論的であってよい。
【0062】
図9Cに目を向けると、ソフトウェア処理のドメインベースの分割のためのアーキテクチャ906は、中央ゲートウェイ930と、車両904のためのソフトウェアが分割され得る1つまたは複数のドメイン(例えば、第1のドメイン932、第2のドメイン934、第3のドメイン936など、第Nのドメイン938まで)を備え得る。アーキテクチャ906のドメインは、機能的親和性グループ化を反映し得、高レベルの機能的責任を反映し得、及び/または、あるいは、車両904の様々な部分または態様を反映し得る。例えば、様々なドメインは、
図3の車室モジュール320、テレマティクスモジュール330、ドライブ及びADASモジュール340、シャーシモジュール350、及び/またはドライブトレインモジュール360のドメインに実質的に類似し得る。
【0063】
さらに、様々なドメインの処理は、様々なコンピューティングリソースに割り当てられ得る。ドメインのうちの1つまたは複数に対する処理は、単一のプロセッサ、プロセッサ内の単一のSoC、ならびに/あるいはプロセッサ内及び/またはSoC内の単一のプロセッサコアに割り当てられ得る。代替的に、複数のドメインの処理を、別個のプロセッサ、プロセッサ内の別個のSoC、あるいはプロセッサ内及び/またはSoC内の別個のコアに割り当てることができる。様々な実施形態では、様々なドメインの処理は、上記の様々な組み合わせで割り当てられ得る。
【0064】
したがって、エラスティックコンピューティングモジュール926は、ドメイン固有の処理がコンピューティングリソースの様々なセットに割り当てられるように、様々なドメインに従って車両904のソフトウェア処理を分割することができる。ドメインを処理するために割り当てられたコンピューティングリソースは、異なる実施形態間で異なり得る。様々な実施形態では、コンピューティングリソースの割り当ては、計算帯域幅、メモリ、I/O、レイテンシー許容度、安全性、セキュリティなどのソフトウェアの処理要求及び/またはニーズに関連し得る。例えば、いくつかの実施形態では、コンピューティングリソースの割り当ては、ソフトウェアが要求する安全パラメータ(例えば、自動車安全水準(ASIL)レベル)に関連し得る。いくつかの実施形態では、コンピューティングリソースは、本明細書で論じられるように(例えば、
図8に関して)ドメインコントローラ及びゾーンコントローラに従ってコンピューティングリソースに割り当てられ得る。
【0065】
さらに、ドメインの分割及び/または基礎となるコンピューティングリソースの割り当ては動的であり得、ソフトウェア処理要求、ローカルコンピューティングリソースのパラメータ及び/または可用性、ならびにリモートコンピューティングデバイスリソースのパラメータ及び/または可用性の変化に従って変化し得る。それに応じて、さまざまなドメインに割り当てられた処理能力を拡張できる。
【0066】
図9Aから9Cによれば、エラスティックコンピューティングモジュール926は、コンピューティングリソースからコンピューティングリソースに関連する処理パラメータを受信し得る。エラスティックコンピューティングモジュール926はまた、コンピューティングリソースのための制御シグナリングを確立することができる。
【0067】
いくつかの実施形態では、エラスティックコンピューティングモジュール926は、ソフトウェア処理を、複数のコアを備えた単一のSoCに割り当てることができる。いくつかの実施形態について、エラスティックコンピューティングモジュール926は、ソフトウェア処理を複数のSoC(それらのいずれも1つまたは複数のコアを有し得る)に割り当てることができる。様々な実施形態では、エラスティックコンピューティングモジュール926は、1つまたは複数のコアを備えた単一のSoC及び/または1つまたは複数のコアを備えた複数のSoCの様々な組み合わせにソフトウェア処理を割り当てることができる。エラスティックコンピューティングモジュール926がソフトウェア処理を複数のSoCに割り当てる実施形態では、SoCは、相互接続(例えば、キャッシュコヒーレント相互接続、PCIE相互接続、イーサネット(登録商標)相互接続などであり得る)を介して通信可能に結合され得る。
【0068】
いくつかの実施形態では、エラスティックコンピューティングモジュール926は、コンピューティングリソースのためのクロッキングユニット、電源ユニット、及び/または熱管理ユニットにアクセスすることができる。例えば、エラスティックコンピューティングモジュール926は、1つまたは複数の処理コアの電圧、パワーゲーティング、クロッキング、及びクロックゲーティングを別個に調整するための専用の機構にアクセスすることができる。エラスティックコンピューティングモジュール926はまた、例えば、様々なコンピューティングリソースの動作性能点の範囲に対応するヒューズ電圧値にアクセスすることができる。いくつかの実施形態では、エラスティックコンピューティングモジュール926は、動的電圧ならびに周波数スケーリング及び/または適応電圧スケーリングを支持する機構にアクセスすることができる。様々な実施形態では、エラスティックコンピューティングモジュール926は、1つまたは複数のコアから動作温度を読み取り、コンピューティングエンジンの平均電流及び/または電力損失を読み取り、及び/またはコンピューティングエンジンのピーク電流及び/または電力損失を読み取ることができる場合がある。
【0069】
様々な実施形態について、エラスティックコンピューティングモジュール926は、1つまたは複数のコンピューティングエンジン(例えば、プロセッサ、コア、及び/またはSoC)の性能カウンタ及び/または負荷カウンタを読み取ることができる。性能カウンタ及び/または負荷カウンタは、カウンタメトリックを生成するソフトウェア(例えば、ソース、アプリケーション、及び/またはタスク)を区別することができる。様々な実施形態では、エラスティックコンピューティングモジュール926は、1つまたは複数の相互接続のための読み取りトラフィックカウンタ及び/または書き込みトラフィックカウンタを読み取ることができる。読み取りトラフィックカウンタ及び/または書き込みトラフィックカウンタは、トラフィックを生成するソフトウェア(例えば、ソースとアプリケーション)を明確に区別する場合がある。
【0070】
いくつかの実施形態について、エラスティックコンピューティングモジュール926は、メモリ帯域幅に対するシステム負荷及びソフトウェア要求などの要因に応じて、メモリコンピューティングリソース(ダイナミックランダムアクセスメモリ(DRAM)など)の動作性能点を動的に変更することができる。いくつかの実施形態では、エラスティックコンピューティングモジュール926は、メモリ温度、メモリリフレッシュレート、及び/またはメモリスループット(例えば、カウンタによって捕捉される)などのパラメータに基づいて、現在利用可能なスループットを考慮に入れることができる。
【0071】
様々な実施形態では、エラスティックコンピューティングモジュール926は、様々なタスク(例えば、ソフトウェア処理)に優先順位を付け、及び/または優先順位に基づいて保証された実行時間の仕様または定義をサポートすることができる。いくつかの実施形態では、優先度の高いタスクの実行時間が重要である場合、エラスティックコンピューティングモジュール926は、優先度の高いタスクの実行を保証するために(例えば、所定の時間後に)、優先度の低いタスクを中断してもよい(例えば、それらに割り当てられたコンピューティングリソースの割り当てを解除することによって)。所定の時間内に優先度の高いタスクを実行することが可能である場合、エラスティックコンピューティングモジュール926は、優先度の低いタスクを中断しない可能性がある。
【0072】
様々な実施形態では、エラスティックコンピューティングモジュール926は、コンピューティングリソースを動的に割り当て及び/または分割することができ(例えば、本明細書で論じるように)、専用パーティションまたはドメインのメモリ空間領域を定義することもできる。これは、ドメイン分離(例えば、干渉からの自由)を有利に促進及び/または保証し得、次に、例えば、安全性に関連するソフトウェア要求を促進及び/または保証し得る。ソフトウェアの安全性要求(比較的高いASILレベルの要求など)をサポートするために、いくつかの実施形態では、エラスティックコンピューティングモジュール926は、ソフトウェアアプリケーションに割り当てられたコンピューティングリソース(例えば、処理コア)の割り当てを解除し、1つまたは複数のオンデバイステストを実行して(例えば、ロジック組み込み自己テスト(LBIST)及び/またはその他のテスト)、コンピューティングリソースに検出可能な問題があるかどうかを判断し、問題がない場合は、コンピューティングリソースをソフトウェアアプリケーションに再割り当てすることができる。
【0073】
いくつかの実施形態について、エラスティックコンピューティングモジュール926は、コンピューティングリソースの利用可能な時間または可用性を示すコンピューティングリソース(例えば、処理コア)のためのカウンタにアクセスすることができる。エラスティックコンピューティングモジュール926は、ソフトウェア処理を様々なコンピューティングリソースに割り当てる際にこのデータを考慮することができる(例えば、コンピューティングリソース内の実際のリソースの可用性に基づいて)。
【0074】
いくつかの実施形態では、エラスティックコンピューティングモジュール926は、SoC内のレイテンシーに関するデータ、及び/またはSoC内の1つまたは複数のパスにアクセス(例えば、カウンタまたは性能モニターを介して)できる。エラスティックコンピューティングモジュール926はまた、様々なインターフェース(キャッシュコヒーレント相互接続インターフェース、PCIeインターフェース、イーサネット(登録商標)インターフェースなど)でのレイテンシーに関するデータへアクセス(例えば、カウンタまたは性能モニターを介して)できる。
【0075】
したがって、様々な実施形態では、エラスティックコンピューティングモジュール926は、様々なコンピューティングリソース間でソフトウェア処理を割り当てるための多種多様なデータ及び/または制御機構にアクセスすることができる。いくつかの実施形態について、エラスティックコンピューティングモジュール926は、ニューラルネットワークを使用することができ、ニューラルネットワークは、次に、車両904内の人を認識し、運転者及び/または1人または複数の搭乗者の状態及び/または行動を観察し、機械学習を使用して、様々なユーザがどのようにシステムを使用したい可能性があるかを事前に予測することができる。
【0076】
図10は、車載エラスティックコンピューティングのための例示的な方法1000を示す。方法1000は、第1の決定1010、第2の決定1020、第1の割り当て1030、及び第2の割り当て1040を含み得る。第1の決定1010では、第1のパーティションは、車両内に物理的に配置された第1のコンピューティングデバイスに対して決定され得、第1のパーティションは、第1のドメイのためのものである。第2の決定1020では、第2のパーティションは、第2のコンピューティングデバイスに対して決定され得、第2のパーティションは、第2のドメインのためのものである。第1の割り当て1030では、第1のドメインに関連するソフトウェアアプリケーションの第1のセットの処理は、第1のコンピューティングデバイスに割り当てられ得る。第2の割り当て1040では、第2のドメインに関連するソフトウェアアプリケーションの第2のセットの処理は、第2のコンピューティングデバイスに割り当てられ得る。
【0077】
いくつかの実施形態では、第2のコンピューティングデバイスは、リモートコンピューティングデバイスであってよい。いくつかの実施形態について、第1のドメインは、第1の安全カテゴリを包含し得、第2のドメインは、第2の安全カテゴリを包含し得る。いくつかの実施形態では、第1のコンピューティングデバイスは、第1のSoCを含み得、第2のコンピューティングデバイスは、第2のSoCを含み得る。いくつかの実施形態について、第1のドメインは、1つまたは複数のシャーシ機能、もしくは1つまたは複数のドライブトレイン機能、あるいはその両方を包含し得る。様々な実施形態では、第1のコンピューティングデバイス及び/または第2のコンピューティングデバイスは、1つまたは複数のCPU、1つまたは複数のGPU、1つまたは複数のNPU、1つまたは複数のDSP、及び/あるいは1つまたは複数のメモリデバイスを含み得る。
【0078】
様々な実施形態では、ソフトウェアアプリケーションの処理は、ソフトウェアアプリケーションの要求される安全パラメータ、第1のコンピューティングデバイスの1つまたは複数の処理パラメータ、及び第2のコンピューティングデバイスの1つまたは複数の処理パラメータに基づいて、第1のコンピューティングデバイスまたは第2のコンピューティングデバイスのいずれかに割り当てられ得る。いくつかの実施形態について、処理パラメータの第1のセット及び/または処理パラメータの第2のセットは、計算能力及び/またはメモリ容量を含み得る。
【0079】
様々な実施形態について、本明細書に開示されるようなエラスティックコンピューティングモジュールは、方法1000の様々な部分及び/または本明細書に開示される様々な方法を実施するように構成され得る。いくつかの実施形態では、エラスティックコンピューティングモジュールは、車両のゲストオペレータのためのゲスト環境を確立して制限されたアクセスでソフトウェアアプリケーションにアクセスするように構成され得る。いくつかの実施形態について、エラスティックコンピューティングモジュールは、1つまたは複数の周辺機器へのアクセスを制御するように構成され得る。
【0080】
様々な実施形態では、エラスティックコンピューティングモジュール926は、本明細書に開示される様々な方法の一部または全部を実施するように構成可能であり得る。いくつかの実施形態では、エラスティックコンピューティングモジュール926は、カスタム開発された回路(例えば、特定用途向け集積回路(ASIC)構成要素及び/またはフィールドプログラマブルゲートアレイ(FPGA)デバイス)を含み得る。いくつかの実施形態では、エラスティックコンピューティングモジュール926は、1つまたは複数のプロセッサと、実行されると、1つまたは複数のプロセッサに本明細書に開示される方法の一部またはすべてを実施させることができる実行可能命令を保持するためのメモリとを備え得る。いくつかの例示的な実施形態について、エラスティックコンピューティングモジュール926は、プロセッサ922及び/またはメモリ924によって少なくとも部分的に実装され得る。
【0081】
本明細書で論じられるようなエラスティックコンピューティング層及び/またはエラスティックコンピューティングモジュールは、動的かつ適応する方法で、コンピューティングリソース間でソフトウェア処理を有利に分散させることができる。次に、これは、システムリソースの統合、処理の柔軟性、システムコストの削減、及びさまざまなメトリック(性能、エネルギー使用量、構成要素の経年劣化の最小化など)に対するシステム出力の最適化を有利に促進する。これらの利点は、ソフトウェア実装及び/またはハードウェア実装の詳細とは無関係であり得る。
【0082】
本明細書で論じられた方法及びシステムに対する第1の手法では、車両を制御するためのシステムの第1の例は、車両内に物理的に配置された第1のコンピューティングデバイスと、車両から離れて配置された第2のコンピューティングデバイスと、第1のコンピューティングデバイス及び第2のコンピューティングデバイスに通信可能に結合されたエラスティックコンピューティングモジュールであって、第1のコンピューティングデバイス及び第2のコンピューティングデバイスの計算能力及びメモリ容量を決定することと、車両の構成要素を制御するためのソフトウェアアプリケーションのソフトウェア要求を決定することと、第1のコンピューティングデバイス及び第2のコンピューティングデバイスの計算能力及びメモリ容量ならびにソフトウェアアプリケーションのソフトウェア要求に基づいて、第1のコンピューティングデバイス及び/または第2のコンピューティングデバイスにソフトウェアアプリケーションの処理を動的に割り当てることと、を行うように構成されたエラスティックコンピューティングモジュールと、を備える。第1の例を構築し直すと、システムの第2の例では、第1のコンピューティングデバイスは、複数のCPU、複数のGPU、複数のNPU、複数のDSP、及び複数のメモリデバイスのうちの1つまたは複数を含む。第2の例を構築し直すと、システムの第3の例では、第2のコンピューティングデバイスは、第2の複数のCPU、第2の複数のGPU、第2の複数のNPU、及び第2の複数のメモリデバイスのうちの1つまたは複数を備える。第1の例から第3の例のいずれかを構築し直すと、システムの第4の例では、エラスティックコンピューティングモジュールは、車両のゲストオペレータのゲスト環境を確立して、制限されたアクセスでソフトウェアアプリケーションにアクセスするようにさらに構成される。第1の例から第4の例までのいずれかを構築し直すと、システムの第5の例は、複数の周辺機器をさらに含み、エラスティックコンピューティングモジュールは、複数の周辺機器の1つまたは複数の周辺機器へのアクセスを制御するようにさらに構成される。第1の例から第5の例までのいずれかを構築し直すと、システムの第6の例では、ソフトウェアアプリケーションは、複数のソフトウェアアプリケーションを含み、エラスティックコンピューティングモジュールは、各ソフトウェアアプリケーションのドメインに従って複数のソフトウェアアプリケーションを分割し、エラスティックコンピューティングモジュールは、複数のソフトウェアアプリケーションのパーティションに従って、各ソフトウェアアプリケーションの処理を割り当てる。
【0083】
本明細書で論じられる方法及びシステムへの第2の手法では、車載インターフェースシステムの第1の例は、第1のローカルコンピューティングデバイス、第2のローカルコンピューティングデバイス、またはその両方に通信可能に結合するように構成された1つまたは複数の通信リンクと、第1のローカルコンピューティングデバイス及び第2のローカルコンピューティングデバイスに結合するように通信可能に構成されたエラスティックコンピューティングモジュールであって、第1のローカルコンピューティングデバイスの処理パラメータの第1のセット及び第2のローカルコンピューティングデバイスの処理パラメータの第2のセットを決定することと、車両のソフトウェアアプリケーションの要求される安全パラメータを確立することと、処理パラメータの第1のセット及び処理パラメータの第2のセットに基づいて、ソフトウェアアプリケーションの要求される安全パラメータを満たすように、第1のローカルコンピューティングデバイスと第2のローカルコンピューティングデバイスとの間でソフトウェアアプリケーションの処理を割り当てることと、を行うように構成されたエラスティックコンピューティングモジュールと、を備える。第1の例を構築し直すと、車載インターフェースシステムの第2の例では、処理パラメータの第1のセット及び処理パラメータの第2のセットは、計算能力及びメモリ容量のうちの少なくとも一方を含む。第1の例または第2の例のいずれかを構築し直すと、車載インターフェースシステムの第3の例は、さらに、第1のSoC及び第2のSoCを含み、第1のローカルコンピューティングデバイスは、第1のSoCを含み、第2のローカルコンピューティングデバイスは、第2のSoCを含む。第1の例から第3の例までのいずれかを構築し直すと、車載インターフェースシステムの第4の例では、システムの第1の処理パーティションが、第1のデバイスを含むように実装され、システムの第2の処理パーティションが、第2のデバイスを含むように実装される。第4の例を構築し直すと、車載インターフェースシステムの第5の例では、第1の処理パーティションがシステムの第1のSoCに実装され、第2の処理パーティションがシステムの第2のSoCに実装される。第4の例または第5の例のいずれかを構築し直すと、車載インターフェースシステムの第6の例では、第1の処理パーティションは、1つまたは複数のシャーシ機能、もしくは1つまたは複数のドライブトレイン機能、あるいはその両方に関連する処理を扱う。第6の例を構築し直すと、請求項6に記載の車載インターフェースシステムの第7の例では、第1の処理パーティションは、第1の安全クラスに関連付けられ、第2の処理パーティションは、第2の安全クラスに関連付けられる。第1の例から第7の例までのいずれかを構築し直すと、車載インターフェースシステムの第8の例では、通信リンクは、第1のローカルコンピューティングデバイスに通信可能に結合するように構成され、車載インターフェースシステムは、第2のローカルコンピューティングデバイスに通信可能に結合するように構成された第2の通信リンクをさらに備える。前記第1の例から第8の例のいずれかを構築し直すと、請求項1から8のいずれかに記載の車載インターフェースシステムの第9の例では、車載インターフェースシステムは、リモートコンピューティングデバイスに通信可能に結合するように構成された追加の通信リンクをさらに備え、エラスティックコンピューティングモジュールは、リモートコンピューティングデバイスの処理パラメータの第3のセットを決定することと、車両用の追加ソフトウェアアプリケーションの要求される安全パラメータを確立することと、処理パラメータの第1のセット、処理パラメータの第2のセット、及び処理パラメータの第3のセットに基づいて、ソフトウェアアプリケーションの要求される安全パラメータを満たすように、第1のローカルコンピューティングデバイス、第2のローカルコンピューティングデバイス、及びリモートコンピューティングデバイスの間でソフトウェアアプリケーションの処理を割り当てることと、を行うようにさらに構成される。
【0084】
本明細書で論じられる方法及びシステムへの第3の手法では、車載エラスティックコンピューティングのための方法の第1の例は、車両内に物理的に配置された、第1のコンピューティングデバイス用の第1のパーティションを決定することであって、第1のパーティションは第1のドメインのためのものである、該決定することと、第2のコンピューティングデバイス用の第2のパーティションを決定することであって、第2のパーティションは第2のドメインのためのものである、該決定することと、第1のドメインに関連するソフトウェアアプリケーションの第1のセットの処理を第1のコンピューティングデバイスに割り当てることと、第2のドメインに関連するソフトウェアアプリケーションの第2のセットの処理を第2のコンピューティングデバイスに割り当てることと、を含む。第1の例を構築し直すと、車載エラスティックコンピューティングのための方法の第2の例では、第2のコンピューティングデバイスはリモートコンピューティングデバイスである。第1の例または第2の例のいずれかを構築し直すと、車載エラスティックコンピューティングのための方法の第3の例では、第1のドメインは第1の安全カテゴリを包含し、第2のドメインは第2の安全カテゴリを包含する。第1の例から第3の例までのいずれかを構築し直すと、車載エラスティックコンピューティングのための方法の第4の例では、第1のコンピューティングデバイスは第1のSoCを含み、第2のコンピューティングデバイスは第2のSoCを含む。第1の例から第4の例のいずれかを構築し直すと、車載エラスティックコンピューティングのための方法の第5の例では、第1のドメインは、1つまたは複数のシャーシ機能、もしくは1つまたは複数のドライブトレイン機能、あるいはその両方を包含する。
【0085】
実施形態の説明は、例示及び説明の目的で提示している。実施形態に対する好適な修正及び変形は、上記の説明に照らして実行され得、または方法を実践することから得られ得る。例えば、別段の記載がない限り、上述の方法のうちの1つまたは複数は、
図1から9Cに関連して上述された車両システム及びクラウドコンピューティングシステムなど、好適なデバイス及び/またはデバイスの組み合わせによって実施されてもよい。方法は、ストレージデバイス、メモリ、ハードウェアネットワークインタフェース/アンテナ、スイッチ、アクチュエータ、クロック回路などの、1つまたは複数のハードウェア要素と組み合わせて1つまたは複数の論理デバイス(例えば、プロセッサ)を用いて格納された命令を実行することによって実施され得る。記載した方法及び関連する行為はまた、本出願に記載した順序に加えて様々な順序で、並行して、及び/または同時に実行され得る。記載したシステムは、本質的に例示的なものであり、追加の要素を含み得、及び/または要素を省略し得る。本開示の発明の主題には、さまざまなシステムや構成、および開示された他の特徴、機能、及び/または特性の、すべての新規および非自明の組み合わせとサブコンビネーションが含まれます。
【0086】
本出願で使用する場合、単数形で記載した、「a」または「an」という語が先行する要素またはステップは、排除の記載がない限り、複数の当該要素またはステップを排除しないものとして理解されたい。さらに、本開示の「一実施形態」または「一実施例」への言及は、列挙した特徴も組み込んだ追加の実施形態の存在を排除するものとして解釈されることを意図していない。「第1」、「第2」、及び「第3」などの用語は、単にラベルとして使用しており、数的要件または特定の位置的順序をそれらの物体に課すことを意図していない。以下の特許請求の範囲は、新しくかつ非自明と見なされる上記の開示からの主題を具体的に指し示す。
【国際調査報告】