(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008717
(43)【公開日】2025-01-20
(54)【発明の名称】状態異常検知システム、状態異常検知方法およびプログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20250109BHJP
G05B 23/02 20060101ALI20250109BHJP
【FI】
G06F8/65
G05B23/02 T
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023111134
(22)【出願日】2023-07-06
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】上薗 巧
(72)【発明者】
【氏名】鳥羽 忠信
(72)【発明者】
【氏名】植松 裕
(72)【発明者】
【氏名】新保 健一
【テーマコード(参考)】
3C223
5B376
【Fターム(参考)】
3C223BA01
3C223CC01
3C223DD01
3C223EB05
3C223FF03
3C223FF42
3C223GG01
3C223HH08
5B376CA40
(57)【要約】
【課題】電子システムがアップデートされた際、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新可能とすることで、運用中の電子システムの高い信頼性を確保することができる。
【解決手段】 プロセッサは、正常状態リスト生成プログラムを実行することで、電子システムのアップデートの前後における構成情報の比較に基づきアップデートによるサブモジュールの影響範囲を特定し、アップデートの影響を受けない非影響範囲内のサブモジュールの動作状態の各組み合わせと、当該組み合わせに対応する影響範囲内のサブモジュールの動作状態の組み合わせと、を登録することで正常状態リストを更新する。また、プロセッサは、状態異常検知プログラムを実行することで、更新後の正常状態リストと、各サブモジュールから取得した動作状態の組み合わせと、に基づき電子システムの状態異常を検知する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1以上のプロセッサと、1以上のメモリリソースと、を有する状態異常検知システムであって、
前記メモリリソースは、
電子システムが有する各サブモジュールの構成を登録した構成情報と、前記電子システムの正常状態時における各サブモジュールの動作状態の組み合わせを登録した正常状態リストと、正常状態リストを生成する正常状態リスト生成プログラムと、前記電子システムの状態異常を検知する状態異常検知プログラムと、を格納し、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記電子システムのアップデートの前後における前記構成情報の比較に基づき当該アップデートによる前記サブモジュールの影響範囲を特定し、
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせと、当該組み合わせに対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせと、を登録することで前記正常状態リストを更新し、
前記プロセッサは、前記状態異常検知プログラムを実行することで:
更新後の前記正常状態リストと、前記各サブモジュールから取得した動作状態の組み合わせと、に基づき前記電子システムの状態異常を検知する
ことを特徴とする状態異常検知システム。
【請求項2】
請求項1に記載の状態異常検知システムであって、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせを条件としたシミュレーションに基づき、当該条件に対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせを特定する
ことを特徴とする状態異常検知システム。
【請求項3】
請求項1に記載の状態異常検知システムであって、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記電子システムのアップデートの前後における前記構成情報に基づき、構成が変更された前記サブモジュールを含む範囲を前記影響範囲に設定する
ことを特徴とする状態異常検知システム。
【請求項4】
請求項1に記載の状態異常検知システムであって、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記電子システムのアップデートの前後における前記構成情報に基づき、構成の変更または接続関係の変更に該当する前記サブモジュールを変更箇所として特定し、
変更箇所として特定した前記サブモジュールと、変更箇所として特定した前記サブモジュールに接続される他の前記サブモジュールと、を含む範囲を前記影響範囲に設定する
ことを特徴とする状態異常検知システム。
【請求項5】
請求項1に記載の状態異常検知システムであって、
前記プロセッサは、前記状態異常検知プログラムを実行することで:
前記サブモジュールから取得した動作状態の組み合わせが、更新された前記正常状態リストに含まれていない場合、前記電子システムの状態異常を検知する
ことを特徴とする状態異常検知システム。
【請求項6】
請求項1に記載の状態異常検知システムであって、
前記メモリリソースは、前記構成情報を更新する構成情報更新プログラムをさらに格納し、
前記構成情報には、少なくとも、前記サブモジュールが取り得る動作状態の種類を示す情報と、前記サブモジュール間の接続関係を示す情報と、が含まれ、
前記プロセッサは、前記構成情報更新プログラムを実行することで:
前記電子システムのアップデート後に前記サブモジュールから取得した当該サブモジュールの構成に関するサブモジュール情報と、前記メモリリソース内の前記構成情報との差分に基づき、当該構成情報を更新する
ことを特徴とする状態異常検知システム。
【請求項7】
請求項1に記載の状態異常検知システムであって、
前記正常状態リスト生成プログラムは、前記電子システムに対するOTA(Over The Air)アップデートを実施するOTA計算機で実行され、
前記プロセッサは、前記状態異常検知プログラムを実行することで:
前記OTA計算機から取得した更新後の前記正常状態リストと、前記サブモジュールから取得した動作状態の組み合わせと、に基づき前記電子システムの状態異常を検知する
ことを特徴とする状態異常検知システム。
【請求項8】
1以上のプロセッサと、1以上のメモリリソースと、を有する状態異常検知システムが行う状態異常検知方法であって、
前記メモリリソースは、
電子システムが有する各サブモジュールの構成を登録した構成情報と、前記電子システムの正常状態時における各サブモジュールの動作状態の組み合わせを登録した正常状態リストと、正常状態リストを生成する正常状態リスト生成プログラムと、前記電子システムの状態異常を検知する状態異常検知プログラムと、を格納し、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記電子システムのアップデートの前後における前記構成情報の比較に基づき当該アップデートによる前記サブモジュールの影響範囲を特定するステップと、
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせと、当該組み合わせに対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせと、を登録することで前記正常状態リストを更新するステップと、を行い、
前記プロセッサは、前記状態異常検知プログラムを実行することで:
更新後の前記正常状態リストと、前記各サブモジュールから取得した動作状態の組み合わせと、に基づき前記電子システムの状態異常を検知するステップを行う
ことを特徴とする状態異常検知方法。
【請求項9】
請求項8に記載の状態異常検知方法であって、
前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせを条件としたシミュレーションに基づき、当該条件に対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせを特定するステップを行う
ことを特徴とする状態異常検知方法。
【請求項10】
1以上のプロセッサと、1以上のメモリリソースと、を有する状態異常検知システムの前記プロセッサが前記メモリリソースから読み込んで実行するプログラムであって、
前記メモリリソースは、
電子システムが有する各サブモジュールの構成を登録した構成情報と、前記電子システムの正常状態時における各サブモジュールの動作状態の組み合わせを登録した正常状態リストと、正常状態リストを生成する正常状態リスト生成プログラムと、前記電子システムの状態異常を検知する状態異常検知プログラムと、を格納し、
前記プロセッサが実行する前記正常状態リスト生成プログラムは:
前記電子システムのアップデートの前後における前記構成情報の比較に基づき当該アップデートによる前記サブモジュールの影響範囲を特定し、
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせと、当該組み合わせに対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせと、を登録することで前記正常状態リストを更新し、
前記プロセッサが実行する前記状態異常検知プログラムは:
更新後の前記正常状態リストと、前記各サブモジュールから取得した動作状態の組み合わせと、に基づき前記電子システムの状態異常を検知する
ことを特徴とするプログラム。
【請求項11】
請求項10に記載のプログラムであって、
前記プロセッサが実行する前記正常状態リスト生成プログラムは:
前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせを条件としたシミュレーションに基づき、当該条件に対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせを特定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、状態異常検知システム、状態異常検知方法およびプログラムに関する。
【背景技術】
【0002】
近年、車載システムをはじめとした各種の電子システムは、多数のモジュールが搭載されることにより、大規模かつ複雑化している。複雑化した電子システムでは、個々のモジュールが正常な動作状態でも、システム全体としては異常状態に陥ることがある。例えば、各々のモジュールが正常なデータ処理を行っていても、モジュール間でのデータの同期不良などが発生することで、電子システム全体として異常状態になっている場合がある。
【0003】
このような電子システム全体としての異常を検知するには、例えば、事前のシミュレーションにより、システムの正常時における各モジュールの状態の組み合わせをリスト化しておき、稼働状態にあるシステムから取得した個々のモジュールの状態の組み合わせと比較することで、電子システムが正常状態か異常状態かを判定する方法がある。
【0004】
なお、特許文献1には、電子システムの異常を検知する方法が開示されている。具体的には、特許文献1には、「対象装置の時系列データを受け付けて、前記時系列データの特徴量を抽出する特徴量抽出部と、前記抽出された特徴量から前記対象装置の動作状態を特定するとともに、複数の動作状態間の状態遷移パターンを規定した状態遷移パターン情報を参照して前記抽出された特徴量から前記対象装置の状態遷移を推定する状態遷移推定部と、前記状態遷移パターン情報及び各動作状態についての正常範囲を規定した正常範囲情報を参照して、前記特定された動作状態、前記推定された状態遷移、及び前記抽出された時系列データの特徴量から、前記時系列データが異常かどうかを判定する異常検知部とを備える」と記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、車載システムなどの分野では、ソフトウェアのOTA(Over The Air)やハードウェアアップデートが実施され始めており、今後は、車載システムのような高い安全性や信頼性が求められる電子システムにおいても、その構成を変更せずに利用し続けるのではなく、アップデートしながら利用する傾向が強まると考えられる。
【0007】
なお、特許文献1に記載の異常検知装置は、時系列データの特徴量が遷移し得る動作状態についての正常範囲内か否かに基づき、電子システムの正常状態または異常状態を判定している。しかしながら、同文献の技術では、OTA等のアップデートによるシステム構成の変更が想定されておらず、電子システムの変更された構成に対して動作状態の正常範囲を更新することは考慮されていない。そのため、同文献の技術では、OTA等のアップデートが行われた場合、正常範囲の規定を一から作り直さなければならず、正常範囲の更新に関する効率面で改善の余地がある。
【0008】
本発明は、上記課題に鑑みてなされたものであり、電子システムがアップデートされた際、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新可能とすることで、運用中の電子システムの高い信頼性の確保を目的とする。
【課題を解決するための手段】
【0009】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記の課題を解決する本発明の一態様に係る状態異常検知システムは、1以上のプロセッサと、1以上のメモリリソースと、を有する状態異常検知システムであって、前記メモリリソースは、電子システムが有する各サブモジュールの構成を登録した構成情報と、前記電子システムの正常状態時における各サブモジュールの動作状態の組み合わせを登録した正常状態リストと、正常状態リストを生成する正常状態リスト生成プログラムと、前記電子システムの状態異常を検知する状態異常検知プログラムと、を格納し、前記プロセッサは、前記正常状態リスト生成プログラムを実行することで:前記電子システムのアップデートの前後における前記構成情報の比較に基づき当該アップデートによる前記サブモジュールの影響範囲を特定し、前記アップデートの影響を受けない非影響範囲内の前記サブモジュールの動作状態の各組み合わせと、当該組み合わせに対応する前記影響範囲内の前記サブモジュールの動作状態の組み合わせと、を登録することで前記正常状態リストを更新し、前記プロセッサは、前記状態異常検知プログラムを実行することで:更新後の前記正常状態リストと、前記各サブモジュールから取得した動作状態の組み合わせと、に基づき前記電子システムの状態異常を検知する。
【発明の効果】
【0010】
本発明によれば、電子システムがアップデートされた際、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新可能とすることで、運用中の電子システムの高い信頼性を確保することができる。
【0011】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】状態異常検知システムの概略構成の一例を示した図である。
【
図4】状態異常検知システムの機能構成の一例を示した図である。
【
図5】状態異常検知処理の一例を示したフロー図である。
【
図6】電子システムが有するサブモジュールの構成の一例を示した図である。
【
図9】更新に係る正常状態リストの一例を示した図である。
【
図10】第二実施形態に係る状態異常検知システムの機能構成の一例を示した図である。
【発明を実施するための形態】
【0013】
以下、本発明の各実施形態について図面を用いて説明する。
【0014】
<第一実施形態>
本実施形態に係る状態異常検知システム100(以下、「本システム100」という場合がある)は、電子システムの状態異常を検知するプロセッサシステムである。なお、対象となる電子システムの種類は限定されないが、例えば、複数のECU(Electronic Control Unit)をサブモジュールとして有する車載システムなどの電子システムがその対象として想定される。
【0015】
具体的には、状態異常検知システム100は、電子システムの正常状態時における各サブモジュールの状態の組み合わせを登録した正常状態リストを生成する。また、状態異常検知システム100は、各サブモジュールから取得した状態の組み合わせと、正常状態リストと、の比較に基づき、電子システムの状態異常を検知する。
【0016】
また、状態異常検知システム100は、各サブモジュールから取得した構成情報に基づき、OTA(Over The Air)アップデートやハードウェアアップデート(以下、これらを纏めて「アップデート」という場合がある)後の新構成情報を生成する。また、状態異常検知システム100は、アップデート前の旧構成情報と、新構成情報と、の差分に基づき、アップデートによるサブモジュールの影響範囲を特定する。
【0017】
また、状態異常検知システム100は、特定した影響範囲に含まれるサブモジュールに関し、アップデート後の電子システムの正常状態時における状態をシミュレーションにより特定する。また、状態異常検知システム100は、影響範囲に含まれるサブモジュールの特定した状態と、非影響範囲のサブモジュールの対応する状態と、の組み合わせを正常状態リストに登録することで、アップデート後の正常状態リストを更新する。
【0018】
また、状態異常検知システム100は、アップデート後の正常状態リストと、各サブモジュールから取得した状態の組み合わせと、の比較に基づき、電子システムの状態異常を検知する。
【0019】
このような状態異常検知システムによれば、電子システムがアップデートされた際、アップデートの影響を受ける範囲に絞って動作状態の組み合わせに関する正常状態リストの更新が可能となる。その結果、状態異常検知システムは、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新することができ、運用中の電子システムの高い信頼性を確保することができる。
【0020】
<状態異常検知システム100の概略構成>
図1は、状態異常検知システム100(プロセッサシステム)の概略構成の一例を示した図である。状態異常検知システム100は、例えば、CAN(Controller Area Network)やその他の通信ネットワーク(例えば、インターネット、LAN(Local Area Network)およびWAN(Wide Area Network)など)Nを介して、外部装置10と相互通信可能に接続されている。
【0021】
<<外部装置10>>
外部装置10は、状態異常検知システム100に情報を提供する装置であって、例えば、電子システムに搭載されているサブモジュールである。例えば、電子システムが車載システムの場合、外部装置10であるサブモジュールは、各種のECUがそれに該当する。このような外部装置10は、電子システムの動作状態(実システム状態)や構成情報を状態異常検知システム100に出力する。
【0022】
具体的には、外部装置10は、各々のサブモジュールの動作状態(例えば、所定の制御や動作の状態)を示す情報を状態異常検知システム100に出力する。また、外部装置10は、少なくとも、各々のサブモジュールの取り得る状態(動作状態の種類)のリストやサブモジュール間の接続情報などを含むサブモジュール情報を状態異常検知システム100に出力する。
【0023】
なお、外部装置10は、動作状態を示す情報やサブモジュール情報を所定のタイミングで状態異常検知システム100に出力する。例えば、外部装置10は、定期的(例えば、1秒~数秒ごと)に動作状態を示す情報およびサブモジュール情報を状態異常検知システム100に出力する。
【0024】
なお、動作状態を示す情報やサブモジュール情報の出力タイミングはこれに限られるものではない。例えば、外部装置10は、或る動作状態から異なる動作状態に変わったタイミングで当該動作状態を示す情報を状態異常検知システム100に出力しても良い。また、外部装置10は、例えば、OTA等のアップデートにより構成が変更されたタイミングで自身のサブモジュール情報を状態異常検知システム100に出力しても良い。
【0025】
なお、外部装置10は、対象の電子システムに搭載されるサブモジュールのような装置に限られるものではなく、例えば、状態異常検知システム100が実行する処理に用いられる各種の情報を提供する装置(例えば、情報提供サーバなど)なども含まれる。
【0026】
<<状態異常検知システム100の詳細>>
状態異常検知システム100は、メモリリソース30に格納されている各種のプログラムおよび情報をプロセッサ20が読み込むことにより様々な処理を実行する、少なくとも1つ以上のプロセッサシステムである。
【0027】
状態異常検知システム100は、例えば、各サブモジュールから出力された情報(例えば、サブモジュール情報や動作状態を示す情報など)が集中するゲートウェイ装置に実装されて実現される。すなわち、状態異常検知システム100は、電子システム内の電子機器や電子部品に組み込まれることで、これらの電子機器等が有するプロセッサ20やメモリなどのリソースを自身のプロセッサ20およびメモリリソース30として使用する。
【0028】
ただし、状態異常検知システム100の実装先は特に限定されるものではなく、各サブモジュールから出力された情報を取得可能な電子機器等であれば、状態異常検知システム100は、そのような電子機器等に実装されても良い。
【0029】
また、状態異常検知システム100は、電子機器等に実装される形態ではなく、電子システム内において、独立したプロセッサ、メモリリソースおよびネットワークインターフェース(NI)等を有するプロセッサシステムとして実現されても良い。
【0030】
このような状態異常検知システム100は、所定のプログラムを読み込んだプロセッサが各種の情報を用いて状態異常検知処理を実行する。具体的には、状態異常検知システム100は、OTA等のアップデートの実施に基づきサブモジュールの構成が変更されている場合、新構成情報の更新と、更新された新構成情報に対応する正常状態リストの生成と、を行う。
【0031】
また、状態異常検知システム100は、更新された新構成情報に対応する正常状態リストに基づき、電子システムで発生し得る状態異常の検知を行う。
【0032】
図1に示すように、少なくとも1つ以上のプロセッサシステムで構成される状態異常検知システム100は、プロセッサ20と、メモリリソース30と、NI(Network Interface Device)40と、を有している。なお、状態異常検知システム100は、ユーザ(オペレータ)からの指示入力を受け付けるUI(User Interface Device)を備えていても良い。
【0033】
プロセッサ20は、メモリリソース30に格納されているプログラムを読み込んで、当該プログラムに対応する処理を実行する演算装置である。なお、プロセッサ20は、マイクロプロセッサ、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、あるいはその他の演算できる半導体デバイス等が一例として挙げられる。
【0034】
メモリリソース30は、各種の情報を記憶する記憶装置である。具体的には、メモリリソース30は、例えばRAM(Random Access Memory)やROM(Read Only Memory)などの不揮発性あるいは揮発性の記憶媒体である。なお、メモリリソース30は、例えば、フラッシュメモリ、ハードディスクあるいはSSD(Solid State Drive)などの書き換え可能な記憶媒体や、USB(Universal Serial Bus)メモリ、メモリカードおよびハードディスクであっても良い。
【0035】
NI40は、外部装置10との間で情報通信を行う通信装置である。NI40は、例えば、CANあるいはLANやインターネットなどの通信ネットワークNを介して外部装置10との間で情報通信を行う。なお、以下で特に言及しない場合、状態異常検知システム100と外部装置10との情報通信は、NI40を介して実行されているものとする。
【0036】
また、状態異常検知システム100の各構成、機能、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、状態異常検知システム100は、各機能の一部または全部を、ソフトウェアにより実現することもできるし、ソフトウェアとハードウェアとの協働により実現することもできる。また、状態異常検知システム100は、固定的な回路を有するハードウェアを用いても良いし、少なくとも一部の回路を変更可能なハードウェアを用いてもよい。
【0037】
また、状態異常検知システム100は、UIを有する場合、各プログラムにより実現される機能や処理の一部または全部をユーザ(オペレータ)が実施することで、システムを実現することもできる。
【0038】
また、状態異常検知システム100は、本システム100の代わりに、外部のスマートフォンやタブレット等のプロセッサシステム(外部プロセッサシステムと呼ぶ)に、ユーザへの出力処理や、ユーザからの入力処理の一部を任せる場合がある。このような場合、状態異常検知システム100(又はそのプロセッサ、プログラム)は、各処理やプログラムの他の部分を実行するために、以下を行っても良い。
【0039】
状態異常検知システム100は、UIを用いたユーザへの出力の代わりとして、NI40を介して外部プロセッサシステムに、ユーザへの出力に必要なデータを送信する。当該データの例としては、出力するデータそのもの、あるいは、出力データを別のプロセッサシステムで生成するためのデータなどが考えられるが、外部プロセッサシステムでユーザ出力を行う処理が記述されたプログラムやWebデータであっても良い。
【0040】
また、状態異常検知システム100は、UIを用いたユーザからの入力または操作受信の代わりとして、NI40を介して外部プロセッサシステムから、ユーザ入力または操作を示すデータを受信する。別な視点では、ユーザへのデータ出力の意味は、状態異常検知システム100自身が行うことも含む以外に、本システム100以外の別の存在に当該データ出力をさせる(使役)ことを含めても良い。また、ユーザからの入力または操作受信の意味は、状態異常検知システム100のユーザへの直接出力や受信をする以外に、本システム100が間接的に当該受信をすることを含めても良い。
【0041】
また、以下で説明するメモリリソース30内のデータベースや各種の情報は、データを格納できる領域であれば、ファイル等やデータベース以外のデータ構造であっても良い。また、1つのプログラムが複数のプログラムの役割を兼ねても良い。また、その逆であっても良い。すなわち、1以上のプログラムが図示する各プログラムの処理を行っても良い。
【0042】
なお、状態異常検知システム100で実行されるプログラムは、本システム100が読み込み可能な不揮発ストレージ媒体に格納されても良い。なお、不揮発ストレージ媒体に格納されたプログラムは、直接、状態異常検知システム100が読み込んでも良いが、プログラム配信用のプロセッサシステムが当該媒体からプログラムを読み込み、その後、プログラム配信用のプロセッサシステムから状態異常検知システム100に当該プログラムを送信(配信)しても良い。なお、当該不揮発ストレージ媒体の例は、メモリリソース30として説明した不揮発メモリが例として考えられるが、それ以外の光ディスク媒体でも良い。
【0043】
<<構成情報DB110>>
構成情報DB(Databese)110は、構成情報を格納しているデータベースである。構成情報DB110には、最新のサブモジュール情報に基づき生成された新構成情報と、新構成情報が生成される前の構成情報である旧構成情報と、が格納されている。
【0044】
なお、構成情報には、電子システムに搭載されている各サブモジュールの構成に関する情報が登録されている。具体的には、構成情報は、サブモジュール、I/F、状態リスト、接続情報およびデータフローが対応付けられたレコードを有している。
【0045】
図2は、構成情報の一例を示した図である。ここで、サブモジュール110aは、各々のサブモジュールを一意に識別するための情報である。I/F110bは、他のサブモジュールが接続されている自身のサブモジュールのインターフェースを識別するための情報である。状態リスト110cは、各々のサブモジュールが取り得る全ての動作状態を示す情報である。接続情報110dは、自身のサブモジュールに接続されている他のサブモジュールを示す情報である。データフロー110eは、所定の情報が自身のサブモジュールに到達するまでの流れを示す情報である。例えば、データフロー110eは、情報が経由されるサブモジュールの経路順によって示されている。
【0046】
このような構成情報は、各サブモジュールから取得したサブモジュール情報を用いてプロセッサ20により生成される。
【0047】
<<正常状態リスト120>>
正常状態リスト120は、電子システムの正常状態時における各サブモジュールの状態の組み合わせが登録されている情報である。
【0048】
図3は、正常状態リスト120の一例を示した図である。図示するように、#1~6の各レコードには、電子システムが正常状態である場合に各サブモジュール(サブモジュールa~f)が取り得る各々の状態の組み合わせが登録されている。例えば、#1のレコードは、サブモジュールa~fの状態が「状態a1、状態b1、状態c1、状態d3、状態e3および状態f4」という組み合わせの場合、電子システムが正常状態であることを示している。
【0049】
このような正常状態リスト120は、例えば、OTA等のアップデートが発生し、それに伴って新構成情報が更新されると、プロセッサ20により生成(更新)される。なお、正常状態リスト120の生成に関する処理の詳細については後述する。
【0050】
<<構成情報更新プログラム211>>
構成情報更新プログラム211は、構成情報DB110に格納されている新構成情報を更新するプログラムである。構成情報更新プログラム211を読み込んだプロセッサ20は、例えば、各サブモジュールから取得した最新のサブモジュール情報と、その時点における新構成情報と、を比較する。また、当該プロセッサ20は、最新のサブモジュール情報と、新構成情報と、に差分がある場合、新構成情報の対応するサブモジュールのレコードに最新のサブモジュール情報を登録することで、新構成情報を更新(生成)する。また、新構成情報が更新されると、それまでの新構成情報は、旧構成情報として構成情報DB110に格納される。
【0051】
なお、構成情報の更新方法は、これに限定されるものではない。例えば、OTA等のアップデートが行われた際、変更されたサブモジュールの構成に関する情報を、変更された当該サブモジュールまたは電子システムの他の構成(例えば、ゲートウェイ装置やその他アップデートに関わるサブシステム)、あるいはOTAアップデートを実施したサーバから取得し、取得した情報に基づいて新構成情報を更新しても良い。
【0052】
<<正常状態リスト生成プログラム212>>
正常状態リスト生成プログラム212は、正常状態リスト120を生成するプログラムである。具体的には、正常状態リスト生成プログラム212は、OTA等のアップデートによるサブモジュールの影響範囲を特定する。より具体的には、正常状態リスト生成プログラム212は、アップデートによる変更後の構成情報(新構成情報)と、変更前の構成情報(旧構成情報)と、の差分に基づき、サブモジュールの影響範囲を特定する。
【0053】
また、正常状態リスト生成プログラム212は、特定した影響範囲に含まれるサブモジュールの動作状態と、非影響範囲に含まれるサブモジュールの動作状態と、の組み合わせを特定する。具体的には、正常状態リスト生成プログラム212は、非影響範囲に含まれるサブモジュールの各動作状態の組み合わせを特定する。また、正常状態リスト生成プログラム212は、特定した組み合わせを条件として、影響範囲に含まれるサブモジュールの動作状態の組み合わせをシミュレーションにより特定する。
【0054】
また、正常状態リスト生成プログラム212は、これらの特定した動作状態の組み合わせを正常状態リスト120に登録することで、当該リストを更新(生成)する。
【0055】
<<状態異常検知プログラム213>>
状態異常検知プログラム213は、電子システムの状態異常を検知するプログラムである。具体的には、状態異常検知プログラム213は、正常状態リスト120と、各サブモジュールから取得した動作状態と、に基づいて、電子システムの状態異常を検知する。より具体的には、状態異常検知プログラム213は、各サブモジュールから取得した動作状態の組み合わせが正常状態リスト120に含まれているか否かを判定し、含まれていないと判定した場合、電子システムの状態異常を検知する。
【0056】
<状態異常検知システム100の機能構成>
図4は、状態異常検知システム100の機能構成の一例を示した図である。図示する機能部は、プロセッサ20がメモリリソース30に格納されている各プログラムを読み込むことで実現される機能を理解容易にするために、主な処理内容に応じて分類したものである。そのため、各機能の分類の仕方や機能部の名称によって、本発明が制限されることはない。
【0057】
構成情報更新部310は、プロセッサ20が構成情報更新プログラム211を読み込むことで実現される。具体的には、構成情報更新部310は、サブモジュール情報と、その時点における新構成情報と、の比較に基づき新構成情報を更新する。
【0058】
また、正常状態リスト生成部320は、プロセッサ20が正常状態リスト生成プログラム212を読み込むことで実現される。具体的には、正常状態リスト生成部320は、正常状態リスト120を生成(更新)する。なお、正常状態リスト生成部320は、処理内容に応じて、変更箇所特定部321、シミュレーション部322およびリスト更新部323に分類される。
【0059】
変更箇所特定部321は、新旧の構成情報を用いて、アップデートにより構成が変更されたサブモジュールの変更箇所を特定する。
【0060】
シミュレーション部322は、構成変更の影響を受けない非影響範囲のサブモジュールの動作状態の各組み合わせを条件とした一般的な論理シミュレーションやシステムモデルシミュレーションを行い、非影響範囲のサブモジュールの動作状態の各組み合わせに対応する、影響範囲に含まれるサブモジュールの動作状態の組み合わせ、を特定する。
【0061】
リスト更新部323は、正常状態リスト120を更新する。具体的には、リスト更新部323は、シミュレーション部322により特定された各サブモジュールの動作状態の組み合わせを正常状態リスト120に登録する。
【0062】
また、状態異常検知部330は、プロセッサ20が状態異常検知プログラム213を読み込むことで実現される。具体的には、状態異常検知部330は、電子システムで発生した状態異常を検知する。また、状態異常検知部330は、処理内容に応じて、動作状態取得部331および状態異常判定部332に分類される。
【0063】
動作状態取得部331は、各サブモジュールから動作状態を示す情報を取得する。
【0064】
状態異常判定部332は、各サブモジュールから取得した動作状態の組み合わせを最新の正常状態リスト120と比較することで、電子システムで状態異常が発生しているか否かを判定する。
【0065】
なお、各機能部の一部は、状態異常検知システム100に実装されるハードウェア(ASICといった集積回路など)により構築されてもよい。また、各機能部の処理が1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0066】
<状態異常検知処理の説明>
図5は、状態異常検知処理の一例を示したフロー図である。当該処理は、構成情報更新プログラム211、正常状態リスト生成プログラム212および状態異常検知プログラム213を読み込んだプロセッサ20により実行される。なお、プロセッサ20は、処理の開始にあたって全てのプログラムを読み込んでも良く、あるいは、処理中の各ステップにおいて対応するプログラムを都度読み込んでも良い。また、状態異常検知処理は、例えば、定期的(例えば、1秒~数秒ごと)に実行されるものとする。
【0067】
処理が開始されると、プロセッサ20は、OTA等のアップデートが発生したか否かを判定する(ステップS10)。具体的には、プロセッサ20は、各サブモジュールから取得したサブモジュール情報と、その時点での新構成情報とを比較し、両者に差分がある場合、OTA等のアップデートが発生したと判定する。
【0068】
そして、アップデートが発生したと判定した場合(ステップS10でYes)、プロセッサ20は、処理をステップS20に移行する。一方で、アップデートが発生していないと判定した場合(ステップS10でNo)、プロセッサ20は、処理をステップS50に移行する。
【0069】
ステップS20の処理では、プロセッサ20は、新構成情報を更新する。具体的には、プロセッサ20は、最新のサブモジュール情報と、その時点における新構成情報との差分に対応するサブモジュールのレコードに最新のサブモジュール情報を登録することで、新構成情報を更新する。
【0070】
次に、プロセッサ20は、構成変更によるサブモジュールの影響範囲を特定する(ステップS30)。当該影響範囲の特定の仕方については、
図6~8を用いて説明する。
【0071】
図6は、電子システムが有するサブモジュールの構成の一例を示した図である。図示する電子システムは、サブモジュールa~fを有し、サブモジュールaを中心としてサブモジュールb~fが接続されている。また、同図は、OTA等のアップデートにより、サブモジュールcの構成(差分1)と、サブモジュールdの構成(差分2)と、サブモジュールaおよびサブモジュールbの接続関係(差分3)と、に変更が生じたことを示している。なお、サブモジュールの構成の変更には、例えば、OTAアップデートによるサブモジュールのバージョンアップや機能追加、あるいは、ハードウェアアップデートに基づき、より高性能なサブモジュールへの変更(交換)など、様々な種類の構成変更が含まれる。
【0072】
プロセッサ20は、このような旧構成と新構成との差分に基づき変更箇所を特定し、対応するサブモジュールを含む変更領域を設定する。
【0073】
図7は、変更領域の一例を示した図である。図示するように、変更領域は、構成が変更されたサブモジュールc、サブモジュールdおよびサブモジュールbを含むように設定される。
【0074】
また、プロセッサ20は、変更領域に含まれるサブモジュールと接続関係にあるサブモジュールを特定する。また、プロセッサ20は、特定した当該サブモジュールと、変更領域に含まれるサブモジュールと、を含む領域を構成変更の影響範囲に設定する。
【0075】
図8は、影響範囲の一例を示した図である。図示するように、影響範囲は、変更領域に含まれるサブモジュールc、サブモジュールdおよびサブモジュールbと、変更領域に含まれるサブモジュールbと接続関係にあるサブモジュールaと、を含む領域に設定される。
【0076】
図5に戻って説明する。次に、プロセッサ20は、正常状態リスト120を更新する(ステップS40)。ここで、正常状態リスト120の更新について、
図9を用いて説明する。
【0077】
図9は、更新に係る正常状態リスト120の一例を示した図である。ステップS40の処理において、プロセッサ20は、影響範囲に含まれないサブモジュール(
図8に示す例では、サブモジュールe、f)を非影響範囲のサブモジュールとして特定する。また、プロセッサ20は、非影響範囲のサブモジュールに関し、電子システムの正常状態時における動作状態の組み合わせを特定する。なお、本例では、正常状態時におけるサブモジュールeおよびサブモジュールfの各々の動作状態として、状態e1/状態f1、状態e1/状態f2、状態e1/状態f3、状態e1/状態f4、状態e2/状態f1、状態e2/状態f2という組み合わせが特定されている。
【0078】
また、プロセッサ20は、これらの組み合わせの各々に対応する、影響範囲に含まれる各サブモジュールの動作状態の組み合わせ、を特定する。具体的には、プロセッサ20は、特定した非影響範囲のサブモジュールの動作状態の各組み合わせを条件とした一般的な論理シミュレーションやシステムモデルシミュレーションを行う。これにより、プロセッサ20は、非影響範囲のサブモジュールの動作状態の各組み合わせに対応する、影響範囲に含まれるサブモジュールの動作状態の組み合わせ、を特定する。
【0079】
例えば、サブモジュールeおよびサブモジュールfの動作状態の組み合わせの一つである状態e1/状態f1を条件とした論理シミュレーションにより、サブモジュールa~dの各々の動作状態の組み合わせが状態a1~a3、状態b1~b3、状態c1~c3および状態d1~d3であった場合、プロセッサ20は、これらの全組み合わせ(81通り)を状態e1/状態f1に対応する動作状態の組み合わせとして正常状態リスト120に登録する。
【0080】
同様に、プロセッサ20は、非影響範囲のサブモジュールeおよびサブモジュールfの動作状態の他の各組み合わせに対応する、影響範囲に含まれるサブモジュールa~fの動作状態の組み合わせ、を特定し、正常状態リスト120に登録する。
【0081】
このように、プロセッサ20は、更新された構成情報(新構成情報)を用いて特定した影響範囲のサブモジュールに関し、電子システムが正常状態の時の動作状態を特定し、正常状態リスト120に登録することで、当該リストを更新する。
【0082】
次に、プロセッサ20は、各サブモジュールから動作状態を示す情報を取得したか否かを判定する(ステップS50)。そして、当該情報を取得したと判定した場合(ステップS50でYes)、プロセッサ20は、処理をステップS60に移行する。一方で、当該情報を取得していないと判定した場合(ステップS50でNo)、プロセッサ20は、再度、ステップS50の処理を行う。
【0083】
ステップS60の処理では、プロセッサ20は、状態異常を検知したか否かを判定する。具体的には、プロセッサ20は、各サブモジュールの動作状態の組み合わせが正常状態リスト120に含まれていない場合、状態異常を検知したと判定する。
【0084】
そして、状態異常を検知したと判定した場合(ステップS60でYes)、プロセッサ20は、処理をステップS70に移行する。一方で、状態異常を検知していないと判定した場合(ステップS60でNo)、プロセッサ20は、処理をステップS10に戻す。
【0085】
ステップS70では、プロセッサ20は、状態異常を検知したことを通知する状態異常検知情報を生成し、例えば、電子システムを制御する所定の制御装置(ユニット)などに出力する。なお、当該制御装置では、状態異常検知情報の取得に基づき、例えば、電子システムや駆動システムなどを停止するといった所定の制御処理が行われる。
【0086】
また、プロセッサ20は、ステップS70の処理を行うと、処理を再度ステップS10に戻す。
【0087】
以上、状態異常検知処理について説明した。
【0088】
このような状態異常検知システムによれば、電子システムがアップデートされた際、アップデートの影響を受ける範囲に絞って動作状態の組み合わせに関する正常状態リストの更新が可能となる。その結果、状態異常検知システムは、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新することができ、運用中の電子システムの高い信頼性を確保することができる。
【0089】
なお、前述の実施形態では、プロセッサ20は、構成が変更されたサブモジュール、接続関係が変更されたサブモジュール、および、変更領域に接続されているサブモジュールをアップデートによる影響範囲に含めたが、影響範囲の設定基準はこれに限られるものではない。例えば、プロセッサ20は、構成が変更されたサブモジュール(
図6~
図8の例では、サブモジュールcおよびサブモジュールd)のみを含む影響範囲を設定しても良い。
【0090】
構成が変更されたサブモジュールは、取り得る動作状態の種類にも変更が生じる可能性が高いため、影響範囲に含める必要があると考えられる。一方で、接続関係の変更や変更領域に接続されているサブモジュールは、アップデートによっても、動作状態の種類に変更が生じない場合が多い。そのため、プロセッサ20は、予め設定されている所定の基準(ルール)を従って、アップデートによる影響範囲を設定するようにしても良い。なお、このような所定の基準は、例えば、各サブモジュールの機能仕様や設計に基づき設定されても良い。
【0091】
このように、状態異常検知システムは、サブモジュールの影響範囲をより狭い範囲に絞り込むことで、非影響範囲のサブモジュールの動作状態の各組み合わせに対応する、影響範囲に含まれるサブモジュールの動作状態の組み合わせ、のシミュレーション負荷を軽減することができる。その結果、状態異常検知システムは、正常状態リストの更新をより効率的かつ短時間に実施することができる。
【0092】
<第二実施形態>
本実施形態に係る状態異常検知システム100は、構成情報の更新および正常状態リスト120の更新に関する機能を、電子システムに対するOTA処理(少なくとも、アップデート処理を含む)を行うOTAサーバ(計算機)に実装する。具体的には、状態異常検知システム100では、OTAサーバのプロセッサが、自身のメモリリソースに格納されている正常状態リスト生成プログラム212および構成情報更新プログラム211を読み込んで実行する。
【0093】
図10は、第二実施形態に係る状態異常検知システム100の機能構成の一例を示した図である。図示するように、構成情報更新部310および正常状態リスト生成部320の両機能部は、OTAサーバ内で実現される。また、状態異常検知プログラム213は、第一実施形態と同様に、車載システムなどの電子システムで実行される。なお、前述の実施形態と同一の構成、機能については、同一の符号を付して詳細な説明を省略する。
【0094】
なお、OTAサーバのプロセッサは、構成情報更新プログラム211を読み込み、当該OTAサーバが有するアップデート情報を用いた一般的なOTA向けシステム構成情報生成手段に従って、構成変更後の新構成情報を生成する。また、正常状態リスト120の更新処理は、第一実施形態と同様の方法で、正常状態リスト生成プログラム212を読み込んだOTAサーバのプロセッサにより実行される。
【0095】
また、OTAサーバは、状態異常検知部330に対して、更新(生成)した正常状態リスト120を送信する。また、当該状態異常検知部330は、動作状態取得部331が取得したサブモジュールの動作状態を示す情報と、最新の正常状態リスト120と、を用いて、電子システムの状態異常を検知する。
【0096】
このような状態異常検知システムによっても、電子システムがアップデートされた際、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新可能とすることで、運用中の電子システムの高い信頼性を確保することができる。
【0097】
特に、本実施形態の状態異常検知システムでは、電子システムにおいて、サブモジュール情報の取得処理、および、サブモジュール情報と新構成情報との比較に基づく新構成情報の更新処理が不要となる。そのため、状態異常検知システムは、電子システムにおける処理を簡略化することができ、その結果、電子システムの処理負担を軽減することができる。
【0098】
また、第二実施形態の変形例として、構成情報の更新および正常状態リスト120の更新に関する機能を、クラウドサーバ(計算機)に実装しても良い。この場合、構成情報更新プログラム211、正常状態リスト生成プログラム212および状態異常検知プログラム213によって実行される処理は、第一実施形態と同様である。
【0099】
なお、各プログラムによる処理に必要な情報(例えば、サブモジュール情報、構成情報など)は、クラウドサーバと電子システム間で送受信されれば良い。
【0100】
このような状態異常検知システムによっても、電子システムがアップデートされた際、システムの状態判定に用いる正常状態リストをより効率的かつ短時間で更新可能とすることで、運用中の電子システムの高い信頼性を確保することができる。
【0101】
また、本発明は、上記した実施形態および変形例に限定されるものではなく、同一の技術的思想の範囲内において様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【0102】
また、上記説明では、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【0103】
100・・・状態異常検知システム、20・・・プロセッサ、30・・・メモリリソース、40・・・NI(ネットワークインターフェースデバイス)、110・・・構成情報DB、120・・・正常状態リスト、210・・・プログラム、211・・・構成情報更新プログラム、212・・・正常状態リスト生成プログラム、213・・・状態異常検知プログラム、310・・・構成情報更新部、320・・・正常状態リスト生成部、321・・・変更箇所特定部、322・・・シミュレーション部、323・・・リスト更新部、330・・・状態異常検知部、331・・・動作状態取得部、332・・・状態異常判定部、10・・・外部装置、N・・・ネットワーク