JP6245388B2 - 自動車システムのアップグレードをサポートする互換性モジュール - Google Patents

自動車システムのアップグレードをサポートする互換性モジュール Download PDF

Info

Publication number
JP6245388B2
JP6245388B2 JP2017000658A JP2017000658A JP6245388B2 JP 6245388 B2 JP6245388 B2 JP 6245388B2 JP 2017000658 A JP2017000658 A JP 2017000658A JP 2017000658 A JP2017000658 A JP 2017000658A JP 6245388 B2 JP6245388 B2 JP 6245388B2
Authority
JP
Japan
Prior art keywords
sensor
module
control unit
engine control
compatibility
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2017000658A
Other languages
English (en)
Other versions
JP2017145822A (ja
Inventor
華鋒 于
華鋒 于
ボーウェン ジュヨン,
ボーウェン ジュヨン,
忠緯 林
忠緯 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of JP2017145822A publication Critical patent/JP2017145822A/ja
Application granted granted Critical
Publication of JP6245388B2 publication Critical patent/JP6245388B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本明細書は、自動車システムのアップグレードをサポートする互換性モジュールに関する。たとえば、互換性モジュールは、適応センサシステムや適応エンジン制御ユニットシステムに対するアップグレードの後の、適応センサシステムと適応エンジン制御ユニットシステムとの間の非互換性を除去することができる。
自動車システムにおいてソフトウェアおよびハードウェアを頻繁にアップグレードすることが必要になりつつあり、様々なコンテキストにおいて例を見つけることができる。例えば、構成部品が潜在的なセキュリティリスクを有する場合や、より高い精度のセンサが必要にとされる場合や、新しい安全技法が統合されることが期待される場合などである。自動車会社は、自社の自動車システムをアップグレードする課題に迅速に対応するように苦労している。
自動車システムにおける構成部品のアップグレードは、複数の構成部品がアップグレードによる影響を受ける可能性があるので、劇的な設計変更につながったり、さらにはシステム全体の再設計にもつながったりする場合がある。その結果、コストの増大や製品化までの時間増加が生じてしまう。
自動車は多くの構成部品を含む場合がある。各構成部品は、互換性モジュール(compatibility module)を含む場合がある。互換性モジュールは、アップグレードされた構成部品とアップグレードされていない構成部品との間の互換性を保ちながら、システムアップグレードを実施することができるモジュールである。
互換性モジュールは、ハードウェアとその上で動作するソフトウェアとの間に存在することが好ましい。互換性モジュールは、ソフトウェアコンポーネント同士の間に存在してもよい。
互換性モジュールは、アップグレードされた構成部品を識別し、アップグレードされた構成部品からもたらされる非互換性を分類することが好ましい。
互換性モジュールは、互換性機能(compatibility function)を選択および適用して、アップグレードされた構成部品とアップグレードされていない構成部品との間のギャップを埋めることが好ましい。これらの互換性機能は、これらの構成部品をシームレスな方法で協働させるために開発されている。互換性機能は、実行時間(execution time)、周期(period)、暗号化アルゴリズム(encryption algorithm)、インターフェース(interface)などの変更を管理するように構成されてもよい。互換性モジュールは、非互換性の
カテゴリに対応して、互換性機能を選択することが好ましい。たとえば、周期調整機能は、2つの構成部品用の周期の間の非互換性に適用することができる。
たとえば、センサと、センサを管理するエンジン制御ユニットとを含む簡単な自動車システムを考える。システムをアップグレードしてセンサを新しいセンサと交換し、新しいセンサは前のセンサよりも速い周期(またはレート)で動作すると仮定する。エンジン制御ユニットは、遅い周期で動作していた前のセンサと協調して動作するように構成されている。エンジン制御ユニットは互換性モジュールを含み、この互換性モジュールは、非互換性を識別し、速い周期で動作するようにエンジン制御ユニットの動作を修正し、それに
より非互換性を訂正する。互換性モジュール自体は、エンジン制御ユニットの周期を制御する周期パラメータを記憶する。互換性モジュールは、速い周期、および、結果としてセンサとセンサを管理するエンジン制御ユニットとの間の非互換性の除去をもたらす周期パラメータを記憶するように、それ自体を修正する。もしも互換性モジュールがなかった場合には、エンジン制御ユニットを、新しいセンサとの互換性がある新しいエンジン制御ユニットと交換する必要があり、それにより、アップグレードのためのコストおよび実装時間が増大したはずである。
したがって、互換性モジュールに自動車システムのアップグレード可能な構成要素を含めることは、頻繁なハードウェアおよびソフトウェアのアップグレードの問題に対する、コスト効率が高く柔軟な解決策である。この手法は、たとえば、少数の構成部品のアップグレードによって引き起こされるシステムレベルの変更を回避することができるので、コスト効率が高い。この手法は、たとえば、増分方式のアップグレードを可能にする、すなわち、すべての関連構成部品を同時にアップグレードする必要がないので、柔軟である。
次に、例示的な実施形態を記載する。
1つまたは複数のプロセッサのシステムは、動作中にシステムにアクション(action)を実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有するおかけで、特定の動作またはアクションを実行するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると装置にアクションを実行させる命令を含むおかけで、特定の動作またはアクションを実行するように構成することができる。
1つの一般態様は、センサシステムとエンジン制御ユニットシステムとの間の非互換性を除去するシステムである。システムは、エンジン制御ユニットシステムに通信可能に結合されたセンサシステムを含む自動車を含む。
センサシステムは、センサおよびセンサモジュールに通信可能に結合された第1の互換性モジュールを含む。センサは、物理環境(physical environment)の属性(attribute
)を測定するように構成されたハードウェアを含む。センサモジュールは、自動車のプロセッサによって実行されることに応答して、センサによって測定された物理環境の測定値を記述するセンサデータを記録し、エンジン制御ユニットシステムにセンサデータを供給する処理をセンサに行わせる命令を含む。
エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第2の互換性モジュールを含む。エンジン制御ユニットは、自動車の性能を管理するように構成されたハードウェアを含み、エンジン制御ユニットモジュールは、プロセッサによって実行されることに応答して、センサデータに応答して自動車の性能を修正するべきかどうかを判定する処理をエンジン制御ユニットに行わせる命令を含む。
第1の互換性モジュールは、センサおよびセンサモジュールの第1の動作を制御するセンサ性能パラメータの第1のセットを記憶する第1のデータ構造を含み、第1のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの1つまたは複数の第1の動作が修正されるように構成される。
第2の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第2の動作を制御するエンジン制御ユニット性能パラメータの第2のセットを記憶する第2のデータ構造を含み、第2のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの1つまたは複数の第2の動作が修正されるように構成される。
第1の互換性モジュールおよび第2の互換性モジュールのうちの1つまたは複数は、スーパーバイザモジュールをさらに含む。スーパーバイザモジュールは、プロセッサによっ
て実行されると、
(1)センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数に対する更新を検出する検出ステップと、
(2)更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別する識別ステップと、
(3)第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数に対する1つまたは複数の修正を、当該修正が前記非互換性を除去するように決定する決定ステップと、
(4)前記非互換性を除去するために、第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数を修正する修正ステップと、
を含む処理を、プロセッサに実行させる命令を含む。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および、1つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
実装形態は、以下の特徴のうちの1つまたは複数を含む場合がある。非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、システム。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、システム。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、決定された修正が、センサおよびエンジン制御ユニットのうちの1つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、システム。
更新が、センサをアンインストールすることと、センサを新しいセンサと交換することとを含む、システム。
更新が、センサモジュールをアンインストールすることと、センサモジュールを新しいセンサモジュールと交換することとを含む、システム。
更新が、エンジン制御ユニットをアンインストールすることと、エンジン制御ユニットを新しいエンジン制御ユニットと交換することとを含む、システム。
更新が、エンジン制御ユニットモジュールをアンインストールすることと、エンジン制御ユニットモジュールを新しいエンジン制御ユニットモジュールと交換することとを含む、システム。
プロセッサがエンジン制御ユニットの構成要素である、システム。
1つの一般態様は、自動車に含まれるセンサシステムとエンジン制御ユニットシステムとの間の非互換性を除去する方法を含む。センサシステムは、センサおよびセンサモジュールに通信可能に結合された第1の互換性モジュールを含む。エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第2の互換性モジュールを含む。第1の互換性モジュールは、センサおよびセンサモジュールの第1の動作を制御するセンサ性能パラメータの第1のセットを記憶する第1のデータ構造を含み、第1のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの1つまたは複数の第1の動作が修正されるように構成される。第2の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第2の動作を制御するエンジン制御ユニット性能パラメータの第2のセットを記憶する第2のデータ構造を含み、第2のセットに含まれるエンジン制御ユニット性能
パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの1つまたは複数の第2の動作が修正されるように構成される。本態様に係る方法は、
(1)センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数に対する更新を検出するステップと、
(2)更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別するステップと、
(3)プロセッサにより、第1の互換性モジュールの第1のデータ構造内に記憶される第1のセットおよび第2の互換性モジュールの第2のデータ構造内に記憶される第2のセットのうちの1つまたは複数に対する1つまたは複数の修正を、当該修正が前記非互換性を除去するように決定するステップと、
(4)前記非互換性を除去するために、第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数を修正するステップと、
を含む。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、1つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
実装形態は、以下の特徴のうちの1つまたは複数を含む場合がある。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、方法。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、方法。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、決定された修正が、センサおよびエンジン制御ユニットのうちの1つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、方法。
更新が、センサをアンインストールすることと、センサを新しいセンサと交換することとを含む、方法。
更新が、センサモジュールをアンインストールすることと、センサモジュールを新しいセンサモジュールと交換することとを含む、方法。
更新が、エンジン制御ユニットをアンインストールすることと、エンジン制御ユニットを新しいエンジン制御ユニットと交換することとを含む、方法。
更新が、エンジン制御ユニットモジュールをアンインストールすることと、エンジン制御ユニットモジュールを新しいエンジン制御ユニットモジュールと交換することとを含む、方法。
プロセッサがエンジン制御ユニットの構成要素である、方法。
自動車が自律的な車両である、方法。
記載される技法の実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含む場合がある。
1つの一般態様は、コンピュータコードを含む非一時的メモリを含み、コンピュータコードは、プロセッサによって実行されると、センサシステムおよびエンジン制御ユニットシステムのうちの1つまたは複数に対する更新を検出することであって、センサシステムが、センサおよびセンサモジュールに通信可能に結合された第1の互換性モジュールを含み、エンジン制御ユニットシステムが、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第2の互換性モジュールを含む、検出することと、
更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別することと、第1の互換性モジュールの第1のデータ構造内に記憶される第1のセットおよび第2の互換性モジュールの第2のデータ構造内に記憶される第2のセットのうちの1つまたは複数に対する1つまたは複数の修正を決定することであって、修正が非互換性を除去するように構成され、第1のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの1つまたは複数の第1の動作が修正されるように、第1のセットがセンサおよびセンサモジュールの第1の動作を制御する1つまたは複数のセンサ性能パラメータを含み、第2のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの1つまたは複数の第2の動作が修正されるように、第2のセットがエンジン制御ユニットおよびエンジン制御ユニットモジュールの第2の動作を制御する1つまたは複数のエンジン制御ユニット性能パラメータを含む、決定することと、第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数を修正することであって、修正が非互換性を除去する、修正することとを含むステップをプロセッサに実行させる。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、1つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
さらに他の態様は、通信可能に構成された複数のデバイスを含む自動車システムである。前記複数のデバイスはいずれも、ハードウェア要素と、当該ハードウェア要素上で実行されるソフトウェア要素とを含む。前記複数のデバイスの少なくともいずれかは、前記ハードウェア要素上で実行される互換性モジュールを含む。前記互換性モジュールは、他のデバイスとの間でやりとりされるデータの形式を変換する変換モジュールと、前記複数のデバイスのハードウェア要素またはソフトウェア要素の更新を検出する検出モジュールと、前記更新によってもたらされた非互換性を識別する識別モジュールと、前記非互換性を除去するように、前記変換モジュールの動作を決定する決定モジュールと、を含む。
変換モジュールは、他のデバイスから送信されて、ホストデバイス(この変換モジュールを有するデバイス)によって処理されるデータの形式を変換するものであってよい。この場合、互換性モジュールは、他のデバイスからデータを受信するデバイスのみに設けられていてもよい。あるいは、変換モジュールは、ホストデバイスから他のデバイスに送信されるデータの形式を変換するものであってもよい。この場合、互換性モジュールは、他のデバイスに対してデータを送信するデバイスのみに設けられていてもよい。
前記非互換性はデバイス間のスケジューリングの非互換性であり、前記変換モジュールはスケジューリングパラメータを変更して非互換性を除去するモジュールであってよい。前記非互換性はデバイス間の周期の非互換性であり、前記変換モジュールはレート変換を実行するモジュールであってもよい。前記非互換性はデバイス間の仕様の非互換性であり、前記変換モジュールは前記データの仕様を変更するモジュールであってもよい。
各デバイスのハードウェア要素およびソフトウェア要素は、その動作設定を記述した特性プロパティを有するように構成し、システム内の各デバイスの互換性モジュールは、システム内の各デバイスの特性プロパティを参照可能に構成されることができる。互換性モジュールは、特性プロパティを参照することで、デバイスの更新および非互換性を検出することができる。
前記複数のデバイスは、1つまたは複数のセンサコンポーネントと、1つまたは複数のECUコンポーネントとを含んでもよい。この場合、前記ECUコンポーネントは、前記1つまたは複数のセンサコンポーネントから送信されるデータに基づいて処理を実行し、
前記ECUコンポーネントに前記互換性モジュールが設けられ、当該互換性モジュールの前記変換モジュールは、前記ECUコンポーネントから送信されるデータの形式を変換するように構成してもよい。もっとも、ECUコンポーネントは他のECUコンポーネントから送信されるデータにも基づいて処理を実行するように構成されてもよい。また、センサコンポーネントに互換性モジュールを設けて、センサコンポーネントから送信されるデータの形式を変換して非互換性を除去するように構成してもよい。
本開示は、添付図面の図において限定ではなく例として示され、添付図面では、同様の構成要素を参照するために同様の参照番号が使用される。
従来技術のシステムを示すブロック図である。
適応環境理解システム用の動作環境を示すブロック図である。
適応システムを実装するための動作環境を示すブロック図である。
自動車の1組の適応システムを実装するための例示的なシステムを示すブロック図である。
自動車の適応システムの例示的な実施形態を示すブロック図である。 非互換性モジュールの例示的なアーキテクチャを示す図である。
適応システムの構成部品をアップグレードするための方法についての例示的なフローチャートを示すブロック図である。 適応システムの構成部品をアップグレードするための方法についての例示的なフローチャートを示すブロック図である。
その中の1組の適応システムがアップグレードされようとしているシステムの例示的な実施形態を示すブロック図である。
図4Aのシステムの構成部品に対するアップグレードを記述する表である。
図4Aおよび図4Bに記述されたアップグレードからもたらされる1組の非互換性を訂正する互換性モジュールに対する修正を記述する表である。
将来の自動車システムは、ハードウェアおよびソフトウェアの構成部品に対する高コスト効率かつ柔軟なアップグレードを必要とする場合がある。自動車の買換えサイクルは通常長いが、技術はそれより速いペースで発展していることがその理由である。たとえば、ハッカーは短期間でソフトウェアおよびハードウェアの欠陥を見つけることができるので、新しい車を買うことを待つ代わりに、安全上の懸念から即座にアップグレードすることが必要とされる。別の例では、はるかに高い解像度のセンサがはるかに低い価格で市場に出ている場合があるので、人々は、新しい車両を買う代わりに古いセンサを交換することに前向きである。しかしながら、現在の自動車システム内の構成部品をアップグレードすることは効率的でなく、しばしばシステムの再設計にもつながる。これは、(1)アップグレードされた構成部品と自動車システムの残りの構成部品と間の非互換性、および(2)自動車システムの設計複雑度の増大、すなわち、アップグレードされた構成部品は交換した前の構成部品よりも複雑になる可能性があることに起因する。
自動車構成部品の間の非互換性は、2つのカテゴリに分けられる。1番目のカテゴリは、実行時間の変更や実行周期の変更などの、タイミング特性の変更である。
実行時間の変更は、ソフトウェアとハードウェアの両方のアップグレードからもたらされる場合がある。たとえば、ソフトウェアのアップグレードによってソフトウェア内の新機能が追加され、ソフトウェアによって操作されるハードウェアの実行時間を修正するようにアップグレードされる場合がある。また、ハードウェアのアップグレードは、既存のエンジン制御ユニット(「ECU」)をより高速なECUに交換することを含む場合がある。
実行周期の変更は、ソフトウェアとハードウェアの両方のアップグレードからもたらされる場合がある。たとえば、センサに対するソフトウェアのアップグレードは、ソフトウェアによって操作されるセンサ用のサンプリングレートが向上するようにセンサの周期を増大させる場合がある。また、ハードウェアのアップグレードは、より短い実行周期を有し、より高いサンプリングレートで動作可能でありより正確な新しいセンサをインストールすることを含む場合がある。
タイミング特性における変更は、それらを慎重に扱わない場合、破局的なタイミング障害につながる場合がある。
2番目のカテゴリは、ソフトウェアに関連する仕様変更である。たとえば、1つのソフトウェアについての仕様がアップグレードして、暗号化アルゴリズムを変更したり、メッセージフォーマットを変更したりする場合がある。そのような変更により、自動車の構成部品の間の非互換性がもたらされる場合がある。この非互換性は、アップグレードされた構成部品と元の構成部品との間の不整合の結果として生じうる。たとえば、センサ用のソフトウェアは、センサデータを記録するときにより多くのビットを使用するようにアップグレードされ、したがって、他の構成部品がセンサデータを読取ることができなくなる場合がある。
図1Aは、例示的な従来技術の自動車133を示すブロック図である。自動車133の描写された構成部品は、第1のセンサ191、第1のECU195、第2のセンサ192、第2のECU196、第3のECU197などの従来の構成要素の1つまたは複数を含む環境理解システム(environment perception system)を形成する。第1のセンサ19
1は、第1のECU195および第2のECU196に通信可能に結合することができる。第2のセンサ192は、第2のECU196および第3のECU197に通信可能に結合することができる。第1のセンサ191は、センサソフトウェア160を含む場合がある。センサソフトウェア160は、第1のセンサ191がその機能を実現することを可能にするように構成された、コードおよびルーチンを含む場合がある。第2のECU196は、ECUソフトウェア164を含む場合がある。ECUソフトウェア164は、ECUが第1のセンサ191および第2のセンサ192との動作においてその機能を実現することを可能にするように構成された、コードおよびルーチンを含む場合がある。
ユーザが、より良い障害物検出のために第1のセンサ191をアップグレードすることを希望し、第1のセンサ191を周期がより短い高解像度センサ(図示せず)と交換すると仮定する。この変更によって、新しい障害物検出アルゴリズムを含むようにECUソフトウェア164を更新して、第2のECU196が新しいセンサと互換性があるようにする必要が生じるとさらに仮定する。第1のセンサ191およびECUソフトウェア164は、第2のセンサ192および第1のECU195などの他の構成部品と通信可能に結合されるので、これらの他の構成部品も、この1つのセンサのアップグレードに適応するよ
うにアップグレードされる必要があり得る。たとえば、新しいセンサはより短い周期を有し、第1のECU195は新しいセンサから以前よりも多くのセンサデータを受信するので、第1のECU195または第1のECU195上で動作するソフトウェア(図示せず)に対して何らかの調整が行われなければならない。新しいセンサに適応するためにアップグレードされたソフトウェアを有する第2のECU196に接続された第2のセンサ192に対して同じ問題が発生する。その上、第2のセンサ192が非互換性問題のためのいくつかの変更を行う場合、第3のECU197は、第2のセンサ192ともはや互換性がない場合があり、これは第3のECU197も更新される必要があることを意味する。結局、適応環境理解システム100内のすべての構成部品が変更される必要がある。したがって、環境理解システムの構成部品におけるわずかな変更により、環境理解システム全体にわたって大きな変更がもたらされる場合がある。
図1Bは、適応環境理解システム100(本明細書では「システム100」)を実装するためのシステム100を示すブロック図である。適応環境理解システム100は、自動車123の構成要素であり得る。
図1Bは、1組の自動車構成部品101、102、105、106、107の例示的な使用事例を描写する。これらの自動車構成部品は、各々が互換性モジュール199を含み、それにより、下記でより詳細に記載されるようにシステム100が適応することが可能になるように構成されている。図1Bにおいて描写された例示的な使用事例では、第1のセンサ101および第2のECU106の障害物モジュール184は、アップグレードの一部として新しい構成部品と交換される場合がある。(第1のセンサ101を交換する新しいセンサを含む)システム100の各構成部品102、105、106、107は、それ自体の互換性モジュール199を含む。互換性モジュール199は、(新しいセンサおよびその第1のセンサモジュール、ならびに新しい障害物モジュールを含む)システム100の自動車構成部品102、111、105、182、106、107、186の間の非互換性の存在を識別し、第1のセンサ101および障害物モジュール184の他にさらなる構成部品を交換する必要なしに非互換性を除去するための対策を講じることができる。以下でより詳細に互換性モジュール199を記載する。
システム100は、第1のセンサ101、第2のセンサ102、第1のECU105、第2のECU106、第3のECU107などの自動車構成部品のうちの1つまたは複数を含む。これらの構成部品の各々は、互換性モジュール199A、199B、199C、199D、199Eを含み、互換性モジュール199A、199B、199C、199D、199Eの機能に従って動作するように構成される。したがって、第1のセンサ101は、第1の互換性モジュール199Aを含み、第1の互換性モジュール199Aの機能に従って動作するように修正されるので、従来公知のセンサとは異なる。同様に、第2のセンサ102、第1のECU105、第2のECU106、および第3のECU107も、各々互換性モジュール199B、199C、199D、199Eを含み、互換性モジュール199B、199C、199D、199Eの機能に従って動作するように設計および構成されるので、従来公知の自動車構成部品とは異なる。
第1のセンサ101は、第1のECU105および第2のECU106に通信可能に結合することができる。第2のセンサ102は、第2のECU106および第3のECU107に通信可能に結合することができる。
第1のセンサ101は、第1のセンサ101および第1のセンサモジュール110に通信可能に結合された第1の互換性モジュール199Aを含む。
第1のセンサ101は、物理環境の属性を測定するように構成されたハードウェアを含
む。たとえば、第1のセンサは、自動車123に近接する物理環境の画像を取り込むカメラである。
第1のセンサモジュール110は、自動車のプロセッサによって実行されることに応答して、第1のセンサ101によって測定された物理環境の測定値を記述するセンサデータを記録し、第1のECU105または第2のECU106にセンサデータを供給することを第1のセンサ101に行わせるコードおよびルーチンを含む。プロセッサは、第1のセンサ101、第1のECU105、第2のECU106、または自動車123に含まれる何らかの車載型コンピュータの構成要素である。
第2のセンサ102は、第2のセンサ102および第2のセンサモジュール111に通信可能に結合された第2の互換性モジュール199Bを含む。
第2のセンサ102および第2のセンサモジュール111は、それぞれ第1のセンサ101および第1のセンサモジュール110と同様の機能を含むので、それらの説明はここでは繰り返さない。
第2のセンサ102は、車道上の障害物を検出したり車道の形状を特定したりすることが可能なセンサデータを供給するように構成された、センサまたはセンサの組合せである。たとえば、第2のセンサ102は、LIDARカメラ、または第2のECU106もしくは第3のECU107がその機能を実現するために必要なセンサデータを供給する他の何らかの自動車センサであり得る。
第1のECU105は、第1のECU105および位置特定モジュール182に通信可能に結合された第3の互換性モジュール199Cを含む。
第1のECU105は、それが受信するセンサデータに少なくとも部分的に基づいて、自動車123の性能または動作を管理するように構成された、プロセッサベースのコンピュータデバイスを含んでもよい。
たとえば、第1のECU105は、自動車123のエンジン上の1組のアクチュエータを制御して、最適または実質的に最適なエンジン性能を保証するために必要なハードウェアや通信的な結合を含む場合がある。第1のECU105は、(第1のセンサ101などの)1つまたは複数のセンサからセンサデータを受信し、1つまたは複数の多次元性能マップ(multidimensional performance maps)または参照テーブル(lookup tables)を使用してセンサデータを解釈し、次いで、それに応じてエンジンアクチュエータを調整して、最適または実質的に最適なエンジン性能を実現することができる。
第1のECU105は、1つまたは複数の他のECUと協働して、自動車123のエンジン性能を制御することができる。たとえば、第1のECU105は、第2のECU106および第3のECU107と協働して、自動車123のエンジン性能を制御することができる。
いくつかの実施形態では、自動車123は、ECU105、106、107のうちの1つまたは複数によって制御される複数のエンジンを含む。
第1のECU105は、エンジン制御ユニットモジュール(図示せず)を含んでもよい。エンジン制御ユニットモジュールはプログラム(命令)を含み、当該プログラムは、プロセッサによって実行されると、センサデータに応答して自動車の性能を修正するべきかどうかを第1のECU105に判定させる。プロセッサは第1のECU105の構成要素
であってよい。第1のECU105は、上記プログラムやその他のデータを非一時的に格納する非一時的メモリを含む。
図1Bに描写されたように、第1のECU105は位置特定モジュール182を含む。位置特定モジュール182は、プロセッサによって実行されることに応答して、第1のセンサ101から受信されたセンサデータの位置特定をプロセッサに実現させるコードおよびルーチンを含む。たとえば、センサデータが分析されて、センサデータのどの部分が自動車123の現在位置に関係するかが特定される。
第2のECU106は、第2のECU106および障害物モジュール184に通信可能に結合された第4の互換性モジュール199Dを含む場合がある。第3のECU107は、第3のECU107および道路形状モジュール186に通信可能に結合された第5の互換性モジュール199Eを含む。第2のECU106および第3のECU107は、第1のECU105と同様の機能を含むので、それらの説明はここでは繰り返さない。
障害物モジュール(obstacle module)184は、プロセッサによって実行されること
に応答して、第2のECU106に対して、第1のセンサ101および第2のセンサ102から受信されたセンサデータを分析して、自動車123の物理環境内の1つまたは複数の障害物を識別させる処理を実行させるコードおよびルーチンを含む。
道路形状モジュール(road shape module)186は、プロセッサによって実行される
ことに応答して、第3のECU107に対して、第2のセンサ102から受信されたセンサデータを分析して、自動車123の物理環境内の道路の形状を識別させる処理を実行させるコードおよびルーチンを含む。
図1Bでは、第1のセンサ101および障害物モジュール184を更新する必要があると仮定する。たとえば、第1のセンサ101を、新しいハードウェア(すなわち、異なるセンサ)と交換する必要があり、障害物モジュール184のコードおよびルーチンを、新しいコードおよびルーチンに交換する(あるいは、既存のコードおよびルーチンを修正する、すなわちパッチをあてる)必要があると仮定する。図1Aを参照して説明されたように、そのような更新は、通常、システムの構成要素間の多数の非互換性をもたらす場合がある。システム100に存在するすべての非互換性を除去するに、システム100の全ての構成要素を交換しなければならない事態も想定される。しかしながら、図1Bでは、システム100の各構成要素は、(個別に呼ばれるか、または総称して「互換性モジュール199」と呼ばれる)互換性モジュール199A、199B、199C、199D、199Eを含むので、このような全体的な交換は不要となる。
いくつかの実施形態では、互換性モジュール199は、システム100に存在する任意の非互換性を除去するように互換性モジュール199自体が修正されるように構成される。これにより、システムに存在するすべての非互換性を除去するために、さらなる構成部品の交換を不要にできる。
いくつかの実施形態では、互換性モジュール199は、ハードウェア(たとえば、非一時的データ構造)と、コードおよびルーチン(たとえば、スーパーバイザモジュール、ならびにいくつかの実施形態における他のモジュール)との組合せを含む場合がある。
いくつかの実施形態では、互換性モジュール199は、ハードウェア(たとえば、第1のセンサ101)、ならびにハードウェアと関連付けられたコードおよびルーチン(たとえば、第1のセンサモジュール110)の動作を制御する1組(1セット)の性能パラメータを記憶する非一時的データ構造を含む。パラメータ、およびデータ構造内のパラメー
タの記憶は、セットに含まれる性能パラメータを修正するとハードウェアまたはコードおよびルーチンの動作が修正されるように構成される。非一時的データ構造は、図2Bを参照して下記に記載されるメモリ227を含む。
いくつかの実施形態では、互換性モジュール199は、スーパーバイザモジュール(たとえば、図2Bの構成要素208を参照)を含む。スーパーバイザモジュールは、プロセッサによって実行されると、
(1)タイミング特性の変更をもたらすシステム100の構成要素のうちの1つまたは複数に対する更新を検出する検出ステップ、
(2)更新によってもたらされた非互換性を識別する識別ステップ、
(3)性能パラメータのうちの1つまたは複数に対する1つまたは複数の修正であって非互換性を除去するように構成される修正を決定する決定ステップ、および、
(4)そのデータ構造が非互換性を除去ように構成された1つまたは複数の新しい性能パラメータを記憶するように、互換性モジュールを修正する修正ステップ、
をプロセッサに実行させる、コードおよびルーチンを含む。
検出ステップ(システム100の構成要素のうちの1つまたは複数に対する更新を検出するステップ)は、システム100における新しい構成要素の存在を識別するステップを含む場合がある。
たとえば、第1のセンサ101を交換するために新しいセンサがシステム100にインストールされた場合、第3の互換性モジュール199Cは、第1のセンサ101を呼び出し、新しいセンサの応答を受信し、それにより、第3の互換性モジュール199Cが、システム100にインストールされた新しいセンサの存在を識別可能になる。
いくつかの実施形態では、互換性モジュール199は、システム100の各構成要素のリストおよびシステム100内の各構成要素の一意の識別子を含む識別データ構造を記憶することができる。新しい構成要素が追加された場合、識別データ構造はそれに応じて更新されることが望ましい。この識別データ構造は、システム100における新しい構成要素の存在を識別するために使用されてもよい。この識別データ構造は、システム100の構成要素の性能パラメータのうちの1つまたは複数を列挙してもよい。この識別データ構造は、システム100の構成要素が新しい構成要素と交換されたときの性能パラメータ内の変更を記述してもよい。図4Bおよび図4Cは、識別データ構造の一例またはそのようなデータ構造の一部である表を示す。
識別ステップ(更新によってもたらされた非互換性を識別するステップ)は、
システム100に追加された新しい構成要素からの出力信号を分析するステップと、
新しい構成要素とシステム100の他の構成要素のうちの1つまたは複数との間の非互換性をもたらす、タイミング特性の変更またはソフトウェアに関連する仕様変更を出力信号が示すか否かを判断するステップと
を含んでもよい。
たとえば、新しいセンサが、交換前の第1のセンサ101の周期よりも短い周期(すなわち、高いか速い周期レート)を有する高解像度センサであるとする。この場合、交換によって、第1のECU105がより多くのセンサデータを受信する結果になり、それにより第1のECU105と新しいセンサとの間の非互換性がもたらされる。第3の互換性モジュール199Cは、この非互換性を識別することができる。
たとえば、第3の互換性モジュール199Cは、第1の互換性モジュール199Aを照会して新しいセンサ用の周期パラメータを識別し、その周期パラメータが第1のECU105用の現在の周期パラメータと互換性がないことを識別することができる。下記で説明されるように、第3の互換性モジュール199Cは、次いで、新しいセンサと互換性があ
るように第1のECU105用の周期パラメータを更新するように構成される。
性能パラメータのうちの1つまたは複数に対する1つまたは複数の修正を決定する決定ステップは、識別された非互換性を除去するように構成された1つまたは複数の新しい性能パラメータを計算するステップを含んでもよい。互換性モジュール199の各々は、非互換性の存在を識別することに応答して、それらの関連するハードウェア構成部品の各々に対してこのステップを実行することができる。次いで、このようにして計算された修正が、データ構造に記憶された性能パラメータに適用される。
ソフトウェアに関連する仕様変更の識別を含むいくつかの実施形態では、性能パラメータのうちの1つまたは複数に対する1つまたは複数の修正を決定する決定ステップは、識別された非互換性を除去するように構成された1つまたは複数の新しい性能パラメータを計算するステップを含んでもよい。互換性モジュール199の各々は、非互換性の存在を識別することに応答して、それらの関連するハードウェア構成部品の各々に対してこのステップを実行することができる。
いくつかの実施形態では、スーパーバイザモジュールは、プロセッサによって実行されると、ソフトウェアに関連する仕様変更をもたらすシステム100の構成要素のうちの1つまたは複数に対する更新を検出する検出ステップ、更新によってもたらされた非互換性を識別する識別ステップ、および、ハードウェア(たとえば、第1のセンサ101または第1のECU105)がその機能をハードウェアに実現させるソフトウェア(たとえば、第1のセンサモジュール110または位置特定モジュール182)の前のバージョンを使用して動作するように、互換性モジュールを修正する修正ステップのうちの1つまたは複数をプロセッサに実行させる、コードおよびルーチンを含む。
互換性モジュール199は、図2A、図2B、図2C、図3A、図3B、図4A、図4B、および図4Cを参照して下記でより詳細に記載される。
第1のセンサ101または第2のセンサ102は、カメラ、LIDARセンサ、レーザー高度計、ナビゲーションセンサ(たとえば、全地球測位システム(GPS)センサ)、赤外線検出器、動き検出器、サーモスタット、聴音機、一酸化炭素センサ、二酸化炭素センサ、酸素センサ、空気流量センサ、エンジン冷却剤温度センサ、スロットル位置センサ、クランクシャフト位置センサ、自動車エンジンセンサ、バルブタイマ、空燃比メータ、盲点メータ、カーブ感触器、欠陥検出器、ホール効果センサ、分技管絶対圧力センサ、駐車センサ、レーダーガン、速度計、速度センサ、タイヤ圧監視センサ、トルクセンサ、トランスミッション液温度センサ、タービン速度センサ(TSS)、可変磁気抵抗センサ、車両速度センサ(VSS)、水分センサ、ホイール速度センサ、および任意の他のタイプの自動車センサのうちの1つまたは複数を含んでもよい。
次に図1Cを参照すると、適応システム140を実装するための例示的な動作環境(operating environment)122を示すブロック図が描写される。
動作環境122は、自動車123およびサーバ150を含む。いくつかの実施形態では、動作環境122のこれらのエンティティは、デバイスとネットワーク108との間、またはデバイスと他のデバイスとの間の有線接続またはワイヤレス接続(たとえば、ミリメートル波通信、専用短距離通信(DSRC)、ワイヤレスフィデリティ(Wi−Fi)、セルラー(たとえば、3G、4G、LTEなど)、Bluetooth(登録商標)など)を介して、ネットワーク108を介して通信可能に結合することができる。
ネットワーク108は、従来のタイプの有線またはワイヤレスであり得るし、星形構成
、トークンリング構成、または他の構成を含む、多数の様々な構成を有する場合がある。さらに、ネットワーク108は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(たとえば、インターネット)、または、複数のデバイスがそれを介して通信することができる他の相互接続データパスを含む場合がある。いくつかの実装形態では、ネットワーク108はピアツーピアネットワークであり得る。ネットワーク108はまた、様々な異なる通信プロトコルでデータを送るための電気通信ネットワークの部分に結合される場合があるか、またはそれらを含む場合がある。いくつかの実装形態では、ネットワーク108は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メールなどを介して、データを送受信するためのBluetooth(登録商標)通信ネットワークまたはセルラー通信ネットワークを含む。ネットワーク108は、システム100のエンティティ間のセルラー通信をサポートする機能またはハードウェアを含む場合もある。
自動車123は図1Bを参照して上述されたので、その説明はここでは繰り返さない。
自動車123は、適応システム140を含む場合がある。適応システム140は、互換性モジュール199を含み、互換性モジュール199の機能に従って動作するように構成された自動車123の構成部品を含む。たとえば、適応システム140は、互換性モジュール199を含み、互換性モジュール199の機能に従って動作するように構成されたセンサまたはECUを含む。第1のセンサ101、第2のセンサ102、第1のECU105、第2のECU106、および第3のECU107は、適応システム140の例である。
適応システム140は、ソフトウェア構成部品130、互換性モジュール199、およびハードウェア構成部品132を含む。
ハードウェア構成部品132は、適応システム140のハードウェア機能を実現するハードウェアを含む。たとえば、図1Bでは、第1のセンサ101は、第1のセンサ101のハードウェア機能を実現したカメラハードウェアを含んでもよい。
ソフトウェア構成部品130は、適応システム140のソフトウェア機能を実現するコードおよびルーチンを含む。たとえば、図1Bでは、第1のセンサモジュール110は、第1のセンサ101のソフトウェア機能を実現したコードおよびルーチンを含んでもよい。
いくつかの実施形態では、ソフトウェア構成部品130は、ハードウェア構成部品132に関連付けられた任意のソフトウェアを含む。たとえば、ソフトウェア構成部品130は、ハードウェア構成部品132に関連付けられたセキュリティアルゴリズム、またはハードウェア構成部品132に関連付けられたメッセージングプロトコルであり得る。たとえば、ソフトウェア構成部品130は、ECUまたはセンサがハッキングされないように防止するセキュリティアルゴリズムであり得る。別の例では、ソフトウェア構成部品130は、メッセージが構成部品間でどのように送信されるかを制御するメッセージングプロトコルであり得る。他の例も考えられる。
互換性モジュール199は図1Bを参照して上述されたので、その説明はここでは繰り返さない。
いくつかの実施形態では、適応システム140のアーキテクチャは、互換性モジュール199がソフトウェア構成部品130とハードウェア構成部品132との間のレイヤであ
るように構成される。
アップグレード構成部品139は、適応システム140にインストールされるべき新しい構成部品を含む。アップグレード構成部品139は、ハードウェア構成部品(たとえば、新しいセンサ)またはソフトウェア構成部品(たとえば、新しいセンサモジュール)を含む場合がある。アップグレード構成部品139は、ソフトウェア構成部品130またはハードウェア構成部品132を交換することができる。
サーバ150は、メモリおよびプロセッサを含むコンピューティングデバイス、たとえば、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイル電話、PDA、モバイル電子メールデバイス、携帯型ゲームプレーヤ、携帯型音楽プレーヤ、1つもしくは複数のプロセッサがその中に組み込まれるか、もしくはそれに結合されるテレビジョン、またはネットワーク108にアクセスすることが可能な他の電子デバイスを含む場合がある。
サーバ150は、ハードウェアサーバを含む場合がある。サーバ150は、サーバソフトウェアを記憶するメモリ、およびサーバソフトウェアを実行するためのプロセッサを含む場合がある。
サーバ150は、更新データ142を記憶することができる。更新データ142は、適応システム140にインストールされるべき、新しいソフトウェア構成部品または既存のソフトウェア構成部品130用のパッチであってもよい。このように、更新データ142は、アップグレード構成部品139の一タイプである。
サーバ150は、ネットワーク108を介して適応システム140に更新データ142を供給することができる。
いくつかの実装形態では、互換性モジュール199は、フィールドプログラマブルゲートアレイ(「FPGA」)または特定用途向け集積回路(「ASIC」)を含むハードウェアを使用して実装される場合がある。いくつかの他の実装形態では、互換性モジュール199は、ハードウェアとソフトウェアの組合せを使用して実装される場合がある。互換性モジュール199は、デバイス(たとえば、サーバもしくは他のデバイス)の組合せ、またはデバイスのうちの1つに記憶される場合がある。
次に図2Aを参照すると、1組の適応システムを実装するための例示的なシステム200を示すブロック図が描写される。
システム200は、第1の適応センサシステム170、第2の適応センサシステム172、第1の適応ECUシステム174、および第2の適応ECUシステム176を含む。システム200の構成要素は、バス120を介して互いに通信可能に結合される。
システムはプロセッサ225を含む。プロセッサ225は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または、計算を実行する他の何らかのプロセッサアレイを含む。いくつかの実装形態では、プロセッサ225は、ディスプレイデバイスに電子表示信号を供給することができる。プロセッサ225は、データ信号を処理し、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む、様々なコンピューティングアーキテクチャを含む場合がある。プロセッサ225は、グラフィカル処理ユニットを含む場合がある。図2Aは単一のプロセッサ225を含むが、複数のプロセッサ225が含まれる場合がある。他のプロセッサ、オペレーティングシステム、
センサ、ディスプレイ、および物理構成が考えられ得る。
いくつかの実施形態では、プロセッサ225は、プロセッサベースのコンピューティングデバイスの構成要素であり得る。プロセッサベースのコンピューティングデバイスには、ラップトップ、タブレットコンピュータ、パーソナルコンピュータ、セットトップボックス、ハードウェアサーバ、ECU、車載型コンピュータなどが含まれ得る。
第1の適応センサシステム170は、第1のセンサモジュール110、第1の互換性モジュール199A、および第1のセンサ101のうちの1つまたは複数を含む。第1の適応センサシステム170のこれらの構成要素は図1Bおよび図1Cを参照して上述されたので、これらの説明はここでは繰り返さない。第1のセンサ101は、バス120に通信可能に結合される。第1の互換性モジュール199Aは、プロセッサ225に通信可能に結合される。第1の適応センサシステム170は、物理環境を記述するセンサデータを記録し、センサデータをECUに供給するように構成される場合がある。
第2の適応センサシステム172は、第2のセンサモジュール111、第2の互換性モジュール199B、および第2のセンサ102のうちの1つまたは複数を含む。第2の適応センサシステム172のこれらの構成要素は図1Bおよび図1Cを参照して上述されたので、これらの説明はここでは繰り返さない。第2のセンサ102は、バス120に通信可能に結合される。第2の互換性モジュール199Bは、プロセッサ225に通信可能に結合される。第2の適応センサシステム172は、物理環境を記述するセンサデータを記録し、センサデータをECUに供給するように構成される場合がある。
第1の適応ECUシステム174は、第1のECUモジュール210、第2のECUモジュール212、第3の互換性モジュール199C、および第1のECU105のうちの1つまたは複数を含む場合がある。第3の互換性モジュール199Cおよび第1のECU105は図1Bおよび図1Cを参照して上述されたので、これらの説明はここでは繰り返さない。
第1のECUモジュール210は、プロセッサ225によって実行されると第1のECU105に対して以下の処理を行わせる命令を含む。すなわち、当該命令が実行されると、自動車123の性能を修正するべきかどうかを、第1のセンサ101および第2のセンサ102のうちの1つまたは複数から受信されたセンサデータに基づいて判定させる処理を第1のECU105に対して行わせる。
第1のECUモジュール210は、図1Bを参照して上述された位置特定モジュール182、障害物モジュール、または道路形状モジュール186のうちの1つまたは複数を含む。
第2のECUモジュール212は、第1のECUモジュール210と同様の機能を実現するように構成されたコードおよびルーチンを含む場合があるので、その説明はここでは繰り返さない。
第1のECU105は、バス120に通信可能に結合される。第3の互換性モジュール199Cは、プロセッサ225に通信可能に結合される。
第2の適応ECUシステム176は、以下の第3のECUモジュール214、第4の互換性モジュール199D、および第2のECU106のうちの1つまたは複数を含む。第2の適応ECUシステム176のこれらの構成要素は図1B、図1C、および図2Aを参照して上述されたので、これらの説明はここでは繰り返さない。第2のECU106は、
バス120に通信可能に結合される。第4の互換性モジュール199Dは、プロセッサ225に通信可能に結合される。
各互換性モジュール199は、システム200内の全てのデバイスのハードウェア構成部品とソフトウェア構成部品との間に存在することができる。たとえば、第1の適応センサシステム170のアーキテクチャは、第1の互換性モジュール199Aが第1のセンサモジュール110と第1のセンサ101との間のレイヤであるように構成される。1組の構成部品が更新されると、デバイスのうちの1つまたは複数は、タイミングに関連する非互換性、またはソフトウェアに関連する仕様変更の非互換性に起因して、互いに互換性がなくなる場合がある。システム200の各構成部品を交換する必要がある代わりに、影響を受けるデバイス用の互換性モジュール199を更新することができる。システム200内の全てのデバイスが互換性モジュールを有することが好ましいが、デバイスが更新の影響を受けない場合には、そのデバイスは互換性モジュールを有していなくてもよい。
いくつかの実施形態では、互換性モジュール199は、プロセッサ225によってアクセス可能な指定されたポートを含んでもよい。プロセッサ225は、ポートを介して互換性モジュール199を実行して、システム200における1つまたは複数の非互換性を除去することができる。
互換性モジュール199によって提供される構成部品アップグレードサポートは、多数の利益をもたらす。たとえば、システム200の設計アーキテクチャを保持しながら、アップグレードを実施することができる。言い換えれば、システムにおけるすべての非互換性を除去するために、いくつかの実施形態では、影響を受ける互換性モジュール199しか更新される必要がないので、システム200の設計アーキテクチャは、更新前と更新後を比較すると、元の設計から変更されずに残る。
次に図2Bを参照すると、自動車123の適応システム140の例示的な実施形態を示すブロック図が描写される。いくつかの実装形態では、適応システム140は、図3Aおよび図3Bを参照して下記に記載される方法300の1つまたは複数のブロックを実施するようにプログラムまたは構成された、電子デバイスを含む場合がある。いくつかの実装形態では、適応システム140は、適応システム140を参照して上述された、または図3Aおよび図3Bを参照して下記に記載される方法300を参照して下記に記載される機能のうちのいくつかまたはすべてを実現するように構成された、専用コンピューティングデバイスを含む場合がある。
適応システム140は、互換性モジュール199、プロセッサ225、メモリ227、通信ユニット245、ソフトウェア構成部品130、ハードウェア構成部品132、およびアップグレード構成部品139などの構成要素のうちの1つまたは複数を含む場合がある。適応システム140の構成部品は、バス220によって通信可能に結合される。いくつかの実施形態では、適応システム140の構成部品間の通信にバス220が必要でないように、適応システム140の構成部品は同じハードウェアに限られる。いくつかの実施形態では、バス220以外の通信構造または通信方法が実装される場合がある。
プロセッサ225は、信号線234を介してバス220に通信可能に結合される。通信ユニット245は、信号線238を介してバス220に通信可能に結合される。ソフトウェア構成部品130は、信号線239を介してバス220に通信可能に結合される。ハードウェア構成部品132は、信号線240を介してバス220に通信可能に結合される。アップグレード構成部品139は、信号線242を介してバス220に通信可能に結合される。メモリ227は、信号線236を介してバス220に通信可能に結合される。
プロセッサ225、ソフトウェア構成部品130、ハードウェア構成部品132、およびアップグレード構成部品139は図1B、図1C、および図2Aを参照して上述されたので、これらの説明はここでは繰り返さない。
メモリ227は、プロセッサ225によってアクセスおよび実行され得る命令またはデータを記憶する有形記憶媒体である。命令またはデータは、本明細書に記載される技法を実行するためのコードを含む場合がある。メモリ227は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、または他の何らかのメモリデバイスを含む場合がある。いくつかの実装形態では、メモリ227はまた、不揮発性メモリまたは同様の永続的なストレージデバイス、および、ハードディスクドライブ、フロッピーディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための他の何らかのマスストレージデバイスを含む媒体を含む。
メモリ227は、更新データ142を含む。更新データ142は図1Cを参照して上述されたので、その説明はここでは繰り返さない。
いくつかの実施形態では、メモリ227は、ソフトウェア構成部品130の1つまたは複数の前のバージョンを記憶することができる。ソフトウェアに関連する仕様変更によってもたらされた非互換性を除去するために、互換性モジュール199によりソフトウェア構成部品130の前のバージョンが再インストールされる場合がある。
いくつかの実施形態では、メモリ227は、以下の通信モジュール202、識別モジュール204、分類モジュール206、スーパーバイザモジュール208、性能パラメータデータ280のうちの1つまたは複数を記憶する。
通信ユニット245は、ネットワーク108にデータを送信し、ネットワーク108からデータを受信するハードウェアを含む場合がある。いくつかの実装形態では、通信ユニット245は、ネットワーク108または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット245は、ネットワーク108との有線通信用のUSB、SD、CAT−5、または同様のポートを含む。いくつかの実装形態では、通信ユニット245は、ネットワーク108とデータを交換するためのワイヤレストランシーバ、または、IEEE802.11、IEEE802.16、Bluetooth(登録商標)、もしくは別の適切なワイヤレス通信方法を含む1つもしくは複数のワイヤレス通信方法を使用する他の通信チャネルを含む。
いくつかの実装形態では、通信ユニット245は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール、または別の適切なタイプの電子通信を介して、セルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実装形態では、通信ユニット245は、有線ポートおよびワイヤレストランシーバを含む。通信ユニット245はまた、TCP/IP、HTTP、HTTPS、およびSMTPなどを含む標準ネットワークプロトコルを使用して、ファイルまたはメディアオブジェクトを配信するための、ネットワーク108への他の従来の接続を提供する。
いくつかの実装形態では、適応システム140は、以下の通信モジュール202、識別モジュール204、分類モジュール206、スーパーバイザモジュール208、および性能パラメータデータ280のうちの1つまたは複数を含む。
通信モジュール202は、信号線222を介してバス220に通信可能に結合される。識別モジュール204は、信号線224を介してバス220に通信可能に結合される。分類モジュール206は、信号線226を介してバス220に通信可能に結合される。スーパーバイザモジュール208は、信号線228を介してバス220に通信可能に結合される。性能パラメータデータ280は、信号線229を介してバス220に通信可能に結合される。
通信モジュール202は、互換性モジュール199、プロセッサ225、ソフトウェア構成部品130、ハードウェア構成部品132、アップグレード構成部品139、および他の適応システム140の互換性モジュール199などの構成要素のうちの1つまたは複数の間の通信を扱うように構成された、コードおよびルーチンを含む場合がある。いくつかの実装形態では、通信モジュール202は、上記で列挙された構成要素間の通信を扱うための下記に記載される機能を実現するために、プロセッサ225によって実行可能な1組の命令を含むことができる。いくつかの実装形態では、通信モジュール202は、適応システム140のメモリ227に記憶することができ、プロセッサ225によってアクセス可能かつ実行可能であり得る。
通信モジュール202は、通信ユニット245を介してネットワーク108との間でデータを送受信する。たとえば、通信モジュール202は、通信ユニット245を介して、ネットワーク108から更新データ142を受信する。
いくつかの実施形態では、通信モジュール202は、適応システム140の構成部品からデータを受信し、メモリ227にデータを記憶する。
いくつかの実装形態では、通信モジュール202は、メモリ227に記憶された性能パラメータデータ280を修正する。
識別モジュール204は、ソフトウェア構成部品130またはハードウェア構成部品132のうちの1つの削除、およびアップグレード構成部品139のインストールによってもたらされた非互換性を識別するように構成された、コードおよびルーチンを含む。
分類モジュール206は、タイミング特性の変更またはソフトウェアに関連する仕様変更として非互換性を分類するように構成された、コードおよびルーチンを含む。
スーパーバイザモジュール208は、互換性モジュール199を修正して非互換性を除去するように構成された、コードおよびルーチンを含む。スーパーバイザモジュール208は、たとえば、上述した検出ステップ、識別ステップ、決定ステップ、および修正ステップを実行して、システム200内の非互換性の検出及び除去を行う。スーパーバイザモジュール208は、非互換性に関する問題が実際に解決されたか否かを決定する機能、および解決されていない場合に対処する機能を有してもよい。スーパーバイザモジュール208は、問題が残存している場合に、詳細な検査を行うようにユーザ(管理者)に対して警告を発するようにしてもよい。
分類がタイミング特性に関連する変更である場合、スーパーバイザモジュール208は、性能パラメータデータ280に記憶された性能パラメータのうちの1つまたは複数に対する1つまたは複数の修正を決定することができる。修正は、非互換性を除去するように構成される。スーパーバイザモジュール208は、非互換性を除去するように決定された修正を記憶するように、性能パラメータデータ280を修正することができる。
タイミング特性に関連する変更は、2つのタイプ、すなわち、周期の変更および実行時間の変更を含む場合がある。
周期(period)の変更の場合、スーパーバイザモジュール208は、構成部品間の非互換性が除去されるように、性能パラメータデータ280に含まれるパラメータを修正する。たとえば、センサがより高い周期を有する新しいセンサと交換されると仮定する。この例では、影響を受ける構成部品はECUであり、ECUの互換性モジュール199に含まれるスーパーバイザモジュール208は、前のセンサに対する新しいセンサ用の周期の増分を計算し、非互換性を除去するように構成された量によってECUの周期パラメータを修正する。たとえば、ECU用の周期は、前のセンサに対する新しいセンサ用の周期の増分と同じ量もしくは実質的に同じ量だけ、またはECUを新しいセンサと互換性があるようにするために必要な最小量だけ増大させることができる。
実行時間(execution time)の変更の場合、スーパーバイザモジュール208は、構成部品間の非互換性が除去されるように、性能パラメータデータ280に含まれるパラメータを修正する。たとえば、ECUモジュールが増大した実行時間を有する新しいECUモジュールと交換され、それにより、ECUモジュールに関連付けられたECUによって管理されるセンサとの非互換性がもたらされると仮定する。センサに含まれる互換性モジュール199の識別モジュール204は、非互換性を識別することができる。センサに含まれる互換性モジュール199用の性能パラメータデータ280は、スケジューリングポリシーを含む場合がある。
いくつかの実施形態では、スケジューリングポリシーは、たとえば、プロセスが始まるときを示す1つまたは複数のスケジューリングパラメータ、および各プロセスが始まった後どれだけ長く動作するかを示す1つまたは複数の実行時間パラメータを含む場合がある。
センサに含まれる互換性モジュール199のスーパーバイザモジュール208は、前のECUモジュールに対する新しいECUモジュール用の実行時間の増大量を計算し、非互換性を除去するように構成された量によって、センサ用のスケジューリングポリシーに含まれる実行時間パラメータを修正することができる。たとえば、実行時間は、前のECUモジュールに対する新しいECUモジュール用の実行時間の増分と同じ量もしくは実質的に同じ量だけ、またはセンサを新しいECUモジュールと互換性があるようにするために必要な最小量だけ増大させることができる。
スーパーバイザモジュール208はまた、1つまたは複数のスケジューリングパラメータを並べ替えまたは削除して、非互換性を除去することができる。
性能パラメータデータ280は、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139のうちの1つまたは複数用の1つまたは複数の周期パラメータを含む。周期パラメータは、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139の実行周期を規定するパラメータである。
性能パラメータデータ280は、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139のうちの1つまたは複数用の1つまたは複数のスケジューリングポリシーを含む。スケジューリングポリシーはスケジューリングパラメータを含み、スケジューリングパラメータは、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139がプロセスを開始するタイミングを表すパラメータである。
性能パラメータデータ280は、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139のうちの1つまたは複数用の1つまたは複数の実行時間パラメータを含む。実行時間パラメータは、ソフトウェア構成部品130、ハードウェア構成部品132、またはアップグレード構成部品139がプロセスを開始した後にどの程度の時間動作するかを表すパラメータである。
メモリ227は、複数のバージョンのソフトウェア構成部品130を含んでもよく、性能パラメータデータ280は、プロセッサ225によって実行されたときにどのバージョンのソフトウェア構成部品130がハードウェア構成部品132の性能を制御するかを構成するデータを含んでもよい。メモリ227はまた、様々な暗号化アルゴリズム、暗号化キー、メッセージングプロトコルなどを記憶することができる。
図2Cは、例示的な互換性モジュール199のアーキテクチャを示す図である。互換性モジュール199は、互換性レイヤー199とも称される。互換性レイヤー199は、ハードウェア132とソフトウェア130の間に配置される。複数のソフトウェア130を一つのハードウェア132に割り当てて実行することができるので、その場合には一つの互換性レイヤー199の中に、それぞれのソフトウェアに対応させて複数のサブレイヤーが設けられる。
互換性モジュール199による処理の第一は、他の構成部品からの互換性問題を検出(識別)し分類することである。このステップは、識別モジュール204および分類モジュール206によって実行される。図では3種類の非互換性の要因(すなわち、実行時間の変化、実行周期の変化、およびソフトウェア仕様の変更)のみが明示的に示されているが、その他の要因についても同様に対応可能である。互換性レイヤーは、非互換性の種別に応じて適切な解決策を採用する。例えば、互換性モジュール199は、変換(translation)モジュール250のうちの適切なコンポーネントを選択し、そのコンポーネントの性
能パラメータ280を変更する。変換モジュール250は性能パラメータ280に従って動作し、非互換性を除去する。
各構成部品の実行時間、実行周期、ソフトウェア仕様に関する情報は、特性プロパティ(characteristic property)として、それぞれの構成部品内に格納される。より一般に
は、特性プロパティは構成部品の動作の要件や性能を記述するものである。互換性モジュール199は、システム内の構成部品の特性プロパティを参照可能に構成される。互換性モジュール199は、少なくともホストデバイス(当該互換性モジュールが搭載されるデバイス)の特性プロパティと、ホストプロパティとデータをやりとりする他のデバイスの特性プロパティとを取得し、これらの特性プロパティに基づいてホストデバイスと他のデバイスの間の非互換性を検出することができる。
互換性を保つための処理は、非互換な要因を、対応する要請要素が処理可能な形式(form)に変換(translate)することによって行われる。変換モジュール250が、この変
換機能を提供する。変換モジュール250は、スケジュール調整コンポーネント251、周期/レート変換コンポーネント252、仕様変換コンポーネント253、およびその他の変換コンポーネント254を備える。
周期/レート変換コンポーネント252は、周期の変化に起因する非互換性に対処する。ソフトウェア部品130の周期が短縮された場合、変更前の構成部品はこの新しいソフトウェア部品と変更前のレート(すなわち、長い周期=遅いレート)でやりとりする必要がある。この場合には、Slow-to-Fast変換ブロックが必要であり、互換性モジュール199は、レート変換ブロックの性能パラメータ280を変更して、ソフトウェア部品が他の
構成部品からの最新で正しい情報を利用できるようにする。同時に更新された部品からの通信である場合には、変換ブロックは不要である。この場合には、互換性モジュール199はレート変換ブロックの性能パラメータを、情報の形式を保つ(keep)ようにする。レート変換ブロックの性能パラメータ280は、実行周期の増減量に基づいて決定される。
仕様変換コンポーネント253は、仕様の変更に起因する非互換性に、上記と同様に対処する。新しい仕様を用いる構成部品からのメッセージについては、互換性モジュール199は新しい仕様を用いる。一方、古い仕様を用いる構成部品からのメッセージについては、互換性モジュール199は、新しい仕様をそのまま用いるか新しい仕様を古い仕様に変換する。仕様変換コンポーネント253の性能パラメータ280は、このように動作するように変更され、これにより仕様の非互換性が除去される。
スケジュール調整コンポーネント251は、実行時間の変更に起因する非互換性に対処する。ソフトウェア部品130の実行時間が増加または減少した場合、それまでのスケジューリングポリシーをそのまま用いると予期しない結果が生じうる。したがって、実行時間の増加または減少の量に従って、スケジューリングを調整する必要がある。スケジュール調整コンポーネント251は、この増減量に従ってスケジューリングに関するパラメータを決定する。スケジュール調整コンポーネント251の性能パラメータ280は、決定後の値に変更され、これによりスケジュールの非互換性が除去される。
上記の性能パラらメータ変更処理は、更新プロセスの間に行われる。パラメータはサーバ150のような外部のコンピュータによって決定することができる。
スーパーバイザモジュール208は、互換性の問題が実際に解消したか否かを判断する。何らかの異常な振る舞いがスーパーバイザモジュール208によって検出された場合には、互換性モジュール199は互換性に関する問題がまだ解消されずに残っているとみなし、ユーザに警告を発して詳細な調査を行うように勧める。
図3Aおよび図3Bは、適応システム140の構成部品をアップグレードするための方法300についての例示的なフローチャートを示すブロック図である。
ステップ304において、アップグレードされた構成部品によって影響を受ける構成部品が識別される。影響を受ける構成部品は、アップグレードのせいで別の構成部品との非互換性を有するハードウェア構成部品またはソフトウェア構成部品を含む場合がある。
非互換性が実行時間の非互換性であるかどうかに関して、判定305が行われる。非互換性が実行時間の非互換性である場合、方法300はステップ306に進む。ステップ306において、スケジューリングパラメータまたは実行時間パラメータのうちの1つまたは複数を調整することができる。方法300はステップ312に進む。
ステップ305において、実行時間の非互換性が判定されなかった場合、方法300はステップ307に進む。
ステップ307において、非互換性が周期の非互換性であるかどうかに関して、判定が行われる。非互換性が周期の非互換性である場合、方法300はステップ308に進む。ステップ308において、周期パラメータを調整することができる。方法300はステップ312に進む。
ステップ307において、周期の非互換性が判定されなかった場合、方法300はステップ309に進む。
ステップ309において、非互換性が仕様に関連する非互換性であるかどうかに関して、判定が行われる。非互換性が仕様に関連する非互換性である場合、方法300はステップ310に進む。ステップ310において、プロセッサがソフトウェアモジュールの前のバージョンを実行することに基づいてハードウェア構成部品が動作するように、互換性モジュールを更新することができる。方法300はステップ312に進む。
ステップ309において、仕様に関連する非互換性が判定されなかった場合、方法300はステップ311に進む。ステップ311において、影響を受ける構成部品用の互換性モジュールに対して変更が行われないことの決定が行われる。
次に図3Bを参照すると、ステップ312において、互換性モジュールに対する修正が有効であるかどうかに関して、判定が行われる。非互換性が除去された場合、修正は有効である。修正が有効ではない場合、方法300はステップ313に進み、自動車123のドライバに警告が与えられる。修正が有効である場合、方法300はステップ314に進み、互換性モジュールは新しい更新を監視する。
図4Aは、その中の1組の適応システムがアップグレードされようとしているシステム400の例示的な実施形態を示すブロック図である。システム400に含まれる構成要素は図2Aを参照して上述されたので、それらの説明はここでは繰り返さない。
第1の互換性モジュール199Aは、信号線420を介して第1のECUモジュール210に通信可能に結合される。第1の互換性モジュール199Aは、信号線430を介して第2のECUモジュール212に通信可能に結合される。第2の互換性モジュール199Bは、信号線440を介して第1のECUモジュール210に通信可能に結合される。第2の互換性モジュール199Bは、信号線450を介して第4の互換性モジュール199Dに通信可能に結合される。
図4Aは、第1のセンサ101、第1のセンサモジュール110、および第1のECUモジュール210がアップグレードされようとしている例示的な使用事例を描写する。図4Aは、第1のセンサ101が新しいセンサと交換され、第1のセンサモジュール110が新しいセンサモジュールと交換され、第1のECUモジュール210が新しいECUモジュールと交換される場合の使用事例を示している。
図4Bは、図4Aのシステム400の構成部品に対するアップグレードを記述する表410である。新しいセンサ101は、交換前の第1のセンサ101に比べて短くなったサンプリング周期(高サンプリングレート)を有し、これは、1秒当たりより多くのデータが収集され得ることを意味する。同時に、新しいセンサモジュール110および新しいECUモジュール210のアクティブ化周期は、増大したデータを処理するために短くなる。新しいセンサモジュール110および新しいECUモジュール210はまた、新しい暗号化アルゴリズムを使用してセキュリティを高めるものとする。
この場合、新しいセンサ101および新しいセンサモジュール110が一緒に更新されるので、第1の互換性モジュール199Aは、これらの構成部品間の非互換性を識別しない。したがって、第3の互換性モジュール199Cのみが、図4Cを参照して下記に記載されるように更新される。
図4Cは、図4Aおよび図4Bに記述されたアップグレードからもたらされる1組の非互換性を訂正する、第3の互換性モジュール199Cに対する修正を記述する表415である。
新しいセンサ101は交換前の第1のセンサ101よりも速い。一方、第2のECUモジュール212は変更されない。第3の互換性モジュール199Cは、新しいセンサ101(または第1のセンサシステム170)と第2のECUモジュール212の間に実行周期に関する非互換性があり、これらの構成部品の間にfast-to-slowの変換ブロックが必要であることを検出する。より具体的には、新しい第1のセンサ101から第2のECUモジュール212の通信は、fast-to-slow変換を行う必要があると判断する。結果として、第3の互換性モジュール199Cは、レートを増大させるように第2のECUモジュール212用の性能パラメータを修正する。あるいは、第1の互換性モジュールが199Aが、レートを減少させるように第1のセンサ101の性能パラメータを修正してもよい。
新しいECUモジュール210は交換前の第1のECUモジュール210よりも速く、第3の互換性モジュール199Cは、第2のセンサ102(または第2のセンサシステム172)と新しい第1のECUモジュール210の間に実行周期に関する非互換性があり、これらの構成部品の間にslow-to-fastの変換ブロックであることを検出する。より具体的には、第2のセンサ102から新しい第1のECUモジュール210への通信は、slow-to-fast変換を行う必要があると判断する。したがって、第3の互換性モジュール199Cは、レート減少させるように第1のECUモジュール210用の性能パラメータを修正する。
新しいセンサモジュール110と第2のECUモジュール212との間、ならびに第2のセンサモジュール111と第1のECUモジュール210との間では、アルゴリズムの不整合も発生する。第3の互換性モジュール199Cは、新しいセンサモジュール110から第2のECUモジュール212への通信は新しい暗号化アルゴリズムから古い暗号化アルゴリズムに変換し、第2のセンサモジュール111から新しい第1のECUモジュール−210への通信は古い暗号化アルゴリズムから新しい第1のECUモジュールに変換する必要があることを検出する。新しいセンサモジュール110および第1のECUモジュール210は、両方とも新しい暗号化アルゴリズムを使用し、第3の互換性モジュール199Cのレイヤは、第2のECUモジュール212に古い暗号化アルゴリズムを使用し、第1のECUモジュール210に新しい暗号化アルゴリズムを使用する。したがって、第3の互換性モジュール199Cは、第1のECUモジュール210および第2のECUモジュール212の性能パラメータを変更して、暗号化アルゴリズムを変換するようにする。
互換性モジュール199の性能パラメータの変更によって非互換性の問題を解消できない場合には、互換性モジュール199自体を更新することが望ましい。例えば、互換性モジュール199が、新しいアルゴリズムに対応していなかったり、要求されるレート変換が実現できなったりする場合がある。このような場合には、互換性モジュール199を更新して非互換性に対処すればよい。
いくつかの実施形態では、本明細書において記載されたエンジン制御ユニットは、エンジン制御、車体制御、またはトランスミッション制御を実現する機能を含む場合がある。たとえば、エンジン制御ユニットは、自動車のトランスミッションの機能を制御することができる。同様に、いくつかの実施形態では、本明細書で使用するエンジン制御に対する言及は、エンジン制御、車体制御、およびトランスミッション制御を含む。たとえば、エンジン制御は、自動車のトランスミッションの機能の制御を含む場合がある。
以上の説明では、説明の目的で、本明細書を完全に理解するために、多数の具体的な詳細が明記されている。しかしながら、本開示はこれらの具体的な詳細なしに実践され得ることは、当業者には明らかである。場合によっては、説明を不明瞭にすることを回避する
ために、構造およびデバイスがブロック図の形で示される。たとえば、本実装形態は、主にユーザインターフェースおよび特定のハードウェアを参照して、上記で記載することができる。しかしながら、本実装形態は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、ならびにサービスを提供する任意の周辺デバイスに適用することができる。
本明細書における「いくつかの実装形態」または「いくつかの事例」に対する参照は、その実装形態または事例とともに記載される特定の特徴、構造、または特性が説明の少なくとも1つの実装形態に含まれ得ることを意味する。本明細書における様々な場所での「いくつかの実装形態では」というフレーズの出現は、必ずしもすべてが同じ実装形態を参照しているとは限らない。
以下に続く詳細説明のいくつかの部分は、コンピュータメモリ内のデータビット上の演算のアルゴリズムおよびシンボル表現の観点から提示される。これらのアルゴリズム的な記述および表現は、データ処理技術分野の当業者により、他の当業者に自分の仕事の本質を最も効果的に伝達するために使用される手段である。本明細書において、かつ一般的に、アルゴリズムは、望ましい結果に導く自己矛盾のない一連のステップであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。必ずしもそうであるとは限らないが、通常、これらの量は、記憶、転送、合成、比較、および他の方法で操作することが可能な電気信号または磁気信号の形態をとる。主に共通使用の理由で、これらの信号をビット、値、素子、シンボル、文字、用語、番号などとして参照することは、時には好都合であると証明されている。
しかしながら、これらおよび同様の用語のすべてが、適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎないことは留意されるべきである。以下の説明から明白であると別段に明記されていない限り、説明全体にわたって、「処理」または「計算」または「算出」または「決定」または「表示」などを含む用語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報を記憶、送信、もしくは表示するデバイス内の物理量と同様に表される他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを参照する。
本明細書の本実装形態はまた、本明細書において動作を実行するための装置に関係することもできる。この装置は、必要な目的のために特別に構築される場合があるか、またはコンピュータに記憶されたコンピュータプログラムによって、選択的にアクティブ化または再構成される汎用コンピュータを含む場合がある。そのようなコンピュータプログラムは、限定はしないが、各々がコンピュータシステムバスに結合される、フロッピーディスク、光ディスク、CD−ROM、および磁気ディスクを含む任意のタイプのディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カードもしくは光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、または電子命令を記憶するのに適した任意のタイプの媒体を含む、コンピュータ可読記憶媒体に記憶される場合がある。
本明細書は、いくつかの全体的にハードウェアの実装形態、いくつかの全体的にソフトウェアの実装形態、またはハードウェアとソフトウェアの両方の構成要素を含んでいるいくつかの実装形態の形態をとることができる。いくつかの好ましい実装形態では、本明細書は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、ソフトウェアに実装される。
さらに、説明は、コンピュータまたは任意の命令実行システムが使用するか、またはそれとともに使用されるプログラムコードを提供する、コンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明の目的で、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、命令実行装置、または命令実行デバイスが使用するか、またはそれとともに使用されるプログラムを、内蔵、記憶、通信、伝播、または転送することができる任意の装置であり得る。
プログラムコードを記憶または実行するのに適したデータ処理システムは、システムバスを介してメモリ素子に直接的または間接的に結合された少なくとも1つのプロセッサを含む。メモリ素子は、プログラムコードの実際の実行中に利用されるローカルメモリ、バルクストレージ、および、実行中にバルクストレージからコードが取り出されねばならない回数を低減するために少なくともいくつかのプログラムコードの一時的ストレージを提供するキャッシュメモリを含むことができる。
(限定はしないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む)入力/出力デバイスまたはI/Oデバイスは、直接または介在するI/Oコントローラを介して、システムに結合することができる。
ネットワークアダプタは、データ処理システムが、介在する専用ネットワークまたは公共ネットワークを介して、他のデータ処理システムまたはリモートプリンタまたはストレージデバイスに結合されるようになることを可能にするために、システムに結合される場合もある。モデム、ケーブルモデム、およびイーサネット(登録商標)カードは、現在利用可能なタイプのネットワークアダプタのうちのほんの一部である。
最後に、本明細書に提示されたアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用システムは、本明細書における教示によるプログラムとともに使用される場合があるか、または必要な方法ステップを実施するためにより特化した装置を構築することが好都合であると証明する場合がある。様々なこれらのシステムに必要な構造は、下記の説明から明らかになる。加えて、本明細書は、いかなる特定のプログラミング言語も参照して記載されていない。本明細書に記載された明細書の教示を実装するために、様々なプログラミング言語を使用できることが諒解されよう。
本明細書の実装形態の上記の説明は、例示および説明の目的で提示されている。本明細書を開示されたそのままの形態に徹底または限定するものではない。上記の教示に照らして、多くの修正形態または変形形態が可能である。本開示の範囲は、この詳細説明によって限定されず、むしろ本出願の特許請求の範囲によって限定されるものである。当業者によって理解されるように、本明細書は、その趣旨または本質的な特性から逸脱することなく、他の固有の形態で具現化される場合がある。同様に、モジュール、ルーチン、特徴、属性、方法、および他の態様の特定の命名および分割は、必須または重要ではなく、本明細書またはその特徴を実装するメカニズムは、様々な名称、分割、またはフォーマットを有する場合がある。さらに、当業者には明らかなように、本開示のモジュール、ルーチン、特徴、属性、方法、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはその3つの任意の組合せとして実装することができる。また、その例がモジュールである本明細書の構成部品がソフトウェアとして実装される場合はいつでも、構成部品は、スタンドアロンプログラムとして、より大きいプログラムの一部として、複数の別々のプログラムとして、静的もしくは動的にリンクされたライブラリとして、カーネルのロード可能なモジュールとして、デバイスドライバとして、または、コンピュータプログラミングの当業者に現在知られているか、もしくは将来知られるすべておよび任意の他の方
法で、実装することができる。加えて、本開示は、任意の固有のプログラミング言語における、または任意の固有のオペレーティングシステムもしくは動作環境のための実装に少しも限定されない。したがって、本開示は、以下の特許請求の範囲で明記される本明細書の範囲を限定するものではなく、例示するものである。
100 適応環境理解システム
199 互換性モジュール
200 システム
202 通信モジュール
204 識別モジュール
206 分類モジュール
208 スーパーバイザモジュール

Claims (8)

  1. センサシステムとエンジン制御ユニットシステムとの間の非互換性を除去するシステムであって、
    前記システムは、前記エンジン制御ユニットシステムに通信可能に結合されたセンサシステムを含み、
    前記センサシステムは、センサおよびセンサモジュールに通信可能に結合された第1の互換性モジュールを含み、
    前記センサは、物理環境の属性を測定するように構成されたハードウェアを含み、
    前記センサモジュールは、自動車のプロセッサによって実行されることに応答して、センサによって測定された物理環境の測定値を記述するセンサデータを記録し、前記エンジン制御ユニットシステムにセンサデータを供給する処理をセンサに行わせる命令を含み、
    前記エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第2の互換性モジュールを含み、
    前記エンジン制御ユニットは、自動車の性能を管理するように構成されたハードウェアを含み、
    前記エンジン制御ユニットモジュールは、プロセッサによって実行されることに応答して、センサデータに応答して自動車の性能を修正するべきかどうかを判定する処理をエンジン制御ユニットに行わせる命令を含み、
    前記第1の互換性モジュールは、センサおよびセンサモジュールの第1の動作を制御するセンサ性能パラメータの第1のセットを記憶する第1のデータ構造を含み、第1のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの1つまたは複数の第1の動作が修正されるように構成され、
    第2の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第2の動作を制御するエンジン制御ユニット性能パラメータの第2のセットを記憶する第2のデータ構造を含み、第2のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの1つまたは複数の第2の動作が修正されるように構成され、
    第1の互換性モジュールおよび第2の互換性モジュールのうちの1つまたは複数は、スーパーバイザモジュールをさらに含み、当該スーパーバイザモジュールは、プロセッサによって実行されると、
    (1)センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数に対する更新を検出する検出ステップと、
    (2)更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別する識別ステップと、
    (3)第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数に対する1つまたは複数の修正を、当該修正が前記非互換性を除去するように決定する決定ステップと、
    (4)前記非互換性を除去するために、第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数を修正する修正ステップと、
    を含む処理を、プロセッサに実行させる命令を含む、
    システム。
  2. 前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、
    前記決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、
    請求項1に記載のシステム。
  3. 前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、
    前記決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、
    請求項1または2に記載のシステム。
  4. 前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、
    前記決定された修正が、センサおよびエンジン制御ユニットのうちの1つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、
    請求項1から3のいずれか1項に記載のシステム。
  5. 前記更新が、センサ、センサモジュール、エンジン制御ユニット、またはエンジン制御ユニットモジュールのいずれかを、新しいセンサ、センサモジュール、エンジン制御ユニット、またはエンジン制御ユニットモジュールのいずれかに交換することをふくみ、
    請求項1から4のいずれか1項に記載のシステム。
  6. 前記プロセッサが前記エンジン制御ユニットの構成要素である、
    請求項1から5のいずれか1項に記載のシステム。
  7. 自動車に含まれるセンサシステムとエンジン制御ユニットシステムとの間の非互換性を除去する方法であって、
    前記センサシステムは、センサおよびセンサモジュールに通信可能に結合された第1の互換性モジュールを含み、
    前記エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第2の互換性モジュールを含み、
    前記第1の互換性モジュールは、センサおよびセンサモジュールの第1の動作を制御するセンサ性能パラメータの第1のセットを記憶する第1のデータ構造を含み、第1のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうち
    の1つまたは複数の第1の動作が修正されるように構成され、
    第2の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第2の動作を制御するエンジン制御ユニット性能パラメータの第2のセットを記憶する第2のデータ構造を含み、第2のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの1つまたは複数の第2の動作が修正されるように構成され、
    前記方法は、
    (1)センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの1つまたは複数に対する更新を検出するステップと、
    (2)更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別するステップと、
    (3)プロセッサにより、第1の互換性モジュールの第1のデータ構造内に記憶される第1のセットおよび第2の互換性モジュールの第2のデータ構造内に記憶される第2のセットのうちの1つまたは複数に対する1つまたは複数の修正を、当該修正が前記非互換性を除去するように決定するステップと、
    (4)前記非互換性を除去するために、第1の互換性モジュールに含まれる第1のセットおよび第2の互換性モジュールに含まれる第2のセットのうちの1つまたは複数を修正するステップと、
    を含む、方法。
  8. 請求項7に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
JP2017000658A 2016-02-18 2017-01-05 自動車システムのアップグレードをサポートする互換性モジュール Expired - Fee Related JP6245388B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/047,613 US10001988B2 (en) 2016-02-18 2016-02-18 Compatibility module to support an automotive system upgrade
US15/047,613 2016-02-18

Publications (2)

Publication Number Publication Date
JP2017145822A JP2017145822A (ja) 2017-08-24
JP6245388B2 true JP6245388B2 (ja) 2017-12-13

Family

ID=59522471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017000658A Expired - Fee Related JP6245388B2 (ja) 2016-02-18 2017-01-05 自動車システムのアップグレードをサポートする互換性モジュール

Country Status (3)

Country Link
US (1) US10001988B2 (ja)
JP (1) JP6245388B2 (ja)
DE (1) DE102017102970A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922556B2 (en) * 2017-04-28 2021-02-16 Intel Corporation Storage system of DNN outputs for black box
US10402192B2 (en) 2017-07-25 2019-09-03 Aurora Labs Ltd. Constructing software delta updates for vehicle ECU software and abnormality detection based on toolchain
SE1751654A1 (en) 2017-12-27 2019-06-28 Scania Cv Ab Method and control unit for updating at least one functionality of a vehicle
KR102073861B1 (ko) * 2018-01-17 2020-02-05 엘지전자 주식회사 차량에 구비된 차량 제어 장치 및 차량의 제어방법
JP7311245B2 (ja) 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
WO2019187098A1 (ja) * 2018-03-30 2019-10-03 本田技研工業株式会社 内燃機関の管理システム、サーバ装置、および内燃機関の管理方法
US12020011B2 (en) * 2018-08-29 2024-06-25 VMware LLC Managing an upgrade of a virtualization infrastructure component
US11507365B2 (en) * 2018-10-15 2022-11-22 Autonetworks Technologies, Ltd. On-board update device, update processing program, program update method, and on-board update system
CN109871003A (zh) * 2019-03-14 2019-06-11 深圳新荷科技有限公司 基于新能源汽车的车辆故障分析方法、装置及服务器
US11321972B1 (en) 2019-04-05 2022-05-03 State Farm Mutual Automobile Insurance Company Systems and methods for detecting software interactions for autonomous vehicles within changing environmental conditions
US11048261B1 (en) 2019-04-05 2021-06-29 State Farm Mutual Automobile Insurance Company Systems and methods for evaluating autonomous vehicle software interactions for proposed trips
US11760376B2 (en) * 2020-12-29 2023-09-19 Ford Global Technologies, Llc Machine learning updating with sensor data
JP7548187B2 (ja) 2021-10-25 2024-09-10 トヨタ自動車株式会社 情報処理装置、情報処理方法、及び、プログラム
CN114475481A (zh) * 2022-03-24 2022-05-13 四川野马汽车股份有限公司 一种微型电动汽车零部件配置信息的传输系统及方法
US11959433B2 (en) * 2022-07-19 2024-04-16 Cummins Emission Solutions Inc. Systems and methods for determining exhibited useful life of sensors in monitored systems
CN115718474A (zh) * 2022-11-18 2023-02-28 深圳市博诺技术有限公司 一种汽车诊断设备开发者模式系统
WO2024171347A1 (ja) * 2023-02-15 2024-08-22 日本電気株式会社 ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法及びプログラム記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3463757B2 (ja) * 1993-04-08 2003-11-05 株式会社日立製作所 エンジン制御装置及びこれに用いる空気流量計
JPH076026A (ja) * 1993-05-28 1995-01-10 Xerox Corp 構成管理及び構成要素の互換性保証方法、ならびに常駐ソフトウェアと移行ソフトウェアの非互換性の排除方法
JPH11141394A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
JP2007038904A (ja) * 2005-08-04 2007-02-15 Fujitsu Ten Ltd 車載ゲートウェイ装置及び同装置におけるメッセージ中継方法
JP2008185520A (ja) 2007-01-31 2008-08-14 Xanavi Informatics Corp 外部機器を操作する手段を備えたナビゲーション装置及び外部機器の操作方法
JP2011127465A (ja) * 2009-12-16 2011-06-30 Mitsubishi Heavy Ind Ltd エンジン制御装置の保守システム
JP5913895B2 (ja) * 2011-10-13 2016-04-27 矢崎総業株式会社 車両用計器
KR101575447B1 (ko) * 2014-02-06 2015-12-07 현대자동차주식회사 차량의 소프트웨어 업데이트 방법
US9767516B1 (en) * 2014-05-20 2017-09-19 State Farm Mutual Automobile Insurance Company Driver feedback alerts based upon monitoring use of autonomous vehicle
US10500955B2 (en) * 2014-12-30 2019-12-10 Visteon Global Technologies, Inc. Automatic upgrade of a vehicle-based processor based on a physical component change

Also Published As

Publication number Publication date
US20170242688A1 (en) 2017-08-24
DE102017102970A1 (de) 2017-08-24
US10001988B2 (en) 2018-06-19
JP2017145822A (ja) 2017-08-24

Similar Documents

Publication Publication Date Title
JP6245388B2 (ja) 自動車システムのアップグレードをサポートする互換性モジュール
US20230060267A1 (en) Detecting anomalies online using controller processing activity
US9824509B2 (en) Automobile modification system providing security and fault tolerance support
US9842210B2 (en) Universal extensible firmware interface module identification and analysis
JP7103303B2 (ja) 装置、通信モジュール、アプリケーションモジュールおよび方法
US9703570B2 (en) Dynamic device drivers
JP2019209964A (ja) 自動車の診断情報の遠隔取得、監視及び制御のための装置、システム及び方法
US10203947B2 (en) Efficient over-the-air software update for a connected vehicle
JP6305663B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2016177169A1 (zh) 一种辅助电子设备固件升级的方法、装置和终端
JP2019109882A (ja) 車両システムによるセンサデータの補正
US20180039558A1 (en) Fleet-Wide Monitoring System for Vehicles
US11546499B2 (en) Image capturing apparatus and method for controlling the same, and non-transitory computer-readable storage medium
KR101354698B1 (ko) 차량용 전자 제어 장치의 동작 방법
US20200074828A1 (en) Technologies for managing safety at industrial sites
US20230078333A1 (en) Computer Update Performance Assessment
US20240069894A1 (en) Server, storage medium, and software update method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R151 Written notification of patent or utility model registration

Ref document number: 6245388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees