(57)【要約】      （修正有）【課題】複数のＥＣＵにソフトウェアを適切に配置してメモリ不足を回避する。【解決手段】車両システムは、複数のＥＣＵの各々について、メモリ使用量が所定閾値を超えている超過ＥＣＵが発生しているか否かを監視する監視手段１１０と、超過期間において超過ＥＣＵで起動又は起動要求されていたソフトウェアの情報を記憶する記憶手段１３０と、記憶手段で記憶されたソフトウェアの情報に基づいて、複数のＥＣＵのうち超過ＥＣＵとは異なる他のＥＣＵのメモリ使用量を算出する算出手段１４０と、算出手段で算出された他のＥＣＵのメモリ使用量に基づいて、超過期間において超過ＥＣＵで起動又は起動要求されていたソフトウェアを、他のＥＣＵに移動させる移動手段１５０とを備える。【選択図】図１
2018132932.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを配置可能な複数のＥＣＵを備える車両システムであって、
前記複数のＥＣＵの各々について、前記メモリ使用量が所定閾値を超えている超過ＥＣＵが発生しているか否かを監視する監視手段と、
前記超過ＥＣＵが発生した場合に、前記メモリ使用量が前記所定閾値を超えている超過期間において前記超過ＥＣＵで起動又は起動要求されていたソフトウェアの情報を記憶する記憶手段と、
前記記憶手段で記憶された前記ソフトウェアの情報に基づいて、前記複数のＥＣＵのうち前記超過ＥＣＵとは異なる他のＥＣＵの前記メモリ使用量を算出する算出手段と、
前記算出手段で算出された前記他のＥＣＵの前記メモリ使用量に基づいて、前記超過期間において前記超過ＥＣＵで起動又は起動要求されていたソフトウェアを、前記他のＥＣＵに移動させる移動手段と
を備えることを特徴とする車両システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される複数のＥＣＵ（Electronic Control Unit）にソフトウェアを配置する車両システムの技術分野に関する。
【背景技術】
【０００２】
相互に通信可能とされた複数の電子制御ユニット（ＥＣＵ）を備える車両が知られている。このような車両では、各ＥＣＵに配置されたソフトウェアを動作させることで、車両の各種機能が実現される（特許文献１参照）。なお、ＥＣＵに配置されたソフトウェアは状況に応じて追加及び削除を行うことが可能とされている（特許文献２参照）。
【０００３】
ソフトウェアを動作させるためには、ＥＣＵにメモリの空き容量があることが要求される。このため、ソフトウェアの起動要求があった際にメモリの空き容量が不足している場合には、メモリを解放して空き容量の確保を図り、メモリの解放後にも空き容量が不足している場合には、所定の待ち時間後にソフトウェアの起動を試みるという技術が提案されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４３０９３号公報
【特許文献２】特開２００８−２５４４８４号公報
【特許文献３】特開２００３−２８８２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献３に記載の技術では、メモリ不足に対する一時的な対処が可能であるが、恒久的な対処ではないため、またいずれメモリ不足が発生してしまう可能性が高い。つまり、特許文献３に記載の技術を採用したとしても、ソフトウェアの起動に起因するメモリ不足について根本的な解決はできない。
【０００６】
本発明は、上記問題点に鑑みてなされたものであり、複数のＥＣＵにソフトウェアを適切に配置することで、ＥＣＵのメモリ不足を回避することが可能な車両システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の車両システムは上記課題を解決するために、ソフトウェアを配置可能な複数のＥＣＵを備える車両システムであって、前記複数のＥＣＵの各々について、前記メモリ使用量が所定閾値を超えている超過ＥＣＵが発生しているか否かを監視する監視手段と、前記超過ＥＣＵが発生した場合に、前記メモリ使用量が前記所定閾値を超えている超過期間において前記超過ＥＣＵで起動又は起動要求されていたソフトウェアの情報を記憶する記憶手段と、前記記憶手段で記憶された前記ソフトウェアの情報に基づいて、前記複数のＥＣＵのうち前記超過ＥＣＵとは異なる他のＥＣＵの前記メモリ使用量を算出する算出手段と、前記算出手段で算出された前記他のＥＣＵの前記メモリ使用量に基づいて、前記超過期間において前記超過ＥＣＵで起動又は起動要求されていたソフトウェアを、前記他のＥＣＵに移動させる移動手段とを備える。
【０００８】
本発明の車両システムによれば、メモリ使用量が所定閾値を超えている超過ＥＣＵが発生した場合に、超過ＥＣＵで起動又は起動要求されていたソフトウェアが他のＥＣＵに移動される。なお、「所定閾値」とは、ＥＣＵにおけるメモリ不足（具体的には、ソフトウェアを正常に動作させるためのメモリが不足している状態）を判定するための閾値であり、予め実験的に又は理論的に最適な値が求められ設定されている。
【０００９】
本発明では特に、ソフトウェアを他のＥＣＵに移動させる場合に、超過期間に起動又は起動要求されていたソフトウェアの情報に基づいて、他のＥＣＵのメモリ使用量が算出される。言い換えれば、超過期間に起動又は起動要求されていたソフトウェアの動作を想定して、他のＥＣＵのメモリ使用量が算出される。これにより、超過ＥＣＵで起動又は起動要求されていたソフトウェアを、メモリに余裕のある他のＥＣＵに移動することが可能となる。
【００１０】
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る車両システムの構成を示すブロック図である。
【図２】ソフトウェア停止制御の流れを示すフローチャートである。
【図３】ソフトウェアの優先度の設定例を示す表である。
【図４】ソフトウェアの結合度を示す概念図である。
【図５】ソフトウェア再配置制御の流れ示すフローチャートである。
【図６】ソフトウェアの動作シーンとメモリ使用量との関係を示すグラフである。
【発明を実施するための形態】
【００１２】
本発明の車両システムに係る実施形態を図面に基づいて説明する。
【００１３】
＜車両システムの構成＞
まず、本実施形態に係る車両システムの構成について、図１を参照して説明する。図１は、実施形態に係る車両システムの構成を示すブロック図である。
【００１４】
図１に示すように、本実施形態に係る車両システムは、自動車等の車両に搭載されるものであり、統合制御ＥＣＵ１００と、第１ＥＣＵ２１０と、第２ＥＣＵ２２０と、第３ＥＣＵ２３０とを備えて構成されている。ただし、統合制御ＥＣＵ１００は必須な構成要素ではなく、第１ＥＣＵ２１０、第２ＥＣＵ２２０、及び第３ＥＣＵ２３０の各々が、統合制御ＥＣＵ１００の機能を有するように構成されてもよい。
【００１５】
統合制御ＥＣＵ１００は、ＣＰＵ（Central Processing Unit）等の演算回路を有する制御ユニットである。統合制御ＥＣＵ１００は、第１ＥＣＵ２１０、第２ＥＣＵ２２０、及び第３ＥＣＵ２３０（以下では、これらをまとめて「ＥＣＵ２００」と称することがある）と通信可能に構成されており、ＥＣＵ２００の各々の制御（状態管理を含む）を実行可能に構成されている。
【００１６】
統合制御ＥＣＵ１００は、その内部に実現される論理的な又は物理的な処理ブロックとして、メモリ監視部１１０、ソフトウェア停止制御部１２０、ソフトウェア情報記憶部１３０、メモリ容量算出部１４０、及びソフトウェア移動部１５０を備えている。
【００１７】
メモリ監視部１１０は、「監視手段」の一具体例であり、各ＥＣＵ２００のメモリ使用量を監視する。メモリ監視部１１０は、ソフトウェア停止制御の開始フラグとなるソフトウェア停止制御閾値と、ソフトウェア再配置制御の開始フラグとなる再配置制御閾値とを記憶しており、各ＥＣＵ２００のメモリ使用量が、ソフトウェア停止制御閾値又は再配置制御閾値を超えているか否かを判定することが可能に構成されている。
【００１８】
ソフトウェア停止制御部１２０は、ＥＣＵ２００のメモリ使用量がソフトウェア停止制御閾値を超えた場合に、一部のソフトウェアの動作を停止させるためのソフトウェア停止制御を実行する。ソフトウェア停止制御の具体的な内容については後に詳述する。
【００１９】
ソフトウェア情報記憶部１３０は、「記憶手段」の一具体例であり、ＥＣＵ２００のメモリ使用量が再配置制御閾値を超えた場合に、ソフトウェア再配置制御の処理として、メモリ使用量が再配置制御閾値を超えたＥＣＵ（以下、適宜「超過ＥＣＵ」と称する）において、メモリ使用量が再配置制御閾値を超えていた期間（以下、適宜「超過期間」と称する）に起動又は起動要求されていたソフトウェアに関する情報を記憶する。
【００２０】
メモリ容量算出部１４０は、「算出手段」の一具体例であり、ソフトウェア情報記憶部１３０で記憶されたソフトウェアに関する情報を利用して、超過ＥＣＵとは異なる他のＥＣＵのメモリ使用量を算出する。具体的には、メモリ容量算出部１４０は、超過ＥＣＵにおいて起動又は起動要求されていたソフトウェアが動作する期間における他のＥＣＵのメモリ使用量を算出する。
【００２１】
ソフトウェア移動部１５０は、「移動手段」の一具体例であり、メモリ容量算出部１４０で算出された他のＥＣＵのメモリ使用量に基づいて、超過ＥＣＵにおいて起動又は起動要求されていたソフトウェアを他のＥＣＵに移動させる。
【００２２】
第１ＥＣＵ２１０、第２ＥＣＵ２２０、及び第３ＥＣＵ２３０は、互いに通信可能に接続されている。ＥＣＵ２００は、その内部にソフトウェアが配置されることで、該ソフトウェアに応じた処理を実行可能な制御ユニットである。なお、ＥＣＵ２００の数は２つ以上であればよく、本実施形態のように３つに限定されるものではない。
【００２３】
＜ソフトウェア停止制御＞
次に、本実施形態に係る車両システムが実行するソフトウェア停止制御について、図２から図４を参照して説明する。図２は、ソフトウェア停止制御の流れを示すフローチャートである。図３は、ソフトウェアの優先度の設定例を示す表である。図４は、ソフトウェアの結合度を示す概念図である。なお、図２に示す各処理は、ソフトウェア停止制御部１２０が実行する処理である。
【００２４】
図２に示すように、ソフトウェア停止制御部１２０は、メモリ監視部１１０によってＥＣＵ２００のメモリ使用量がソフトウェア停止制御閾値を超えていると判定されると（ステップＳ１０１：ＹＥＳ）、ステップＳ１０２以降のソフトウェア停止制御を開始する。なお、ＥＣＵ２００のメモリ使用量がソフトウェア停止制御閾値を超えていないと判定された場合には（ステップＳ１０１：ＮＯ）、ソフトウェアステップＳ１０２以降の処理は開始されない。
【００２５】
ソフトウェア停止制御が開始されると、まずソフトウェア停止制御閾値を超えたＥＣＵ（以下、「停止対象ＥＣＵ」と称する）に配置されている各ソフトウェアの優先度を取得する（ステップＳ１０２）。
【００２６】
図３に示すように、ソフトウェアの優先度は、ソフトウェアの機能に応じて定められたリスクランク、及びＲＡＭ使用量（即ち、ソフトウェアのメモリ使用量）によって設定される。なお、優先度は０〜９までの１０段階で設定されるものであり、数値が低いほど優先度が高い。優先度“０”は、優先度が最も高く、動作を停止すべきでないソフトウェアに設定される優先度である。優先度“１”〜“９”は、状況に応じて動作を停止すべきソフトウェアに設定される優先度であり、優先度が高い（即ち、数値が大きい）ソフトウェアほど停止されやすい。
【００２７】
図２に戻り、ソフトウェアの優先度を取得した後には、停止対象ＥＣＵ内のソフトウェアの情報が、他のソフトウェアＸ（停止対象ＥＣＵ以外のＥＣＵに配置されているソフトウェアを含む）に使用されるものであるか否かを判定する（ステップＳ１０３）。そして、停止対象ＥＣＵ内のソフトウェアの情報が、他のソフトウェアＸに使用されるものである場合には（ステップＳ１０３：ＹＥＳ）、ソフトウェアＸの情報を、他のソフトウェアＹに使用されるものであるか否かを判定する（ステップＳ１０４）。
【００２８】
ソフトウェアＸの情報が他のソフトウェアＹに使用されるものであると判定された場合（ステップＳ１０４：ＹＥＳ）、停止対象ＥＣＵ内のソフトウェアの動作が停止すると、ソフトウェアＸ及びソフトウェアＹが連鎖的に動作不可能となってしまうと判断できる。このため、ここでの停止対象ＥＣＵ内のソフトウェアは影響度「高」に設定され、動作停止の対象外となる（ステップＳ１０５）。
【００２９】
一方、ソフトウェアＸの情報が他のソフトウェアＹに使用されるものでないと判定された場合（ステップＳ１０４：ＹＥＳ）、停止対象ＥＣＵ内のソフトウェアの動作が停止すると、ソフトウェアＸは動作不可能となってしまうものの、そこから連鎖的に動作不可能となってしまうような他のソフトウェアは存在していないと判断できる。このため、ここでの停止対象ＥＣＵ内のソフトウェアは影響度「中」に設定される。この場合、停止対象ＥＣＵ内のソフトウェアの優先度と、ソフトウェアＸの優先度とが比較され、高い方の値を停止対象ＥＣＵ内のソフトウェアとして記憶する（ステップＳ１０６）。
【００３０】
他方で、停止対象ＥＣＵ内のソフトウェアの情報が、他のソフトウェアＸに使用されるものでない場合には（ステップＳ１０３：ＮＯ）、停止対象ＥＣＵ内のソフトウェアの動作が停止しても、それに起因して動作不可能となってしまうような他のソフトウェアは存在していないと判断できる。このため、ここでの停止対象ＥＣＵ内のソフトウェアは影響度「無」に設定される。この場合、停止対象ＥＣＵ内のソフトウェアの優先度を記憶する（ステップＳ１０７）。
【００３１】
ステップＳ１０２からステップＳ１０７の処理は、停止対象ＥＣＵ内に配置されている全てのソフトウェアについて実行され、その結果、各ソフトウェアの優先度が決定される（ステップＳ１０８）。ソフトウェアの優先度が決定されると、優先度の最も低いソフトウェアの動作を停止させる（ステップＳ１０９）。なお、優先度の同じソフトウェアが存在する場合には、より結合度の低いソフトウェアの動作が停止される。
【００３２】
図４に示すように、ソフトウェアの結合度は、あるソフトウェアＺの動作を停止させることで減少するインプットの数と、ソフトウェアＺの動作を停止させることで減少するアウトプットの数との比率として算出できる。具体的には、結合度＝減少するＯｕｔｐｕｔ／減少するＩｎｐｕｔである。図に示す例では、ソフトウェアＺの動作が停止することにより、１つのインプットが得られなくなり、その結果としてアウトプットが２つ減少している。よって、この場合の結合度は２／１＝２である。このようにして算出される値が大きいほど、ソフトウェアの結合度は高いと判断できる。
【００３３】
再び図２に戻り、ソフトウェアの動作を停止させた後は、停止対象ＥＣＵのメモリ残量が一定以上に回復したか否かを判定する（ステップＳ１１０）。そして、停止対象ＥＣＵのメモリ残量が一定以上に回復していない場合は（ステップＳ１１０：ＮＯ）、再びステップＳ１０９の処理が実行され、最も優先度が低いソフトウェアの動作を停止させる。即ち、停止対象ＥＣＵのメモリ残量が一定以上に回復するまで、ソフトウェアが優先度の低い順に停止されていく。一方で、停止対象ＥＣＵのメモリ残量が一定以上に回復したと判定された場合は（ステップＳ１１０：ＹＥＳ）、一連の処理が終了する。
【００３４】
以上説明したソフトウェア停止制御によれば、ソフトウェアの動作が停止した場合の影響を最小限に抑えつつ、メモリ残量の回復を図ることができる。
【００３５】
＜ソフトウェア再配置制御＞
次に、本実施形態に係る車両システムが実行するソフトウェア再配置制御について、図５及び図６を参照して説明する。図５は、ソフトウェア再配置制御の流れ示すフローチャートである。図６は、ソフトウェアの動作シーンとメモリ使用量との関係を示すグラフである。
【００３６】
図５に示すように、メモリ監視部１１０によってＥＣＵ２００のメモリ使用量が再配置制御閾値を超えていると判定されると（ステップＳ２０１：ＹＥＳ）、ステップＳ２０２以降のソフトウェア再配置制御が開始される。なお、再配置制御閾値は、「所定閾値」の一具体例であり、上述したソフトウェア停止制御閾値よりも低い値として設定されている。このため、ソフトウェア再配置制御は、ソフトウェア停止制御よりも優先的に実行される。より具体的には、ソフトウェア停止制御は、ソフトウェア再配置制御を実行したにもかかわらず、メモリ使用量が増え続けた場合に実行される。
【００３７】
ソフトウェア再配置制御が開始されると、ソフトウェア情報記憶部１３０が超過期間において起動又は起動要求されていたソフトウェアに関する情報（具体的には、ソフトウェアの動作シーンの開始位置と終了位置に関する情報）を取得して記憶する（ステップＳ２０２）。言い換えれば、ソフトウェア情報記憶部１３０は、超過ＥＣＵに記憶されている各ソフトウェアが動作する期間に関する情報を取得する。
【００３８】
図６に示すように、超過ＥＣＵに動作シーンの異なるソフトウェアＡ、Ｂ及びＣが配置されているとする。ソフトウェアＡ、Ｂ及びＣの動作時のメモリ使用量を見てみると、動作開始が最も早いソフトウェアＡが起動した時点で再配置制御閾値を超えている。その後、ソフトウェアＢ及びＣが起動された状態でもメモリ使用量は再配置制御閾値を超え続け、動作終了が最も遅いソフトウェアＡが終了した時点で再配置制御閾値を下回る。よって、ここでのソフトウェア情報記憶部１３０は、超過期間に起動されているソフトウェアＡ、Ｂ及びＣの各々について、開始位置及び終了位置に関する情報を取得する。
【００３９】
続いて、メモリ容量算出部１４０が、ソフトウェア情報記憶部１３０に記憶された情報に基づいて、超過ＥＣＵ以外の他のＥＣＵのメモリ使用量を算出する（ステップＳ２０３）。具体的には、超過ＥＣＵに配置されている各ソフトウェアの動作シーン（即ち、開始位置から終了位置まで）における、他のＥＣＵのメモリ使用量を算出する。なお、超過期間において起動又は起動要求されていたソフトウェアが複数存在する場合には、その各々の動作シーンについて他のＥＣＵのメモリ使用量が算出される。
【００４０】
続いて、ソフトウェア移動部１５０が、メモリ容量算出部１４０によって算出された他のＥＣＵのメモリ使用量を比較して、最もメモリ残量が大きいＥＣＵをソフトウェア移動先のＥＣＵとして選択する（ステップＳ２０４）。なお、超過期間において起動又は起動要求されていたソフトウェアが複数存在する場合には、その各々について移動先のＥＣＵが選択される。
【００４１】
最後に、ソフトウェア移動部１５０は、移動先として選択したＥＣＵに、超過ＥＣＵ内のソフトウェアを移動させる（ステップＳ２０５）。これにより、超過ＥＣＵ内のソフトウェアは減少し、メモリ使用量も減少する。
【００４２】
以上説明したソフトウェア再配置制御によれば、ＥＣＵ２００にメモリ不足が発生した場合であっても、その原因となったソフトウェアを適切な他のＥＣＵに再配置して、その後も再びメモリ不足が発生するのを抑制することができる。なお、ソフトウェア再配置制御だけでは、メモリ不足を完全に回避することが不可能な場合もあり得るが、そのような場合には、既に説明したソフトウェア停止制御によって、確実にメモリ不足が回避される。
【００４３】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う車両システムもまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【００４４】
１００  統合制御ＥＣＵ
１１０  メモリ監視部
１２０  ソフトウェア停止制御部
１３０  ソフトウェア情報記憶部
１４０  メモリ容量算出部
１５０  ソフトウェア移動部
２１０  第１ＥＣＵ
２２０  第２ＥＣＵ
２３０  第３ＥＣＵ
【図１】
2018132932.tif 000003
【図２】
2018132932.tif 000004
【図３】
2018132932.tif 000005
【図４】
2018132932.tif 000006
【図５】
2018132932.tif 000007
【図６】
2018132932.tif 000008