(57)【要約】  本開示は、異種非対称システムのための、混在する重要な機能を管理するための、方法および組み込み電子制御ユニット（ＥＣＵ）システムを開示する。組み込みＥＣＵシステムは、複数のプロセッサを第１のプロセッサのセットと第２のプロセッサのセットとに分割する分割モジュールと、第１のプロセッサのセットの安全性設定値を抽出する抽出モジュールとを備える。安全性設定値は、分割中に生成される。第１のプロセッサのセットの安全性設定値は、信頼されている安全性設定値に基づいて検証され、第１のプロセッサのセットは、検証の結果に基づいて、システム資源にアクセスする。
2020162316.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを備える組み込みＥＣＵシステムであって、
前記複数のプロセッサを、第１のプロセッサのセットと第２のプロセッサのセットとに分割するための分割モジュールと、
前記第１のプロセッサのセットの安全性設定値を抽出するための抽出モジュールと、を含み、
前記安全性設定値は、前記分割中に生成され、
前記第１のプロセッサのセットの前記安全性設定値は、信頼されている安全性設定値に基づいて検証され、
前記第１のプロセッサのセットは、前記検証の結果に基づいてシステム資源にアクセスする、
複数のプロセッサを備える組み込みＥＣＵシステム。
【請求項２】
前記第１のプロセッサのセットは、前記分割に基づいて、前記第２のプロセッサのセットから前記安全性設定値を受信し、各メモリ管理ユニット（ＭＭＵ）の前記安全性設定値を設定する、
請求項１に記載の組み込みＥＣＵシステム。
【請求項３】
前記安全性設定値を前記第２のプロセッサのセットに送信するための送信モジュールを備える、
請求項１に記載の組み込みＥＣＵシステム。
【請求項４】
前記第２のプロセッサのセットの前記信頼されている安全性設定値に基づいて、前記第１のプロセッサのセットの前記安全性設定値を確認するための、前記組み込みＥＣＵシステムの外部に存在する検証モジュールを備える、
請求項１に記載の組み込みＥＣＵシステム。
【請求項５】
前記第２のプロセッサのセットの前記信頼されている安全性設定値に基づいて、前記第１のプロセッサのセットの前記安全性設定値を確認するための、前記組み込みＥＣＵシステムに関連付けられた外部検証モジュールを備える、
請求項１に記載の組み込みＥＣＵシステム。
【請求項６】
前記第１のプロセッサのセットは、前記安全性設定値を、前記第２のプロセッサのセットの前記信頼されている安全性設定値と比較することにより検証される、
請求項１に記載の組み込みＥＣＵシステム。
【請求項７】
前記安全性設定値は、前記第１のプロセッサのセットのアクセスを許可する範囲を含み、前記信頼されている安全性設定値は、複数のレベルによって分類されたアクセスを許可する範囲を含む、
請求項１に記載の組み込みＥＣＵシステム。
【請求項８】
前記第１のプロセッサのセットの各プロセッサは、低信頼性プロセッサであり、前記第２のプロセッサのセットの各プロセッサは、高信頼性プロセッサである、
請求項１に記載の組み込みＥＣＵシステム。
【請求項９】
請求項１に記載の組み込みＥＣＵシステムは、最高の特権レベルで、安全性モジュールのインスタンスを実行する。
【請求項１０】
前記検証の結果に基づいて前記第１のプロセッサのセットにアクセスを提供するための、前記組み込みＥＣＵシステムに関連付けられたアクセスユニットを備える、
請求項１に記載の組み込みＥＣＵシステム。
【請求項１１】
請求項１に記載の組み込みＥＣＵシステムは、前記検証の前記結果に基づいて、要求されたメモリ位置へのアクセスを前記第１のプロセッサのセットに提供することを含む。
【請求項１２】
請求項１に記載の組み込みＥＣＵシステムは、前記検証の前記結果に基づいて、メモリ位置上の書き込み可能および書き換え不能のステータスについて前記第１のプロセッサのセットに通知することを含む。
【請求項１３】
異種非対称システムのための、混在する重要な機能を管理するための方法であって、
組み込みＥＣＵシステムにより、複数のプロセッサを、第１のプロセッサのセットと第２のプロセッサのセットとに分割することと、
前記組み込みＥＣＵシステムにより、前記第１のプロセッサのセットの安全性設定値を抽出することと、を含み、
前記安全性設定値は、前記分割中に生成され、
前記第１のプロセッサのセットの前記安全性設定値は、信頼されている安全性設定値に基づいて検証され、
前記第１のプロセッサのセットは、前記検証の結果に基づいてシステム資源にアクセスする、
異種非対称システムのための、混在する重要な機能を管理するための方法。
【請求項１４】
前記第１のプロセッサのセットは、前記分割に基づいて、前記第２のプロセッサのセットから前記安全性設定値を受信し、各メモリ管理ユニット（ＭＭＵ）の前記安全性設定値を設定する、
請求項１３に記載の方法。
【請求項１５】
前記安全性設定値を前記第２のプロセッサのセットに送信することをさらに含む、
請求項１３に記載の方法。
【請求項１６】
前記第２のプロセッサのセットの前記信頼されている安全性設定値に基づいて、前記第１のプロセッサのセットの前記安全性設定値を確認するための、前記組み込みＥＣＵシステムの外部に存在する検証モジュールを備える、
請求項１３に記載の方法。
【請求項１７】
前記第２のプロセッサのセットの前記信頼されている安全性設定値に基づいて、前記第１のプロセッサのセットの前記安全性設定値を確認するための、前記組み込みＥＣＵシステムに関連付けられた外部検証モジュールを備える、
請求項１３に記載の方法。
【請求項１８】
前記第１のプロセッサのセットの前記安全性設定値を検証することは、前記安全性設定値を、前記第２のプロセッサのセットの前記信頼されている安全性設定値と比較することを含む、
請求項１３に記載の方法。
【請求項１９】
前記安全性設定値は、前記第１のプロセッサのセットのアクセスを許可する範囲を含み、前記信頼されている安全性設定値は、複数のレベルによって分類されたアクセスを許可する範囲を含む、
請求項１３に記載の方法。
【請求項２０】
前記第１のプロセッサのセットの各プロセッサは、低信頼性プロセッサであり、前記第２のプロセッサのセットの各プロセッサは、高信頼性プロセッサである、
請求項１３に記載の方法。
【請求項２１】
前記組み込みＥＣＵにより、最高の特権レベルで、安全性モジュールのインスタンスを実行することをさらに含む、
請求項１３に記載の方法。
【請求項２２】
前記検証の前記結果に基づいて、要求されたメモリ位置への前記アクセスを前記第１のプロセッサのセットに提供することをさらに含む
請求項１３に記載の方法。
【請求項２３】
前記検証の前記結果に基づいて、メモリ位置上の書き込み可能および書き換え不能のステータスについて前記第１のプロセッサのセットに通知することをさらに含む、
請求項１３に記載の方法。
【請求項２４】
前記検証の結果に基づいて前記第１のプロセッサのセットにアクセスを提供するための、前記組み込みＥＣＵシステムに関連付けられたアクセスユニットを含む、
請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、組み込みシステムに関し、より具体的には、限定されるものではないが、異種非対称システムのための、混在する重要な機能を管理するためのシステムおよび方法に関する。
【背景技術】
【０００２】
近年、自動車システムにおける電子部品の使用が驚異的に増加しており、その結果、様々な機能の純機械的な実装が置き換えられている。一般に、深く組み込まれた電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ、ＥＣＵ）は、複雑な演算をサポートできず、複雑な演算を実行するためには、新たなＥＣＵが必要とされる場合がある。しかし、複雑な演算のための新たなＥＣＵを導入すれば、整備および製造のコストが増加する。今日、様々なＥＣＵ機能を、単一のＥＣＵハードウェアに統合することができる。しかし、このような合併した単一のＥＣＵを組み合わせて実行している間に、重要度の異なるいくつかの機能が相互に干渉し、致命的なシステム障害とメモリ破壊につながる場合がある。したがって、機能安全の問題は、組み込みシステムの設計および開発においてより重要になりつつある。【０００３】
既存の組み込みシステムは、実行特権を制御するための方法を提供し、したがって、同一ハードウェア上で重要度が混在する機能の分離を提供する。特に、特権は、タスクが実行されているプロセッサに局所化されている。一般に、オペレーティングシステムは、任意の機能の特権を割り当てて管理し得る。しかし、オペレーティングシステムは、ユーザーによる変更に対して脆弱であり、それゆえ、ついには悪意のあるプログラムを実行して、システム間の妨害を引き起こす場合がある。加えて、局所化された特権は、異種ハードウェア内の他のプロセッサからは認識できず、安全性違反につながる。さらに、ローカルに格納された重要なデータは、プロセッサを迂回し、ダイレクトメモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ、ＤＭＡ）を介してアクセスされ得る。【０００４】
本開示のこの背景技術の節において開示される情報は、本発明の一般的な背景への理解を向上するためのものに過ぎず、この情報が、当業者に既に知られている先行技術を形成するということの、自認または何らかの形の示唆と考えるべきではない。
【発明の概要】
【課題を解決するための手段】
【０００５】
一実施形態では、本開示は、異種非対称システムのための、混在する重要な機能を管理するための組み込み電子制御ユニット（ＥＣＵ）システムに関する場合がある。組み込みＥＣＵシステムは、複数のプロセッサと、プロセッサに通信可能に結合されたメモリとを備えてもよく、メモリは、実行時に、組み込みＥＣＵシステムに、複数のプロセッサを第１のプロセッサのセットと第２のプロセッサのセットとに分割させて、第１のプロセッサのセットの安全性設定値を抽出させ得る、プロセッサ実行可能命令を格納する。安全性設定値は、分割中に生成される。さらに、第１のプロセッサのセットの安全性設定値は、信頼されている安全性設定値に基づいて検証される。その後、第１のプロセッサのセットは、検証の結果に基づいて、システム資源にアクセスする。【０００６】
一実施形態では、本開示は、異種非対称システムのための、混在する重要な機能を管理するための方法に関する場合がある。本方法は、複数のプロセッサを第１のプロセッサのセットと第２のプロセッサのセットとに分割して、第１のプロセッサのセットの安全性設定値を抽出することを含む。安全性設定値は、分割中に生成され、第１のプロセッサのセットの安全性設定値は、信頼されている安全性設定値に基づいて検証される。その後、第１のプロセッサのセットは、検証の結果に基づいて、システム資源にアクセスする。【０００７】
上記の概要は、例示的なものに過ぎず、決して限定的であることが意図されているものではない。上記の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照することにより明らかになるであろう。
【図面の簡単な説明】
【０００８】
本開示に組み込まれ、かつ本開示の一部を構成する添付の図面は、例示的な実施形態を示し、図面の簡単な説明とともに、開示される原理を説明するのに役立つ。図中、参照番号の左端の数字は、その参照番号が最初に現れる図を特定する。類似の機能および構成要素を参照するために、全ての図を通して、同一の番号が使用されている。ここで、本発明の実施形態と一致する、システムおよび／または方法のいくつかの実施形態を、単なる例として、添付の図を参照して説明する。
【図１ａ】本開示のいくつかの実施形態による、組み込み電子制御ユニットシステムの例示的なブロック図を示す。
【図１ｂ】本開示のいくつかの実施形態による、組み込み電子制御ユニットシステムの例示的なブロック図を示す。
【図２】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能を管理するために構成された組み込みＥＣＵシステムの内部アーキテクチャを示す。
【図３ａ】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【図３ｂ】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【図３ｃ】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【図３ｄ】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【図３ｅ】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【図４ａ】本開示のいくつかの実施形態による、安全性設定の実行の例示的な表現を示す。
【図４ｂ】本開示のいくつかの実施形態による、安全性設定の実行の例示的な表現を示す。
【図４ｃ】本開示のいくつかの実施形態による、安全性設定の実行の例示的な表現を示す。
【図５】本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能を管理する方法を示す、フローチャートを示す。
【図６】本開示と一致する実施形態を実装するための、例示的なコンピュータシステム６００のブロック図を示す。
【０００９】
本明細書のいずれのブロック図も、本発明の原理を具現する例示的なシステムの概念図を表すことを、当業者は理解すべきである。同様に、あらゆるフローチャート、フロー図、状態遷移図、擬似コードなどは、コンピュータ読み取り可能媒体で実質的に表され得、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず実行され得る、様々な処理を表すことが理解されよう。
【発明を実施するための形態】
【００１０】
本文書では、「例示的」という言葉は、「例、具体例、または実例として役立つ」ことを意味するものとして本明細書で使用される。本明細書で「例示的」であるとして説明される、本発明のあらゆる実施形態または実装は、必ずしも他の実施形態よりも好適または有利であると解釈されるべきではない。
【００１１】
本開示には、様々な変更および代替の形態の余地があるが、その特定の実施形態は、例として図面に示されており、以下で詳細に説明されるであろう。しかし、本開示を、開示される特定の形態に限定することは意図されておらず、反対に、本開示は、本開示の範囲内にある変更、等価、および代替のすべてに及ぶものであることが理解されるべきである。
【００１２】
用語「含む（備える）（ｃｏｍｐｒｉｓｅｓ）」、「含んでいる（備えている）（ｃｏｍｐｒｉｓｉｎｇ）」、またはその他のそのあらゆる変形は、構成要素またはステップの列挙を含む構成、デバイスまたは方法が、それらの構成要素またはステップのみを含むのではなく、明示的に列挙されていないか、またはそのような構成もしくはデバイス、もしくは方法に固有の、他の構成要素もしくはステップを含み得るように、非排他的な包含に及ぶことが意図されている。言い換えると、「〜を含む（備える）（ｃｏｍｐｒｉｓｅｓ．．．  ａ）」によって進行する、システムまたは装置内の１つまたは複数の要素は、システムまたは方法内の、他の要素または追加の要素の存在を、さらなる制約なしに除外するものではない。
【００１３】
本開示の実施形態の以下の詳細な説明では、本明細書の一部を形成する、添付の図面を参照する。特定の実施形態がその添付の図面内で例示として示され、その特定の実施形態の中で、本開示が実施され得る。これらの実施形態は、当業者が本開示を実施できるように十分詳細に説明されており、他の実施形態が利用されてもよく、かつ本開示の範囲から逸脱することなく変更がなされてもよいことが理解されるべきである。それ故、以下の説明は、限定的な意味で考えるべきではない。
【００１４】
本開示の実施形態は、異種非対称システムのための、混在する重要な機能を管理するための組み込み電子制御ユニット（ＥＣＵ）システムに関する。一実施形態では、異種非対称システムは、アーキテクチャまたはマイクロアーキテクチャが相異なる、２つまたはそれより多くのプロセッサを備えるシステムを指す場合がある。一実施形態では、組み込みＥＣＵシステムは、１つまたは複数の電気システムまたはサブシステムを制御する。本開示では、組み込みＥＣＵシステムは、複数のプロセッサを備え、各プロセッサは、安全性モジュールのインスタンスを実行する。複数のプロセッサは、第１のプロセッサのセットと第２のプロセッサのセットとに分割される。一実施形態では、第１のプロセッサのセットの各プロセッサは、低信頼性プロセッサであり、第２のプロセッサのセットの各プロセッサは、高信頼性プロセッサである。システム資源にアクセスするためのあらゆる要求中に、組み込みＥＣＵシステムは、第１のプロセッサのセットの安全性設定値を抽出する。抽出された第１のプロセッサのセットの安全性設定値は、ハッシュ化されて第２のプロセッサのセットに送信され、信頼されている安全性設定値に対して検証される。これにより、組み込みＥＣＵシステムは、検証に基づいて、第１のプロセッサのセットにシステム資源へのアクセスを提供する。本開示は、安全性非適合構成要素がもたらす影響による、システムの高信頼性構成要素の安全動作の妨害を抑えることにより、信頼性を高める。
【００１５】
図１ａおよび図１ｂは、本開示のいくつかの実施形態による、組み込み電子制御ユニットシステムの例示的なブロック図を示す。
【００１６】
図１ａに示されるように、環境は、組み込み電子制御ユニット（ＥＣＵ）システム１０１を含む。組み込みＥＣＵシステム１０１は、入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ、Ｉ／Ｏ）インターフェース１０３、複数のプロセッサ１０７（「ＣＰＵ」または「プロセッサ」、プロセッサ１０７という）、およびプロセッサ１０７によって実行可能な命令を格納するためのメモリ１０５、を含む。Ｉ／Ｏインターフェース１０３は、プロセッサ１０７と結合される。入力信号または／および出力信号は、この結合を介して通信される。当業者は、図１ａが、例示的な実施形態であり、組み込みＥＣＵシステム１０１が、本開示で明示的に言及されていない任意の他のユニットを含み得ることを、理解するであろう。組み込みＥＣＵシステム１０１は、異種非対称システムのための、混在する重要な機能を管理するために使用されてもよい。一実施形態では、組み込みＥＣＵシステム１０１は、最高の特権レベルで、安全性モジュールのインスタンスを実行する。一実施形態では、特権レベルは、組み込みＥＣＵシステム１０１内でのアクセスおよび実行のための権限のレベルという場合がある。組み込みＥＣＵシステム１０１は、図１ｂに示されるようにプロセッサ１０７を分割する。プロセッサ１０７は、第１のプロセッサのセット１０７１および第２のプロセッサのセット１０７２として分割されてもよい。一実施形態では、第１のプロセッサのセット１０７１は、低信頼性プロセッサであってよく、第２のプロセッサのセット１０７２は、高信頼性プロセッサであってよい。特に、低信頼性プロセッサは、安全性非適合プロセッサであり、高信頼性プロセッサは、安全性適合プロセッサである。一実施形態では、安全性適合プロセッサは、標準の安全度水準に基づいて、安全性非適合プロセッサよりも高く格付けされ得るプロセッサを指す場合がある。図１ｂに示すように、第１のプロセッサのセット１０７１は、プロセッサ１０７１１、プロセッサ１０７１２、…………………およびプロセッサ１０７１ｎ（併せて第１のプロセッサのセット１０７１という）を含む。同様に、第２のプロセッサのセット１０７２は、プロセッサ１０７２１、プロセッサ１０７２２、………………およびプロセッサ１０７２ｎ（併せて第２のプロセッサのセット１０７２という）を含む。第１のプロセッサのセット１０７１の各々は、それぞれ安全性モジュール１１５１を含む。同様に、第２のプロセッサのセット１０７２の各々は、それぞれ安全性モジュール１１５２を含む。
【００１７】
あらゆる瞬間において、システム資源１１３にアクセスするための要求を受信すると、組み込みＥＣＵシステム１０１は、第１のプロセッサのセット１０７１の安全性モジュール１１５１から、安全性設定値を抽出し得る。一実施形態では、安全性設定値は、プロセッサ１０７の分割中に生成される。一実施形態では、第１のプロセッサのセット１０７１は、分割に基づいて、第２のプロセッサのセット１０７２から安全性設定値を受信し、各メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＭＭＵ）の安全性設定値を設定する。さらに、抽出された第１のプロセッサのセット１０７１の安全性設定値は、ハッシュ化されて、プロセッサ間通信（Ｉｎｔｅｒ  Ｐｒｏｃｅｓｓｏｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ、ＩＰＣ）技術によって第２のプロセッサのセット１０７２に送信される。当業者は、本開示の範囲が、本明細書で明示的に言及されていない、安全性設定値を送信するためのあらゆる他の技術を包含し得ることを理解するであろう。さらに、第１のプロセッサのセット１０７１の安全性設定値は、第２のプロセッサのセット１０７２の信頼されている安全性設定値に基づいて検証される。一実施形態では、安全性設定値は、第１のプロセッサのセット１０７１のアクセスを許可する範囲を含み、信頼されている安全性設定値は、複数のレベルによって分類されたアクセスを許可する範囲を含む。一実施形態では、範囲は、アプリケーションの種類に基づいて設定可能であってもよい。例えば、範囲は「０ｘ０００２０３〜０ｘ０２０３０４」であってもよい。一実施形態では、第１のプロセッサのセット１０７１の安全性設定の検証は、組み込みＥＣＵシステム１０１に関連付けられた、外部検証モジュール（図１ｂにおいて明示的には示されていない）によって実行されてよい。一実施形態では、第１のプロセッサのセット１０７１の安全性設定値は、組み込みＥＣＵシステム１０１の外部に存在する、検証モジュール（明示的には図示せず）によって実行されてもよい。別の実施形態では、組み込みＥＣＵシステム１０１は、第１のプロセッサのセット１０７１の安全性設定値を検証してもよい。第１のプロセッサのセット１０７１の安全性設定値は、その安全性設定値を、第２のプロセッサのセット１０７２の信頼されている安全性設定値と比較することにより検証される。その後、組み込みＥＣＵシステム１０１は、検証の結果に基づいて、システム資源１１３へのアクセスを、第１のプロセッサのセット１０７１に提供し得る。アクセスは、例えば、メモリ１０５の要求されたメモリ位置、メモリ位置上の書き込み可能および書き換え不能のステータスなどに関連付けられてもよい。一実施形態では、組み込みＥＣＵシステム１０１は、検証の結果に基づいて第１のプロセッサのセット１０７１にアクセスを提供するための、アクセスユニット（図において明示的には示されていない）に関連付けられてもよい。
【００１８】
図２は、本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能を管理するために構成された組み込みＥＣＵシステムの内部アーキテクチャを示す。
【００１９】
図２に示されるように、組み込みＥＣＵシステム１０１は、データ２００、および本明細書で詳細に説明される１つまたは複数のモジュール２０９を含んでもよい。一実施形態では、データ２００は、メモリ１０５内に格納されてもよい。データ２００は、例えば、分割データ２０１、安全性設定データ２０３、検証データ２０５およびその他のデータ２０７を含んでもよい。
【００２０】
分割データ２０１は、プロセッサ１０７の、第１のプロセッサのセット１０７１および第２のプロセッサのセット１０７２への分割に関する詳細を含んでもよい。その詳細には、プロセッサ１０７に関連付けられた安全性設定値が含まれてもよい。
【００２１】
安全性設定データ２０３は、第１のプロセッサのセット１０７１から抽出された安全性設定値を含んでもよい。一実施形態では、安全性設定値は、分割中に生成されてもよい。
【００２２】
検証データ２０５は、第１のプロセッサのセット１０７１の安全性設定値を、第２のプロセッサのセット１０７２の信頼されている安全性設定と比較した結果を含んでもよい。一実施形態では、検証の結果は、第１のプロセッサのセット１０７１のシステム資源１１３へのアクセスレベルの詳細を含んでもよい。
【００２３】
その他のデータ２０７は、組み込みＥＣＵシステム１０１の様々な機能を実行するために１つまたは複数のモジュール２０９によって生成された、一時データおよび一時ファイルを含むデータを格納してもよい。
【００２４】
一実施形態では、メモリ１０５内のデータ２００は、組み込みＥＣＵシステム１０１のメモリ１０５内に存在する、１つまたは複数のモジュール２１１によって処理される。一実施形態では、１つまたは複数のモジュール２０９は、専用ユニットとして実装されてもよい。本明細書で使用されるモジュールという用語は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、電子回路、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、プログラマブルシステムオンチップ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｓｙｓｔｅｍ−ｏｎ−Ｃｈｉｐ、ＰＳｏＣ）、組み合わせ論理回路、および／または説明されている機能を提供するその他の適切な構成要素を指す。いくつかの実装形態では、１つまたは複数のモジュール２０９は、組み込みＥＣＵシステム１０１の１つまたは複数の機能を実行するために、プロセッサ１０７に通信可能に結合されてもよい。１つまたは複数のモジュール２０９は、本開示で定義される機能で構成される場合、新規のハードウェアとなる。
【００２５】
一実装形態では、１つまたは複数のモジュール２０９は、分割モジュール２１１、抽出モジュール２１３、および送信モジュール２１５を含んでもよいが、これらに限定されない。１つまたは複数のモジュール２０９は、組み込みＥＣＵシステム１０１の種々雑多な機能を実行するための、その他のモジュール２１７も含んでもよい。一実施形態では、その他のモジュール２１７は、検証モジュールおよびアクセスモジュールを含んでもよい。
【００２６】
分割モジュール２１１は、プロセッサ１０７を、第１のプロセッサのセット１０７１と第２のプロセッサのセット１０７２とに仮想的に分割してもよい。一実施形態では、分割モジュール２１１は、プロセッサ１０７の各プロセッサの安全性適合に基づいて、プロセッサ１０７を分割してもよい。例えば、プロセッサ１０７の安全性非適合の各プロセッサは、第１のプロセッサのセット１０７１に分割され、プロセッサ１０７の安全性適合の各プロセッサは、第２のプロセッサのセット１０７２に分割される。一実施形態では、第１のプロセッサのセット１０７１の各プロセッサは、低信頼性プロセッサであり、第２のプロセッサのセット１０７２の各プロセッサは、高信頼性プロセッサである。
【００２７】
第１のプロセッサのセット１０７１からの、システム資源１１３にアクセスするための何らかの要求を受信すると、抽出モジュール２１３は、第１のプロセッサのセット１０７１の安全性設定値を抽出し得る。さらに、第１のプロセッサのセット１０７１の抽出された安全性設定値は、ハッシュ化され、インデックス付けされてもよい。
【００２８】
送信モジュール２１５は、ＩＰＣ技術によって、第１のプロセッサのセット１０７１のハッシュ化された安全性設定値を、第２のプロセッサのセット１０７２に送信してもよい。
【００２９】
第１のプロセッサのセット１０７１の安全性設定値は、組み込みＥＣＵシステム１０１に関連付けられた外部検証モジュールか、組み込みＥＣＵシステム１０１の外部に存在する検証モジュールによって、第２のプロセッサのセット１０７２の信頼されている安全性設定値と比較することにより検証される。検証の結果に基づいて、第１のプロセッサのセット１０７１は、システム資源１１３にアクセスし得る。
【００３０】
図３ａ〜図３ｅは、本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。
【００３１】
ここで図３ａを参照すると、異種非対称システムのための、混在する重要な機能の管理の例示的な表現３００が示されている。図３ａでは、例示的な表現３００は、組み込みＥＣＵシステム１０１を含む。組み込みＥＣＵシステム１０１は、低信頼性プロセッサであるプロセッサ３０１、および高信頼性プロセッサであるプロセッサ３０２を含む。当業者は、図３ａが、例示的な実施形態であり、本開示が、低信頼性プロセッサと高信頼性プロセッサとの両方について、１つより多くのプロセッサも含み得ることを理解するであろう。プロセッサ３０１とプロセッサ３０２は、図３ａ中の点線で表されるように仮想的に分割されている。さらに、第１のプロセッサ３０１という第１の分割は、組み込みＥＣＵシステム１０１のオペレーティングシステム３０８から分離されている安全性モジュール３０３、分割用モジュール３０５、抽出モジュール３０７、ならびに更新不可能な形式の第１のアプリケーション３０９および更新可能な形式の第２のアプリケーション３１１を含む。一実施形態では、プロセッサ３０１内の第２のアプリケーション３１１は、更新されてもよい。プロセッサ３０２は、更新可能な形式であってはならないアプリケーション３１２に関連付けられている。第１のプロセッサ３０１は、対応するメモリ管理ユニット（ＭＭＵ）内の安全性設定値を受信して設定する。プロセッサ３０１の設定された安全性設定値は、抽出モジュール３０７によって抽出され、ハッシュ化されて、ＩＰＣ技術によってプロセッサ３０２に送信される。プロセッサ３０２は、プロセッサ３０１の安全性設定値を、プロセッサ３０２の信頼されている安全性設定値で確認する、検証モジュール３１５を含む。したがって、第２のアプリケーション３１１の何らかの更新の間、如何なるＤＭＡ攻撃によっても、アクセスが許可されることはない。同様に、図３ｂは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）上に、低信頼性プロセッサとしてのプロセッサ３０１、および高信頼性ＳｏｆｔＩｐ３１７を有する、異種非対称システムのための、混在する重要な機能の管理の例示的な表現を示す。一実施形態では、いくつかの実装は、高信頼性プロセッサ／ＳｏｆｔＩｐサブシステムとしてのＦＰＧＡを含み得る。プロセッサ３０１の安全性設定値の検証は、専用のＳｏｆｔＩｐである安全性検証エンジン３１６によって実行されてもよい。したがって、第２のアプリケーションのための何らかの更新を受信する場合、プロセッサ３０１の安全性設定値が検証され、そのような更新中のアクセスは、如何なるＤＭＡ攻撃によっても、許可されることはない。
【００３２】
図３ｃは、ＦＰＧＡ上に、低信頼性プロセッサとしてのプロセッサ３０１、高信頼性プロセッサとしてのプロセッサ３０２、およびＳｏｆｔＩｐ３１７を有する、混在する重要な機能を管理するための、３つのエンティティの異種サブシステムの例示的な表現を示す。プロセッサ３０１およびプロセッサ３０２は、両方とも、それぞれの安全性設定値をＦＰＧＡ上のＳｏｆｔＩｐ３１７で送信してもよい。安全性設定の検証は、ＦＰＧＡ上のＳｏｆｔＩｐ３１７によって実装されてもよい。一実施形態では、ＦＰＧＡは、安全性検証エンジン３１６の一部として実装された、安全なメモリ領域および非安全なメモリ領域を露呈してもよい。したがって、第２のアプリケーション３１１１のための何らかの更新を受信する場合、プロセッサ３０１の安全性設定値が検証され、そのような更新中のアクセスは、如何なるＤＭＡ攻撃によっても、許可されることはない。
【００３３】
同様に、図３ｄは、ＦＰＧＡ上に、低信頼性プロセッサとしてのプロセッサ３０１、高信頼性ＦＰＧＡとしてのプロセッサ３０２、およびＳｏｆｔＩｐ３１７をともなう中間プロセッサを有する、混在する重要な機能を管理するための、３つのエンティティの異種サブシステムの例示的な表現を示す。プロセッサ３０１およびプロセッサ３０２は、両方とも、安全性設定値をＦＰＧＡ上のＳｏｆｔＩｐで送信してもよい。一実施形態では、ＳｏｆｔＩｐ３１７をともなう中間プロセッサは、それぞれ異なるレベルの安全性分割制限を割り当て得る。ＦＰＧＡは、安全性検証エンジン３１６の一部として実装された、安全なメモリ領域および非安全なメモリ領域を露呈してもよい。したがって、第２のアプリケーション３１１１のための何らかの更新を受信する場合、プロセッサ３０１の安全性設定値が、安全性検証エンジン３１６によって検証され、そのような更新中のアクセスは、如何なるＤＭＡ攻撃によっても、許可されることはない。図３ｅは、安全性ミドルウェア３１８をともなう低信頼性プロセッサとしてのプロセッサ３０１、および高信頼性プロセッサとしてのプロセッサ３０２を有する、混在する重要な機能を管理するための、例示的な実装を示す。一実施形態では、安全性ミドルウェア３１８を使用して、アプリケーション間の安全性違反を検出してもよい。安全性ミドルウェア３１８は、安全性違反および異常をアプリケーションレベルでフィルタリングするために配置されてもよい。一実施形態では、安全性ミドルウェア３１８は、カーネルの構成要素であってもよい。
【００３４】
図４ａ、図４ｂ、および図４ｃは、本開示のいくつかの実施形態による、安全性設定の実行の例示的な表現を示す。
【００３５】
図４ａおよび図４ｂは、組み込みＥＣＵシステム１０１における、安全性設定へのアクセス違反の報告の例示的な表現を示す。図４ｃは、組み込みＥＣＵシステム１０１における、安全性設定へのアクセス承認の報告の例示的な表現を示す。一実施形態では、第１のプロセッサのセット１０７１からのメモリまたはデバイスの要求に基づいて、メモリアドレス、アクセス種別、安全ユニットＩＤ、および安全性レベルの、事前設定値が抽出されてもよい（第１のプロセッサのセット１０７１の安全性設定値という）。図４ａに示す最初のシナリオを検討せよ。この場合、第１のプロセッサのセット１０７１に関連付けられたアプリケーションによる、安全ユニットＩＤ「０ｘ３０」、メモリアドレス「０ｘ８０００１０２０」で、アクセス種別「Ｗｒｉｔｅ（Ｗ）」の、メモリ位置にアクセスするための要求が受信される。要求を受信すると、対応するＭＭＵ設定が、設定される。ＭＭＵ設定は、図４ａに示す例示的な表４０１によって表される。組み込みＥＣＵシステム１０１は、要求に関連付けられた安全性設定値を、設定されたＭＭＵ設定と比較してよい。表４０１に示すように、要求に対応するメモリアドレス「０ｘ８０００１０２０」は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲内にある。加えて、表４０２に示すように、安全性レベル「２」の安全ユニットＩＤ「０ｘ３０」が、初期化中に事前設定される。メモリアドレス範囲「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」は、安全ユニットＩＤ「０ｘ３０」のアプリケーションへの、「ｒｅａｄ」種別のみのアクセスを提供する。したがって、比較すると、組み込みＥＣＵシステム１０１は、第１のプロセッサのセット１０７１からのアクセス要求を、違反しているとして報告し得る。要求は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲について許可されていない、「ｗｒｉｔｅ」アクセス種別へのものだからである。図４ｂに示す２番目のシナリオを検討せよ。この場合、第１のプロセッサのセット１０７１に関連付けられたアプリケーションによる、安全ユニットＩＤ「０ｘ３４」、メモリアドレス「０ｘ８０００１０２０」で、アクセス種別「Ｒｅａｄ（Ｒ）」の、メモリ位置にアクセスするための要求が受信される。要求を受信すると、対応するＭＭＵ設定が、設定される。組み込みＥＣＵシステム１０１は、要求に関連付けられた安全性設定値を、設定されたＭＭＵ設定と比較してよい。表４０１に示すように、要求に対応するメモリアドレス「０ｘ８０００１０２０」は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲内にある。しかし、メモリアドレス範囲「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」は、安全ユニットＩＤ「０ｘ３０」のアプリケーションへの、「ｒｅａｄ」種別のアクセスを提供する。したがって、比較すると、組み込みＥＣＵシステム１０１は、第１のプロセッサのセット１０７１からのアクセス要求を、違反しているとして報告し得る。安全ユニットＩＤ「０ｘ３４」は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲について許可されていないからである。一実施形態において、アクセス違反は、第１のプロセッサのセット１０７１に緊急のソフトウェアリセットを発行している間に、第１のプロセッサのセット１０７１へのソフトウェア割り込みを介して報告されて、ＯＥＭの設定された回復動作などを実行してもよい。表４０１に示すように、違反動作は、対応する動作ＩＤにマッピングされる。許可される安全ユニットＩＤは、特定のアドレス範囲に関連付けられるように設定される、複数の安全ユニットＩＤ（Ｓａｆｅｔｙ  Ｕｎｉｔ  ＩＤ、ＳＵＩ）の機能である。システムの初期化中、安全性レベルは、複数エンティティの異種システムのユニットを区別するために使用され、ＳＵＩは、システム内の特定の処理エンティティに割り当てられた一意のＩＤを表す。
【００３６】
同様に、図４ｃに示すように、要求が、第１のプロセッサのセット１０７１に関連付けられたアプリケーションによって、安全ユニットＩＤ「０ｘ３０」、メモリアドレス「０ｘ８０００１０２０」で、アクセス種別「Ｒｅａｄ（Ｒ）」の、メモリ位置にアクセスするためのものであることを検討せよ。要求を受信すると、対応するＭＭＵ設定が、設定される。組み込みＥＣＵシステム１０１は、要求に関連付けられた安全性設定値を、設定されたＭＭＵ設定と比較してよい。表４０１に示すように、要求に対応するメモリアドレス「０ｘ８０００１０２０」は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲内にある。加えて、メモリアドレス範囲「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」は、安全ユニットＩＤ「０ｘ３０」のアプリケーションへの、「ｒｅａｄ」種別のみのアクセスを提供する。したがって、比較すると、組み込みＥＣＵシステム１０１は、第１のプロセッサのセット１０７１からのアクセス要求を、承認されるとして報告し得る。要求は、「０ｘ８０００１０００−０ｘ８０００１２ＦＦ」のメモリアドレス範囲について許可されている、「Ｒ」アクセス種別へのものだからである。
【００３７】
図５は、本開示のいくつかの実施形態による、異種非対称システムのための、混在する重要な機能を管理する方法を示す、フローチャートを示す。
【００３８】
図５に示すように、方法５００は、異種非対称システムのための、混在する重要な機能の管理に関する１つまたは複数のブロックを含む。方法５００は、コンピュータ実行可能命令の一般的な文脈で説明されてもよい。一般に、コンピュータ実行可能命令は、特定の機能を実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造、手順、モジュール、および機能を含むことができる。
【００３９】
方法５００が記載される順序は、限定として解釈されることが意図されておらず、任意の数の記載される方法ブロックを、任意の順序で組み合わせて、本方法を実装することができる。加えて、個々のブロックは、本明細書で説明される発明の範囲から逸脱することなく、本方法から削除されてもよい。さらにまた、本方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実装されることができる。
【００４０】
ブロック５０１で、複数のプロセッサ１０７は、分割モジュール２１１によって、第１のプロセッサのセット１０７１および第２のプロセッサのセット１０７２に分割される。
【００４１】
ブロック５０３で、第１のプロセッサのセット１０７１の安全性設定値が、抽出モジュール２１３によって抽出される。安全性設定値は、分割中に生成される。第１のプロセッサのセット１０７１の安全性設定値は、信頼されている安全性設定値に基づいて検証され、検証の結果に基づいて、第１のプロセッサのセット１０７１は、システム資源１１３にアクセスする。第１のプロセッサのセット１０７１の安全性設定値は、送信モジュール２１５によって、第２のプロセッサのセット１０７２に送信される。一実施形態では、組み込みＥＣＵシステム１０１に関連付けられた外部検証モジュールは、第１のプロセッサのセット１０７１の安全性設定値を確認してもよい。
【００４２】
［コンピューティングシステム］
図６は、本開示と一致する実施形態を実装するための、例示的なコンピュータシステム６００のブロック図を示す。一実施形態では、コンピュータシステム６００は、組み込みＥＣＵシステム１０１を実装するために使用されてもよい。コンピュータシステム６００は、中央処理装置（「ＣＰＵ」または「プロセッサ」）６０２を含んでもよい。プロセッサ６０２は、異種非対称システムのための、混在する重要な機能を管理するための少なくとも１つのデータプロセッサを含んでもよい。プロセッサ６０２は、統合システム（バス）コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、グラフィックス処理ユニット、デジタル信号処理ユニットなどの、特化した処理装置を含んでもよい。
【００４３】
プロセッサ６０２は、Ｉ／Ｏインターフェース６０１を介して、１つまたは複数の入出力（Ｉ／Ｏ）デバイス（図示せず）と通信するように配置されてもよい。Ｉ／Ｏインターフェース６０１には、限定するものではないが、オーディオ、アナログ、デジタル、ｍｏｎｏａｕｒａｌ、ＲＣＡ、ステレオ、ＩＥＥＥ（登録商標）−１３９４、シリアルバス、ユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ、ＵＳＢ（登録商標））、赤外線、ＰＳ／２、ＢＮＣ、同軸、コンポーネント、コンポジット、デジタルビジュアルインターフェイス（ｄｉｇｉｔａｌ  ｖｉｓｕａｌ  ｉｎｔｅｒｆａｃｅ、ＤＶＩ）、高精細度マルチメディアインターフェイス（ｈｉｇｈ−ｄｅｆｉｎｉｔｉｏｎ  ｍｕｌｔｉｍｅｄｉａ  ｉｎｔｅｒｆａｃｅ、ＨＤＭＩ（登録商標））、ＲＦアンテナ、Ｓ映像、ＶＧＡ、ＩＥＥＥ（登録商標）８０２．ｎ／ｂ／ｇ／ｎ／ｘ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラー式（例えば、符号分割多重アクセス（ｃｏｄｅ−ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ、ＣＤＭＡ）、高速パケットアクセス（ｈｉｇｈ−ｓｐｅｅｄ  ｐａｃｋｅｔ  ａｃｃｅｓｓ、ＨＳＰＡ＋）、汎欧州デジタル移動体通信システム（ｇｌｏｂａｌ  ｓｙｓｔｅｍ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、ＧＳＭ（商標））、ｌｏｎｇ−ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ（ＬＴＥ（商標））、ＷｉＭａｘ（商標）など）その他などの、通信プロトコル／通信方法を採用してもよい。
【００４４】
Ｉ／Ｏインターフェース６０１を使用して、コンピュータシステム６００は、１つまたは複数のＩ／Ｏデバイスと通信し得る。例えば、入力デバイスは、アンテナ、キーボード、マウス、ジョイスティック、（赤外線）リモコン、カメラ、カードリーダー、ＦＡＸ機、ドングル、バイオメトリックリーダー、マイク、タッチスクリーン、タッチパッド、トラックボール、スタイラス、スキャナー、記憶装置、トランシーバ、ビデオデバイス／ビデオソースなどであってよい。出力デバイスは、プリンタ、ＦＡＸ機、ビデオディスプレイ（例えば、ブラウン管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ、ＣＲＴ）、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ、ＬＣＤ）、発光ダイオード（ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ、ＬＥＤ（商標））、プラズマ、プラズマディスプレイパネル（Ｐｌａｓｍａ  ｄｉｓｐｌａｙ  ｐａｎｅｌ、ＰＤＰ）、有機発光ダイオードディスプレイ（Ｏｒｇａｎｉｃ  ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ  ｄｉｓｐｌａｙ、ＯＬＥＤ）など）、オーディオスピーカーなどであってよい。
【００４５】
いくつかの実施形態では、コンピュータシステム６００は、組み込みＥＣＵシステム１０１からなる。プロセッサ６０２は、ネットワークインターフェース６０３を介して、通信ネットワーク６０９と通信するように配置されてもよい。ネットワークインターフェース６０３は、通信ネットワーク６０９と通信してもよい。ネットワークインターフェース６０３は、直接接続、イーサネット（例えば、ツイストペア１０／１００／１０００  Ｂａｓｅ  Ｔ）、伝送制御プロトコル／インターネットプロトコル（ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ／ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ、ＴＣＰ／ＩＰ）、トークンリング、ＩＥＥＥ（登録商標）８０２．１１ａ／ｂ／ｇ／ｎ／ｘなどを非限定的に含む、接続プロトコルを採用してもよい。通信ネットワーク６０９には、直接相互接続、ローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＬＡＮ）、ワイドエリアネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＷＡＮ）、無線ネットワーク（例えば、無線アプリケーションプロトコルを使用する）、インターネットなどが非限定的に含まれてよい。ネットワークインターフェース６０３は、直接接続、イーサネット（例えば、ツイストペア１０／１００／１０００Ｂａｓｅ  Ｔ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、トークンリング、ＩＥＥＥ（登録商標）８０２．１１ａ／ｂ／ｇ／ｎ／ｘなどを含むがこれらに限定されない、接続プロトコルを採用してもよい。
【００４６】
通信ネットワーク６０９には、直接相互接続、電子商取引ネットワーク、ピアツーピア（ｐｅｅｒ  ｔｏ  ｐｅｅｒ、Ｐ２Ｐ）ネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク（例えば、無線アプリケーションプロトコルを使用する）、インターネット、Ｗｉ−Ｆｉなどが含まれるが、これらに限定されない。第１のネットワークおよび第２のネットワークは、専用ネットワークか、または共有ネットワークであり得、相互に通信するために、例えば、ハイパーテキスト転送プロトコル（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＨＴＴＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、無線アプリケーションプロトコル（Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＷＡＰ）などの種々のプロトコルを使用する、様々な種類のネットワークの関連付けを表す。さらに、第１のネットワークおよび第２のネットワークには、ルータ、ブリッジ、サーバ、コンピューティングデバイス、記憶装置などを含む、種々のネットワークデバイスが含まれてもよい。
【００４７】
いくつかの実施形態では、プロセッサ６０２は、記憶インターフェース６０４を介して、メモリ６０５（例えば、図６に示されていない、ＲＡＭ、ＲＯＭなど）と通信するように配置されてもよい。記憶インターフェース６０４は、シリアルアドバンストテクノロジーアタッチメント（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ、ＳＡＴＡ（登録商標））、インテグレーティドドライブエレクトロニクス（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ、ＩＤＥ）、ＩＥＥＥ（登録商標）−１３９４、ユニバーサルシリアルバス（ＵＳＢ（登録商標））、ファイバーチャネル、小型計算機システムインターフェース（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ、ＳＣＳＩ）その他などの接続プロトコルを採用して、メモリドライブ、リムーバブルディスクドライブなどを、これらに限定することなく含む、メモリ６０５に接続してもよい。メモリドライブは、ドラム、磁気ディスクドライブ、光磁気ドライブ、光学ドライブ、レイド（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｃｓ、ＲＡＩＤ）、ソリッドステートメモリデバイス、ソリッドステートドライブなどをさらに含んでもよい。
【００４８】
メモリ６０５は、ユーザーインターフェース６０６、オペレーティングシステム６０７などを非限定的に含む、プログラムまたはデータベースコンポーネントの集合を格納してもよい。いくつかの実施形態では、コンピュータシステム６００は、本開示で説明されるように、データ、変数、レコードその他などの、ユーザー／アプリケーションデータ６０６を格納してもよい。そのようなデータベースは、オラクルまたはサイベースなどの、フォールトトレラントであり、スケーラブルで安全なリレーショナルデータベースとして実装されてよい。
【００４９】
オペレーティングシステム６０７は、コンピュータシステム６００の資源管理および運用を容易にし得る。オペレーティングシステムの例には、ＡＰＰＬＥ  ＭＡＣＩＮＴＯＳＨ（登録商標）ＯＳ  Ｘ、ＵＮＩＸ（登録商標）、ＵＮＩＸライクなシステムディストリビューション（例えば、ＢＥＲＫＥＬＥＹ  ＳＯＦＴＷＡＲＥ  ＤＩＳＴＲＩＢＵＴＩＯＮ（商標）（ＢＳＤ）、ＦＲＥＥＢＳＤ（商標）、ＮＥＴＢＳＤ（商標）、ＯＰＥＮＢＳＤ（商標）など）、ＬＩＮＵＸ  ＤＩＳＴＲＩＢＵＴＩＯＮＳ（商標）（例えば、ＲＥＤ  ＨＡＴ（商標）、ＵＢＵＮＴＵ（商標）、ＫＵＢＵＮＴＵ（商標）など）、ＩＢＭ（商標）ＯＳ／２、ＭＩＣＲＯＳＯＦＴ（商標）  ＷＩＮＤＯＷＳ（商標）（ＸＰ（商標）、ＶＩＳＴＡ（商標）／７／８、１０など）、ＡＰＰＬＥ（登録商標）ＩＯＳ（商標）、ＧＯＯＧＬＥ（登録商標）ＡＮＤＲＯＩＤ（商標）、ＢＬＡＣＫＢＥＲＲＹ（登録商標）ＯＳなどが非限定的に含まれる。
【００５０】
いくつかの実施形態では、コンピュータシステム６００は、ウェブブラウザ６０８の格納されたプログラムコンポーネントを実装してもよい。ウェブブラウザ６０８は、ハイパーテキスト閲覧アプリケーション、例えば、ＭＩＣＲＯＳＯＦＴ（登録商標）ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（商標）、ＧＯＯＧＬＥ（登録商標）ＣＨＲＯＭＥ（商標）、ＭＯＺＩＬＬＡ（登録商標）ＦＩＲＥＦＯＸ（商標）、ＡＰＰＬＥ（登録商標）ＳＡＦＡＲＩ（商標）などであってよい。安全なウェブブラウジングは、セキュアハイパーテキスト転送プロトコル（Ｓｅｃｕｒｅ  Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ、ＨＴＴＰＳ）、セキュアソケットレイヤー（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ、ＳＳＬ）、トランスポートレイヤーセキュリティ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ、ＴＬＳ）などを使用して提供され得る。ウェブブラウザ６０８は、ＡＪＡＸ（商標）、ＤＨＴＭＬ（商標）、ＡＤＯＢＥ（登録商標）  ＦＬＡＳＨ（商標）、ＪＡＶＡＳＣＲＩＰＴ（商標）、ＪＡＶＡ（商標）、アプリケーションプログラミングインターフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、ＡＰＩ）その他などの機能を利用してもよい。いくつかの実施形態では、コンピュータシステム６００は、メールサーバーの格納されたプログラムコンポーネントを実装してもよい。メールサーバーは、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅその他などの、インターネットメールサーバーであってもよい。メールサーバーは、ＡＳＰ（商標）、ＡＣＴＩＶＥＸ（商標）、ＡＮＳＩ（商標）Ｃ＋＋／Ｃ＃、ＭＩＣＲＯＳＯＦＴ（登録商標）、．ＮＥＴ（商標）、ＣＧＩ  ＳＣＲＩＰＴＳ（商標）、ＪＡＶＡ（商標）、ＪＡＶＡＳＣＲＩＰＴ（商標）、ＰＥＲＬ（商標）、ＰＨＰ（商標）、ＰＹＴＨＯＮ（商標）、ＷＥＢＯＢＪＥＣＴＳ（商標）その他などの、機能を利用してもよい。メールサーバーは、インターネットメッセージアクセスプロトコル（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ、ＩＭＡＰ）、メッセージングアプリケーションプログラミングインターフェース（Ｍｅｓｓａｇｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、ＭＡＰＩ）、ＭＩＣＲＯＳＯＦＴ（登録商標）ｅｘｃｈａｎｇｅ、ポストオフィスプロトコル（ＰＯＰ）、簡易メール転送プロトコル（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＳＭＴＰ）その他などの、通信プロトコルを利用してよい。いくつかの実施形態では、コンピュータシステム６００はメールクライアントの格納されたプログラムコンポーネントを実装してもよい。メールクライアントは、ＡＰＰＬＥ（登録商標）ＭＡＩＬ（商標）、ＭＩＣＲＯＳＯＦＴ（登録商標）ＥＮＴＯＵＲＡＧＥ（商標）、ＭＩＣＲＯＳＯＦＴ（登録商標）ＯＵＴＬＯＯＫ（商標）、ＭＯＺＩＬＬＡ（登録商標）ＴＨＵＮＤＥＲＢＩＲＤ（商標）その他などの、メール閲覧アプリケーションであってよい。
【００５１】
さらにまた、本開示と一致する実施形態を実装することにおいて、１つまたは複数のコンピュータ読み取り可能記憶媒体が、利用されてもよい。コンピュータ読み取り可能記憶媒体は、プロセッサによって読み取り可能な情報またはデータが格納され得る、任意の種類の物理メモリを指す。したがって、コンピュータ読み取り可能記憶媒体は、本明細書で説明される実施形態と一致するステップまたは段階を、プロセッサに実行させるための命令を含む、１つまたは複数のプロセッサが、実行するための命令を格納し得る。「コンピュータ読み取り可能媒体」という用語は、有形のものを含み、搬送波および一時的な信号を除外する、つまり非一時的であると理解されるべきである。例としては、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、揮発性メモリ、不揮発性メモリ、ハードドライブ、ＣＤ  ＲＯＭ、ＤＶＤ、フラッシュドライブ、ディスク、およびその他の知られている任意の物理記憶媒体が挙げられる。
【００５２】
本開示の一実施形態は、処理能力の向上とともに機能安全基準を満たす必要がある、自動車、工業用制御などの分野で使用されてもよい。
【００５３】
本開示の実施形態は、安全性非適合システム構成要素がもたらす悪影響による、高信頼性エンティティの安全動作の妨害を抑えることにより、信頼性を高める。
【００５４】
本開示の実施形態は、利用可能な構成要素の設計および開発のコストを削減する。
【００５５】
本開示の一実施形態には、異種のソフトウェアおよびハードウェア構成要素の改良を強化するための、安全性ファームウェアおよび検証技術が含まれる。
【００５６】
説明される動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを作り出すための標準的なプログラミングおよび／またはエンジニアリングの技術を用いて、方法、システムまたは製造物品として実装されてもよい。説明される動作は、「非一時的なコンピュータ読み取り可能媒体」に保持されるコードとして実装されてもよい。そこでは、プロセッサが、そのコンピュータ読み取り可能媒体からそのコードを読み取って実行し得る。プロセッサは、クエリを処理および実行できるマイクロプロセッサおよびプロセッサのうち少なくとも１つである。非一時的なコンピュータ読み取り可能媒体には、磁気記憶媒体（例えば、ハードディスクドライブ、フロッピーディスク、テープなど）、光学記憶（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性メモリデバイスおよび非揮発性メモリデバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ファームウェア、プログラマブルロジックなど）その他などの、媒体が含まれてもよい。さらに、非一時的なコンピュータ読み取り可能媒体には、一時的なものを除くすべてのコンピュータ読み取り可能媒体が含まれる。説明される動作を実装するコードは、さらに、ハードウェアロジック（例えば、集積回路チップ、プログラマブルゲートアレイ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）で実装されてもよい。
【００５７】
またさらに、説明される動作を実装するコードは、「伝送信号」で実装されてもよく、伝送信号は、空間を介して、または光ファイバ、銅線その他などの伝送媒体を介して伝播してもよい。コードまたはロジックがエンコードされた伝送信号には、無線信号、衛星伝送、電波、赤外線信号、Ｂｌｕｅｔｏｏｔｈなどが、さらに含まれてもよい。コードまたはロジックがエンコードされた伝送信号は、送信局によって送信され、受信局によって受信されることができる。伝送信号内にエンコードされたコードまたはロジックは、受信局および送信局または受信デバイスおよび送信デバイスで、デコードされて、ハードウェアまたは非一時的なコンピュータ読み取り可能媒体に格納されてもよい。「製造物品」には、コードが実装され得る、非一時的なコンピュータ読み取り可能媒体、ハードウェアロジック、および／または伝送信号が含まれる。説明される動作の実施形態を実装するコードが、エンコードされる、デバイスには、コンピュータ読み取り可能媒体またはハードウェアロジックが含まれてもよい。もちろん、当業者は、本発明の範囲から逸脱することなく、この構成に多くの変更がされ得ること、および製造物品には、当技術分野で知られている適切な情報伝達媒体が含まれてもよいことを認識するであろう。
【００５８】
用語「実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「実施形態（ｅｍｂｏｄｉｍｅｎｔ）」、「実施形態（ｅｍｂｏｄｉｍｅｎｔｓ）」、「実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「１つ又は複数の実施形態」、「いくつかの実施形態」、および「一実施形態」は、別途明示的に規定しない限り、「１つ又は複数の（ただし、すべてではない）本発明の実施形態」を意味する。
【００５９】
用語「含む（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（備える）（ｈａｖｉｎｇ）」およびそれらの変形は、別途明示的に規定しない限り、「含むがこれらに限定されない」を意味する。
【００６０】
列挙される事項のそれら列記は、別途明示的に規定しない限り、それらの事項のいずれかまたはすべてが、相互に排他的であることを含意しない。
【００６１】
用語「ａ」、「ａｎ」、および「ｔｈｅ」は、別途明示的に規定しない限り、「１つ又は複数の」を意味する。
【００６２】
互いに通信するいくつかの構成要素をともなう実施形態の記載は、すべてのそのような構成要素が必要であることを含意しない。逆に、本発明の幅広い種々の可能な実施形態を例示するために、種々の任意の構成要素が記載されている。
【００６３】
本明細書で単一のデバイスまたは物品が説明される場合、単一のデバイス／物品の代わりに、１つより多くのデバイス／物品が、（それらが協働するかどうかにかかわらず）使用され得ることが、容易に分かるであろう。同様に、本明細書で１つより多くのデバイスまたは物品が説明される場合（それらが協働するかどうかにかかわらず）、１つより多くのデバイスもしくは物品の代わりに、単一のデバイス／物品が使用され得、または、示されている数のデバイスもしくはプログラムの代わりに、異なる数のデバイス／物品が使用され得ることが、容易に分かるであろう。デバイスの機能および／または特徴は、そのような機能／特徴を有するものとして明示的に説明されていない、１つまたは複数の他のデバイスによって代わりに具現されてもよい。したがって、本発明の他の実施形態は、デバイスそれ自体を含む必要はない。
【００６４】
図５に示される動作は、特定の順序で起きる、特定のイベントを示す。別の実施形態では、特定の動作が、異なる順序で実行され、変更され、または削除されてもよい。その上さらに、上記のロジックにステップが追加されてもよく、それでもなお、説明される実施形態に適合する。さらに、本明細書で説明される動作は、連続して起きる場合があり、または特定の動作が、並行して処理される場合がある。またさらに、動作は、単一の処理ユニットまたは分散処理ユニットによって実行されてもよい。
【００６５】
最後に、本明細書で使用される言葉は、主として読みやすさと教示的な目的のために選択されているものであり、発明を明確に記述し、または発明の範囲を定めるために選択されているものではない場合がある。それ故、本発明の範囲は、この詳細な説明によってではなく、本明細書に基づいた出願で発行される、任意の請求項によって限定されることが、意図されている。したがって、本発明の実施形態の開示は、以下の請求項に記載される本発明の範囲を、限定することなく例示することが意図されている。
【００６６】
本明細書では様々な態様および実施形態が開示されているが、他の態様および実施形態は、当業者に明らかであろう。本明細書で開示される様々な態様および実施形態は、例示を目的とするものであり、限定的であることは意図されておらず、真の範囲および精神は、以下の請求項によって示される。
【符号の説明】
【００６７】
１００…環境、１０１…組み込みＥＣＵシステム、１０３…Ｉ／Ｏインターフェース、１０５…メモリ、１０７…プロセッサ、１０７１Ｎ…第１のプロセッサのセットのプロセッサ、１０７２Ｎ…第２のプロセッサのセットのプロセッサ、１１３…システム資源、１１５１Ｎ…第１のプロセッサのセットの安全性モジュール、１１５２Ｎ…第２のプロセッサのセットの安全性モジュール、２００…データ、２０１…分割データ、２０３…安全性設定データ、２０５…検証データ、２０７…その他のデータ、２０９…モジュール、２１１…分割モジュール、２１３…抽出モジュール、２１５…送信モジュール、２１７…その他のモジュール、３０１…プロセッサ、３０２…プロセッサ、３０３…安全性モジュール、３０５…分割用モジュール、３０７…抽出モジュール、３０９…第１のアプリケーション、３１１…第２のアプリケーション、３１２…アプリケーション、３１３…安全性モジュール、３１５…検証モジュール、３１６…安全性検証エンジン、３１７…ＳｏｆｔＩｐ、３１８…安全性ミドルウェア、６００…コンピュータシステム、６０１…Ｉ／Ｏインターフェース、６０２…プロセッサ、６０３…ネットワークインターフェース、６０４…記憶インターフェース、６０５…メモリ、６０６…ユーザーインターフェース、６０７…オペレーティングシステム、６０８…ウェブブラウザ
【図１ａ】
2020162316.tif 000003
【図１ｂ】
2020162316.tif 000004
【図２】
2020162316.tif 000005
【図３ａ】
2020162316.tif 000006
【図３ｂ】
2020162316.tif 000007
【図３ｃ】
2020162316.tif 000008
【図３ｄ】
2020162316.tif 000009
【図３ｅ】
2020162316.tif 000010
【図４ａ】
2020162316.tif 000011
【図４ｂ】
2020162316.tif 000012
【図４ｃ】
2020162316.tif 000013
【図５】
2020162316.tif 000014
【図６】
2020162316.tif 000015
【国際調査報告】
2020162316.tif 000016
2020162316.tif 000017
2020162316.tif 000018
2020162316.tif 000019