(57)【特許請求の範囲】
【請求項１】
移動体に搭載された複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のうちのいずれかのＥＣＵが故障したことを検出する故障検出部と、
ＥＣＵ毎に代替用のＥＣＵの識別子である代替識別子と終了させる終了処理の識別子である処理識別子とを記憶した代替記憶部から、前記故障検出部によって故障したことが検出された前記ＥＣＵである故障機についての前記代替識別子及び前記処理識別子を読み出す代替選択部と、
前記代替選択部によって読み出された前記代替識別子が示すＥＣＵである代替機に対して、前記代替選択部によって読み出された前記処理識別子が示す処理を終了して、前記故障機で実行されていた処理を実行するように指示する処理指示部と、
前記移動体の状況が変わる度に、前記複数のＥＣＵそれぞれを対象のＥＣＵとして、前記対象のＥＣＵで実行される処理で必要となる必要リソース量であって、前記移動体の状況に応じて決まる必要リソース量に基づき、前記対象のＥＣＵについての前記代替用のＥＣＵと、前記終了処理とを決定する代替決定部と、
前記代替決定部によって決定された前記代替用のＥＣＵの識別子を前記対象のＥＣＵについての前記代替識別子とし、決定された前記終了処理の識別子を前記対象のＥＣＵについての前記処理識別子として、前記代替記憶部に登録するデータ登録部と
を備える代替制御装置。
【請求項２】
前記代替決定部は、前記対象のＥＣＵ以外のいずれかのＥＣＵの空きリソース量が前記必要リソース量よりも多くなるまで、前記対象のＥＣＵ以外のＥＣＵで実行される処理について、前記移動体の状況に応じて決定された優先順位の低い処理から順に対象の処理に加えていき、前記対象の処理を終了した場合における前記対象のＥＣＵ以外のＥＣＵの空きリソース量を計算し、前記空きリソース量が前記必要リソース量よりも多いＥＣＵを前記代替用のＥＣＵとして決定するとともに、前記代替用のＥＣＵにおける前記対象の処理を前記終了処理として決定する
請求項１に記載の代替制御装置。
【請求項３】
代替制御装置の故障検出部が、移動体に搭載された複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のうちのいずれかのＥＣＵが故障したことを検出し、
前記代替制御装置の代替選択部が、ＥＣＵ毎に代替用のＥＣＵの識別子である代替識別子と終了させる終了処理の識別子である処理識別子とを記憶した代替記憶部から、故障したことが検出された前記ＥＣＵである故障機についての前記代替識別子及び前記処理識別子を読み出し、
前記代替制御装置の処理指示部が、読み出された前記代替識別子が示すＥＣＵである代替機に対して、読み出された前記処理識別子が示す処理を終了して、前記故障機で実行されていた処理を実行するように指示し、
前記代替制御装置の代替決定部が、前記移動体の状況が変わる度に、前記複数のＥＣＵそれぞれを対象のＥＣＵとして、前記対象のＥＣＵで実行される処理で必要となる必要リソース量であって、前記移動体の状況に応じて決まる必要リソース量に基づき、前記対象のＥＣＵについての前記代替用のＥＣＵと、前記終了処理とを決定し、
前記代替制御装置のデータ登録部が、決定された前記代替用のＥＣＵの識別子を前記対象のＥＣＵについての前記代替識別子とし、決定された前記終了処理の識別子を前記対象のＥＣＵについての前記処理識別子として、前記代替記憶部に登録する代替制御方法。
【請求項４】
故障検出部が、移動体に搭載された複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のうちのいずれかのＥＣＵが故障したことを検出する故障検出処理と、
代替選択部が、ＥＣＵ毎に代替用のＥＣＵの識別子である代替識別子と終了させる終了処理の識別子である処理識別子とを記憶した代替記憶部から、前記故障検出処理によって故障したことが検出された前記ＥＣＵである故障機についての前記代替識別子及び前記処理識別子を読み出す代替選択処理と、
処理指示部が、前記代替選択処理によって読み出された前記代替識別子が示すＥＣＵである代替機に対して、前記代替選択処理によって読み出された前記処理識別子が示す処理を終了して、前記故障機で実行されていた処理を実行するように指示する処理指示処理と、
前記移動体の状況が変わる度に、前記複数のＥＣＵそれぞれを対象のＥＣＵとして、前記対象のＥＣＵで実行される処理で必要となる必要リソース量であって、前記移動体の状況に応じて決まる必要リソース量に基づき、前記対象のＥＣＵについての前記代替用のＥＣＵと、前記終了処理とを決定する代替決定処理と、
前記代替決定処理によって決定された前記代替用のＥＣＵの識別子を前記対象のＥＣＵについての前記代替識別子とし、決定された前記終了処理の識別子を前記対象のＥＣＵについての前記処理識別子として、前記代替記憶部に登録するデータ登録処理と
を行う代替制御装置としてコンピュータを機能させる代替制御プログラム。
【請求項５】
代替制御装置と、移動体に搭載された複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）とを備えるフェールオペレーショナルシステムであり、
前記代替制御装置は、
前記複数のＥＣＵのうちのいずれかのＥＣＵが故障したことを検出する故障検出部と、
ＥＣＵ毎に代替用のＥＣＵの識別子である代替識別子と終了させる終了処理の識別子である処理識別子とを記憶した代替記憶部から、前記故障検出部によって故障したことが検出された前記ＥＣＵである故障機についての前記代替識別子及び前記処理識別子を読み出す代替選択部と、
前記代替選択部によって読み出された前記代替識別子が示すＥＣＵである代替機に対して、前記代替選択部によって読み出された前記処理識別子が示す処理を終了して、前記故障機で実行されていた処理を実行するように指示する処理指示部と、
前記移動体の状況が変わる度に、前記複数のＥＣＵそれぞれを対象のＥＣＵとして、前記対象のＥＣＵで実行される処理で必要となる必要リソース量であって、前記移動体の状況に応じて決まる必要リソース量に基づき、前記対象のＥＣＵについての前記代替用のＥＣＵと、前記終了処理とを決定する代替決定部と、
前記代替決定部によって決定された前記代替用のＥＣＵの識別子を前記対象のＥＣＵについての前記代替識別子とし、決定された前記終了処理の識別子を前記対象のＥＣＵについての前記処理識別子として、前記代替記憶部に登録するデータ登録部と
を備え、
前記複数のＥＣＵそれぞれは、
前記処理指示部によって指示されると、前記処理識別子が示す処理を終了してリソースを確保するリソース確保部と、
前記リソース確保部によって前記リソースが確保されると、前記故障機で実行されていた処理を実行する処理実行部と
を備えるフェールオペレーショナルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）に故障が発生した場合に、故障が発生したＥＣＵの処理を他のＥＣＵによって継続するフェールオペレーショナル技術に関する。
【背景技術】
【０００２】
人の手を介さずに車両を自動的に制御する自動運転の技術の研究が進んでいる。自動運転を実現する場合には、車両には複数のＥＣＵが搭載される。
一部のＥＣＵが故障により処理が実行不可能な状態になると、車両の安全性に関わる場合がある。そのため、このようなＥＣＵに故障が発生した場合には、他のＥＣＵによって処理を継続するフェールオペレーショナルを実現する必要がある。【０００３】
フェールオペレーショナルの実現方法として、ＥＣＵを多重化しておき、故障が発生した場合に待機しているＥＣＵにより処理を継続させる方法がある。しかし、自動運転を実現するためのＥＣＵは、処理能力の高いプロセッサと、大容量のメモリとを搭載する必要があり、高価である。そのため、単純にＥＣＵを多重化させることはコスト面から困難である。【０００４】
特許文献１には、車両の走行に最低限必要なＥＣＵの故障を検知すると、予め定められた優先順位に従い、故障していない他のＥＣＵから必要な性能を有する代替用のＥＣＵを選定して、選定されたＥＣＵにより故障したＥＣＵを代替することが記載されている。これにより、特許文献１では、単純にＥＣＵを多重化させることなく、車両の走行に最低限必要なＥＣＵのフェールオペレーショナルを実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２２１０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
自動運転による車両の走行中にＥＣＵが故障した場合には、故障したＥＣＵで実行されていた処理が停止している時間をできる限り短くする必要がある。特許文献１に記載された技術では、ＥＣＵの故障が発生してから代替用のＥＣＵを特定する処理が実行される。そのため、代替用のＥＣＵが特定されるまでに時間がかかり、故障したＥＣＵで実行されていた処理が停止している時間が長くなってしまう。
この発明は、故障したＥＣＵで実行されていた処理が停止している時間の短縮を可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る代替制御装置は、
移動体に搭載された複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のうちのいずれかＥＣＵが故障したことを検出する故障検出部と、
ＥＣＵ毎に代替用のＥＣＵの識別子である代替識別子と終了させる終了処理の識別子である処理識別子とを記憶した代替記憶部から、前記故障検出部によって故障したことが検出された前記ＥＣＵである故障機についての前記代替識別子及び前記処理識別子を読み出す代替選択部と、
前記代替選択部によって読み出された前記代替識別子が示すＥＣＵである代替機に対して、前記代替選択部によって読み出された前記処理識別子が示す処理を終了して、前記故障機で実行されていた処理を実行するように指示する処理指示部と
を備える。
【発明の効果】
【０００８】
この発明では、ＥＣＵの故障が検出されると、代替記憶部から故障機についての前記代替識別子及び処理識別子が読み出され、代替識別子が示す代替機に対して前記処理識別子が示す処理を終了して、故障機で実行されていた処理を実行するように指示する。代替記憶部から代替識別子等を読み出すだけで代替用のＥＣＵが特定されるため、短時間で代替用のＥＣＵを特定することが可能である。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るフェールオペレーショナルシステム１０の構成図。
【図２】実施の形態１に係る代替制御装置２０の構成図。
【図３】実施の形態１に係るＥＣＵ３０の構成図。
【図４】実施の形態１に係る代替記憶部２３１に記憶される情報を示す図。
【図５】実施の形態１に係る代替制御装置２０の動作のフローチャート。
【図６】実施の形態１に係る代替機であるＥＣＵ３０の動作のフローチャート。
【図７】実施の形態１に係るフェールオペレーショナルシステムの動作の具体例の説明図。
【図８】変形例１に係る代替制御装置２０の構成図。
【図９】実施の形態２に係る代替制御装置２０の構成図。
【図１０】実施の形態２に係る登録処理のフローチャート。
【図１１】実施の形態２に係るリソース情報を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係るフェールオペレーショナルシステム１０の構成を説明する。
フェールオペレーショナルシステム１０は、移動体１００に搭載された代替制御装置２０と、移動体１００に搭載された複数のＥＣＵ３０とを備える。代替制御装置２０と各ＥＣＵ３０とは、伝送路４０を介して接続されている。
移動体１００は、車両、船舶、又は、航空機等である。
【００１１】
図２を参照して、実施の形態１に係る代替制御装置２０の構成を説明する。
代替制御装置２０は、ＥＣＵといったコンピュータである。
代替制御装置２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１２】
代替制御装置２０は、機能構成要素として、故障検出部２１１と、代替選択部２１２と、処理指示部２１３とを備える。代替制御装置２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ２３には、代替制御装置２０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ２１によりメモリ２２に読み込まれ、プロセッサ２１によって実行される。これにより、代替制御装置２０の各機能構成要素の機能が実現される。
また、ストレージ２３は、代替記憶部２３１を実現する。なお、代替記憶部２３１は、代替制御装置２０の外部に設けられたストレージによって実現されてもよい。
【００１３】
図３を参照して、実施の形態１に係るＥＣＵ３０の構成を説明する。
ＥＣＵ３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信インタフェース３４とのハードウェアを備える。プロセッサ３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１４】
ＥＣＵ３０は、機能構成要素として、リソース確保部３１１と、処理実行部３１２とを備える。ＥＣＵ３０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ３３には、ＥＣＵ３０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ３１によりメモリ３２に読み込まれ、プロセッサ３１によって実行される。これにより、ＥＣＵ３０の各機能構成要素の機能が実現される。
【００１５】
プロセッサ２１，３１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ２１，３１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１６】
メモリ２２，３２は、データを一時的に記憶する記憶装置である。メモリ２２，３２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１７】
ストレージ２３，３３は、データを保管する記憶装置である。ストレージ２３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。ストレージ３３は、具体例としては、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。ストレージ２３，３３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００１８】
通信インタフェース２４，３４は、外部の装置と通信するためのインタフェースである。通信インタフェース２４，３４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００１９】
図２では、プロセッサ２１は、１つだけ示されていた。しかし、プロセッサ２１は、複数であってもよく、複数のプロセッサ２１が、各機能を実現するプログラムを連携して実行してもよい。同様に、プロセッサ３１は、複数であってもよく、複数のプロセッサ３１が、各機能を実現するプログラムを連携して実行してもよい。
【００２０】
＊＊＊動作の説明＊＊＊
図４から図７を参照して、実施の形態１に係るフェールオペレーショナルシステム１０の動作を説明する。
実施の形態１に係るフェールオペレーショナルシステム１０の動作における代替制御装置２０の動作は、実施の形態１に係る代替制御方法に相当する。また、実施の形態１に係るフェールオペレーショナルシステム１０の動作における代替制御装置２０の動作は、実施の形態１に係る代替制御プログラムの処理に相当する。
【００２１】
図４を参照して、実施の形態１に係る代替記憶部２３１に記憶される情報を説明する。
代替記憶部２３１は、ＥＣＵ３０毎に、代替用のＥＣＵ３０の識別子である代替識別子と、終了させる終了処理の識別子である処理識別子とを記憶する。
【００２２】
図５を参照して、実施の形態１に係る代替制御装置２０の動作を説明する。
（ステップＳ１１：故障検出処理）
故障検出部２１１は、複数のＥＣＵ３０を監視して、複数のＥＣＵ３０のうちのいずれかＥＣＵ３０が故障したことの検出を試みる。故障の検出方法については、例えば、メッセージを送信して応答の有無を確認するといった既存の方法を用いればよい。
なお、故障検出部２１１は、全てのＥＣＵ３０について故障したことを検出するのではなく、継続して動作させる必要がある処理を実行している一部のＥＣＵ３０についてのみ故障したことを検出してもよい。
【００２３】
（ステップＳ１２：故障判定処理）
故障検出部２１１は、ステップＳ１１でＥＣＵ３０が故障したことが検出されたか否かを判定する。
故障検出部２１１は、検出された場合には、処理をステップＳ１３に進める。一方、故障検出部２１１は、検出されなかった場合には、処理をステップＳ１１に戻して、一定時間経過後に再びＥＣＵ３０が故障したことの検出を試みる。
【００２４】
（ステップＳ１３：代替選択処理）
代替選択部２１２は、代替記憶部２３１から、ステップＳ１１で故障したことが検出されたＥＣＵ３０である故障機についての代替識別子及び処理識別子を読み出す。
例えば、図４に示す情報が代替記憶部２３１に記憶されており、ＥＣＵ３０Ａが故障した場合には、代替識別子としてＥＣＵ３０Ｂの識別子である“Ｂ”が読み出され、処理識別子として処理ｙの識別子である“ｙ”が読み出される。
【００２５】
（ステップＳ１４：処理指示処理）
処理指示部２１３は、ステップＳ１３で読み出された代替識別子が示すＥＣＵ３０である代替機に対して、ステップＳ１３で読み出された処理識別子が示す処理を終了して、故障機で実行されていた処理を実行するように指示する。
なお、処理指示部２１３は、代替機に対して、故障機で実行されていた全ての処理を実行するように指示するのではなく、継続して動作させる必要がある一部の処理についてのみ実行するように指示してもよい。
【００２６】
図６を参照して、実施の形態１に係る代替機であるＥＣＵ３０の動作を説明する。
（ステップＳ２１：リソース確保処理）
リソース確保部３１１は、図５のステップＳ１４で指示されると、処理識別子が示す処理を終了する。これにより、代替機であるＥＣＵ３０におけるプロセッサ３１及びメモリ３２といったリソースの空きが増え、故障機で実行されていた処理を実行するためのリソースが確保される。
【００２７】
（ステップＳ２２：処理実行処理）
処理実行部３１２は、ステップＳ２１でリソースが確保されると、故障機で実行されていた処理を実行する。この際、処理実行部３１２は、故障機で実行されていた処理のうち、実行する処理が指定されている場合には、指定された処理のみを実行する。
【００２８】
図７を参照して、実施の形態１に係るフェールオペレーショナルシステムの動作の具体例を説明する。
図５のステップＳ１１で、代替制御装置２０は、ＥＣＵ３０Ａが故障したことを検出したとする。すると、図４に示す情報が代替記憶部２３１に記憶されている場合には、図５のステップＳ１３で、代替制御装置２０は、代替識別子としてＥＣＵ３０Ｂの識別子である“Ｂ”を読み出し、処理識別子として処理ｙの識別子である“ｙ”を読み出す。そして、図５のステップＳ１４で、代替制御装置２０は、代替機であるＥＣＵ３０Ｂに対して、処理ｙを終了して、故障機であるＥＣＵ３０Ａで実行されていた処理を実行するように指示する。ここでは、ＥＣＵ３０Ａで実行されていた処理のうち、処理Ｐ１を実行するように指示されたとする。
すると、図６のステップＳ２１で、代替機であるＥＣＵ３０Ｂは、処理ｙを終了する。そして、図６のステップＳ２２で、ＥＣＵ３０Ｂは、ＥＣＵ３０Ａで実行されていた処理Ｐ１を実行する。
なお、代替機に選定される可能性のあるＥＣＵ３０は、代替する処理の実行ファイルを事前にストレージ３３に記憶している。例えば、図７では、ＥＣＵ３０Ｂのストレージ３３には、ＥＣＵ３０Ａで実行される処理Ｐ１の実行ファイルである処理Ｐ１実行ファイルが記憶されている。
【００２９】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係るフェールオペレーショナルシステム１０では、代替制御装置２０は、ＥＣＵ３０の故障が検出されると、代替記憶部２３１から故障機についての代替識別子及び処理識別子を読み出す。そして、代替制御装置２０は、代替識別子が示す代替機に対して処理識別子が示す処理を終了して、故障機で実行されていた処理を実行するように指示する。
代替記憶部２３１から代替識別子等を読み出すだけで代替用のＥＣＵ３０が特定されるため、短時間で代替用のＥＣＵ３０を特定することが可能である。その結果、故障したＥＣＵで実行されていた処理が停止している時間を短くすることが可能である。これにより、移動体１００の安全性を高くすることが可能である。
【００３０】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例１として、各機能構成要素はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００３１】
図８を参照して、変形例１に係る代替制御装置２０の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、代替制御装置２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路２５を備える。電子回路２５は、各機能構成要素と、メモリ２２と、ストレージ２３との機能とを実現する専用の回路である。
【００３２】
電子回路２５としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路２５で実現してもよいし、各機能構成要素を複数の電子回路２５に分散させて実現してもよい。
【００３３】
＜変形例２＞
変形例２として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【００３４】
プロセッサ２１とメモリ２２とストレージ２３と電子回路２５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【００３５】
実施の形態２．
実施の形態２は、代替制御装置２０が移動体１００の状況に応じて代替記憶部２３１に情報を登録する点が実施の形態１と異なる。実施の形態２では、この異なる点を説明し、同一の点については説明を省略する。
【００３６】
＊＊＊構成の説明＊＊＊
図９を参照して、実施の形態２に係る代替制御装置２０の構成を説明する。
代替制御装置２０は、代替決定部２１４と、データ登録部２１５とを備える点が、図２に示す代替制御装置２０と異なる。
【００３７】
＊＊＊動作の説明＊＊＊
図１０から図１１を参照して、実施の形態２に係るフェールオペレーショナルシステム１０の動作を説明する。
実施の形態２に係るフェールオペレーショナルシステム１０の動作における代替制御装置２０の動作は、実施の形態２に係る代替制御方法に相当する。また、実施の形態２に係るフェールオペレーショナルシステム１０の動作における代替制御装置２０の動作は、実施の形態２に係る代替制御プログラムの処理に相当する。
【００３８】
実施の形態２では、代替制御装置２０の動作は、登録処理と、代替制御処理とを含む。代替制御処理は、実施の形態１において図５を参照して説明した処理である。
【００３９】
図１０を参照して、実施の形態２に係る登録処理を説明する。
実施の形態２では、代替制御装置２０は、定期的に登録処理を実行する。代替制御装置２０は、定期的に登録処理を実行するのではなく、移動体１００の状況が変わる度に登録処理を実行してもよい。
実施の形態２では、移動体１００の状況は、移動体１００の移動環境である。具体例としては、移動体１００の状況は、移動体１００が車両の場合には、高速道路と一般道路といった移動する道路種別である。また、移動体１００の状況は、昼間及び夜間といった時間帯と、晴れと雨と霧といった気象条件と等である。
【００４０】
（ステップＳ３１：リソース情報取得処理）
代替決定部２１４は、各ＥＣＵ３０からリソースの使用状況を示すリソース情報を取得する。図１１に示すように、リソース情報は、ＥＣＵ３０で実行される処理毎に使用しているリソース量を示すとともに、ＥＣＵ３０において使用されていない現在の空きリソース量を示す。なお、図１１では、各ＥＣＵ３０は、４コアのプロセッサ３１を備えており、プロセッサ３１の使用率の上限は４００％としている。また、各ＥＣＵ３０のメモリ３２は、５１２ＭＢ（メガバイト）であるとしている。
【００４１】
（ステップＳ３２：状況特定処理）
代替決定部２１４は、移動体１００の状況を特定する。
具体的には、代替決定部２１４は、通信インタフェース２４を介して接続された外部の装置から、移動体１００の状況を示す情報を取得する。例えば、代替決定部２１４は、移動体１００に搭載されたナビゲーションシステムから、移動体１００が移動する位置を示す位置情報を取得する。
【００４２】
ステップＳ３３からステップＳ３７の処理は、複数のＥＣＵ３０それぞれを対象のＥＣＵ３０として実行される。
なお、図５のステップＳ１１で、継続して動作させる必要がある処理を実行している一部のＥＣＵ３０についてのみ故障したことを検出する場合には、ステップＳ３２からステップＳ３７の処理は、故障したことを検出する対象となる一部のＥＣＵ３０についてのみ実行されればよい。
【００４３】
（ステップＳ３３：必要リソース特定処理）
代替決定部２１４は、対象のＥＣＵ３０で実行される処理で必要となる必要リソース量であって、ステップＳ３２で特定された移動体１００の状況に応じた必要リソース量を特定する。
なお、代替決定部２１４は、図５のステップＳ１４で、一部の処理についてのみ実行するように指示する場合には、対象のＥＣＵ３０で実行される処理のうち、実行するように指示される一部の処理のみの必要リソース量を特定する。
具体的には、代替決定部２１４は、各処理について、状況毎に必要リソース量が設定されたリソース量テーブルから、ステップＳ３２で特定された移動体１００の状況に対応する、対象のＥＣＵ３０で実行される処理についての必要リソースを読み出す。あるいは、代替決定部２１４は、移動体１００の周辺に存在する路側機から、移動体１００が移動する道路を移動する場合に、各処理で必要になる必要リソース量を取得する。ダイナミックマップが実現された場合には、路側機から必要リソース量を取得できるようになる可能性がある。
【００４４】
（ステップＳ３４：空きリソース量判定処理）
代替決定部２１４は、対象のＥＣＵ３０以外のＥＣＵ３０に、現在の空きリソース量がステップＳ３３で特定された必要リソース量よりも多いＥＣＵ３０が存在するか否かを判定する。
代替決定部２１４は、存在しない場合には、処理をステップＳ３５に進める。一方、代替決定部２１４は、存在する場合には、処理をステップＳ３６に進める。
【００４５】
（ステップＳ３５：空きリソース量更新処理）
代替決定部２１４は、対象のＥＣＵ３０以外のＥＣＵ３０で実行される処理のうち、未だ対象の処理に加えられていない優先順位の低い処理を対象の処理に加える。代替決定部２１４は、対象の処理を終了した場合における、対象のＥＣＵ３０以外の各ＥＣＵ３０の空きリソース量を計算する。具体的には、代替決定部２１４は、対象のＥＣＵ３０以外の各ＥＣＵ３０について、現在の空きリソース量に対象の処理が使用しているリソース量を加えることにより、対象の処理を終了した場合における空きリソース量を計算する。
そして、代替決定部２１４は、対象のＥＣＵ３０以外の各ＥＣＵ３０について、対象の処理を終了した場合における空きリソース量を、現在の空きリソース量に設定して、処理をステップＳ３４に戻す。
【００４６】
なお、ここでは、移動体１００の状況毎に、処理の優先順位が設定され、ストレージ２３に記憶されているものとする。移動体１００の状況に応じて処理の優先順位が変化するのは、移動体１００の状況に応じて処理の必要性又は重要度が変化するためである。例えば、高速道路を走行中には、信号を認識するための処理は、原則不要となる。そのため、一般道路を走行中に比べ、高速道路を走行中には、信号を認識するための処理は、低い優先順位が設定される。
【００４７】
（ステップＳ３６：代替機決定処理）
代替決定部２１４は、対象のＥＣＵ３０以外のＥＣＵ３０のうち、空きリソース量がステップＳ３２で特定された必要リソース量よりも多いＥＣＵ３０を代替用のＥＣＵ３０として特定する。
また、代替決定部２１４は、代替用のＥＣＵ３０において、ステップＳ３５で対象の処理として設定された処理を終了処理として決定する。代替決定部２１４は、代替用のＥＣＵ３０において、ステップＳ３５で複数の処理が対象の処理として設定された場合には、全ての処理を終了処理として決定する。
【００４８】
（ステップＳ３７：データ登録処理）
データ登録部２１５は、ステップＳ３６で決定された代替用のＥＣＵ３０の識別子を、対象のＥＣＵ３０についての代替識別子とし、ステップＳ３６で決定された終了処理の識別子を、対象のＥＣＵ３０についての処理識別子として代替記憶部２３１に登録する。
【００４９】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係るフェールオペレーショナルシステム１０は、代替制御装置２０が移動体１００の状況に応じて代替記憶部２３１に情報を登録する。そのため、移動体１００の状況に応じて適切なＥＣＵ３０を代替用のＥＣＵ３０として特定することが可能である。
【００５０】
また、実施の形態２に係るフェールオペレーショナルシステム１０は、代替制御装置２０が、ＥＣＵ３０の故障の有無に関わらず、定期的に、又は、移動体１００の状況が変わる度に、代替記憶部２３１に情報を登録し直す。そのため、ＥＣＵ３０に故障が発生した場合には、代替記憶部２３１から代替識別子等を読み出すだけで代替用のＥＣＵ３０が特定されるため、短時間で代替用のＥＣＵ３０を特定することが可能である。その結果、故障したＥＣＵで実行されていた処理が停止している時間を短くすることが可能である。これにより、移動体１００の安全性を高くすることが可能である。
【００５１】
＊＊＊他の構成＊＊＊
＜変形例３＞
実施の形態１，２では、自動運転車両といった移動体１００のＥＣＵ３０に故障が発生した場合について説明した。しかし、上述したフェールオペレーショナル技術は、介護用のロボットといったロボットに搭載されたＥＣＵ３０に故障が発生した場合にも適用可能である。また、上述したフェールオペレーショナル技術は、一般的なコンピュータシステムに対しても適用可能である。一般的なコンピュータシステムに対しても適用する場合には、上述したＥＣＵ３０をコンピュータと読み替えればよい。
【符号の説明】
【００５２】
１０  フェールオペレーショナルシステム、２０  代替制御装置、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２５  電子回路、２１１  故障検出部、２１２  代替選択部、２１３  処理指示部、２１４  代替決定部、２１５  データ登録部、２３１  代替記憶部、３０  ＥＣＵ、３１  プロセッサ、３２  メモリ、３３  ストレージ、３４  通信インタフェース、３１１  リソース確保部、３１２  処理実行部、４０  伝送路。
【図１】
0006899978.tif 000002
【図２】
0006899978.tif 000003
【図３】
0006899978.tif 000004
【図４】
0006899978.tif 000005
【図５】
0006899978.tif 000006
【図６】
0006899978.tif 000007
【図７】
0006899978.tif 000008
【図８】
0006899978.tif 000009
【図９】
0006899978.tif 000010
【図１０】
0006899978.tif 000011
【図１１】
0006899978.tif 000012