(57)【特許請求の範囲】
【請求項１】
車両において共通のネットワークに接続されており、該ネットワークを介して配置されるソフトウェアに応じた制御を実行可能な複数のＥＣＵと、
前記複数のＥＣＵの各々について、動作不良が発生する確率が高いほど高くなる第１ランク値を取得する第１取得手段と、
前記複数のＥＣＵに配置しようとする追加ソフトウェアについて、重要度が高いほど高くなる第２ランク値を取得する第２取得手段と、
前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、前記複数のＥＣＵの中から前記追加ソフトウェアを配置するＥＣＵを決定する決定手段と、
前記決定されたＥＣＵに前記追加ソフトウェアを配置する配置手段と
備えることを特徴とする車両用ソフトウェア割当てシステム。
【請求項２】
前記第１ランク値は、前記車両における前記複数のＥＣＵの各々の設置位置に基づいて設定される値であることを特徴とする請求項１に記載の車両用ソフトウェア割当てシステム。
【請求項３】
前記第２ランク値は、前記追加ソフトウェアに応じて実行される制御の内容に基づいて設定される値であることを特徴とする請求項１又は２に記載の車両用ソフトウェア割当てシステム。
【請求項４】
前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、且つ、前記追加ソフトウェアと前記複数のＥＣＵの各々が制御する被制御部との間に要求される応答性が満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定することを特徴とする請求項１から３のいずれか一項に記載の車両用ソフトウェア割当てシステム。
【請求項５】
前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、且つ、前記追加ソフトウェアと前記複数のＥＣＵに配置済みである既存ソフトウェアとの間に要求される通信速度が満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定することを特徴とする請求項１から４のいずれか一項に記載の車両用ソフトウェア割当てシステム。
【請求項６】
前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、且つ、前記追加ソフトウェアに要求される電力の供給タイミングが満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定することを特徴とする請求項１から５のいずれか一項に記載の車両用ソフトウェア割当てシステム。
【請求項７】
前記決定されたＥＣＵに前記追加ソフトウェアを配置する容量が不足している場合に、前記決定されたＥＣＵに、前記追加ソフトウェアより前記第２ランク値が低い低ランクソフトウェアが配置されているか否かを判定する判定手段を更に備え、
前記配置手段は、前記決定されたＥＣＵに前記低ランクソフトウェアが配置されている場合に、前記低ランクソフトウェアを前記決定されたＥＣＵから削除すると共に、前記低ランクソフトウェアが削除された前記決定されたＥＣＵに前記追加ソフトウェアを配置する
ことを特徴とする請求項１から６のいずれか一項に記載の車両用ソフトウェア割当てシステム。
【請求項８】
前記配置手段は、前記決定されたＥＣＵから削除された前記低ランクソフトウェアを、前記決定されたＥＣＵよりも前記第１ランク値の高い第２のＥＣＵに配置し直すことを特徴とする請求項７に記載の車両用ソフトウェア割当てシステム。
【請求項９】
前記追加ソフトウェアは、第３のＥＣＵに配置されていたソフトウェアであって、前記第３のＥＣＵの故障により、他のＥＣＵへコピーすべきと判断されたソフトウェアであることを特徴とする請求項１から８のいずれか一項に記載の車両用ソフトウェア割当てシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される複数のＥＣＵ（Electronic Control Unit）に対してソフトウェアを割当てる車両用ソフトウェア割当てシステムの技術分野に関する。
【背景技術】
【０００２】
相互に通信可能とされた複数の電子制御ユニット（ＥＣＵ）を備える車両が知られている。このような車両では、各ＥＣＵにソフトウェアを配置することで特定の機能が実現される。特許文献１では、ソフトウェアによって実現される機能を階層化し、隣接する階層の機能であれば同じＥＣＵへの配置を許可し、離間した階層の機能であれば同じＥＣＵへの配置を禁止するという技術が提案されている。特許文献２では、複数のＥＣＵで複数のソフトウェアを動作させる場合に、優先度の低いソフトウェアの動作中通知を停止させるという技術が提案されている。特許文献３では、複数のＥＣＵを備えるシステムにおいて、自データ書き換え時に他のＥＣＵから受信したバックアップデータを保存するという技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３７３１１号公報
【特許文献２】特開２０１３−１４３０９３号公報
【特許文献３】特開２００８−２５４４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のＥＣＵを備えるシステムにおいては、新たにソフトウェアを配置しようとする場合、ＥＣＵの空き容量や処理負荷性能に基づいて配置先が決定されることが多い。しかしながら、ＥＣＵの空き容量や処理負荷性能を考慮するだけでは、適切なＥＣＵにソフトウェアを配置することは困難である。
【０００５】
具体的には、車両に搭載される複数のＥＣＵは、各々が異なる性能を有しており、更には設置されている環境（例えば、温度環境や防水環境等）も同じではないため、動作不良が発生する確率に違いがある。即ち、比較的動作不良を起こし易いＥＣＵが存在する一方で、比較的動作不良を起こし難いＥＣＵも存在する。このような状況において、ＥＣＵの空き容量や処理負荷性能だけを考慮してソフトウェアを配置すると、極めて重要な機能を実現するためのソフトウェア（例えば、走行に不可欠な基本ソフトウェア）が、動作不良を起こし易いＥＣＵに配置されてしまうことがある。この場合、車両の頑健性が大きく低下してしまうという技術的問題点が生ずる。
【０００６】
本発明は、上記問題点に鑑みてなされたものであり、複数のＥＣＵを備える車両においてソフトウェアを適切なＥＣＵに配置することが可能な車両用ソフトウェア割当てシステムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
＜１＞
本発明の車両用ソフトウェア割当てシステムは上記課題を解決するために、車両において共通のネットワークに接続されており、該ネットワークを介して配置されるソフトウェアに応じた制御を実行可能な複数のＥＣＵと、前記複数のＥＣＵの各々について、動作不良が発生する確率が高いほど高くなる第１ランク値を取得する第１取得手段と、前記複数のＥＣＵに配置しようとする追加ソフトウェアについて、重要度が高いほど高くなる第２ランク値を取得する第２取得手段と、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、前記複数のＥＣＵの中から前記追加ソフトウェアを配置するＥＣＵを決定する決定手段と、前記決定されたＥＣＵに前記追加ソフトウェアを配置する配置手段と備える。
【０００８】
本発明の車両用ソフトウェア割当てシステムによれば、重要度の高さを示す第２ランク値が高いソフトウェアであるほど、動作不良が発生する確率の高さを示す第１ランク値が低い（即ち、動作不良が発生し難い）ＥＣＵに配置されるため、車両の頑健性を向上させることが可能である。
【０００９】
＜２＞
本発明に係る車両用ソフトウェア割当てシステムの一態様では、前記第１ランク値は、前記車両における前記複数のＥＣＵの各々の設置位置に基づいて設定される値である。
【００１０】
ＥＣＵで動作不良が発生する確率は、ＥＣＵの設置されている環境（車両における設置位置）に大きく依存する。このため、ＥＣＵの設置位置を利用すれば、好適に第１ランク値を設定することができる。
【００１１】
＜３＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記第２ランク値は、前記追加ソフトウェアに応じて実行される制御の内容に基づいて設定される値である。
【００１２】
この態様によれば、追加ソフトウェアに応じて実行される制御の内容に基づいて好適に第２ランク値を設定することができる。
【００１３】
＜４＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵ、前記追加ソフトウェアと前記複数のＥＣＵの各々が制御する被制御部との間に要求される応答性が満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定する。
【００１４】
この態様によれば、被制御部との間で高い応答性を実現することが可能なＥＣＵに、追加ソフトウェアを配置することが可能である。
【００１５】
＜５＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、且つ、前記追加ソフトウェアと前記複数のＥＣＵに配置済みである既存ソフトウェアとの間に要求される通信速度が満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定する。
【００１６】
この態様によれば、既存ソフトウェとの間で高い通信速度を実現することが可能なＥＣＵに、追加ソフトウェアを配置することが可能である。
【００１７】
＜６＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第２ランク値が高い追加ソフトウェアであるほど、前記第１ランク値の低いＥＣＵに配置されるように、且つ、前記追加ソフトウェアに要求される電力の供給タイミングが満たされるように、前記追加ソフトウェアを配置するＥＣＵを決定する。
【００１８】
この態様によれば、追加ソフトウェアに適切なタイミングで電力を供給可能なＥＣＵに、追加ソフトウェアを配置することが可能である。
【００１９】
＜７＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定されたＥＣＵに前記追加ソフトウェアを配置する容量が不足している場合に、前記決定されたＥＣＵに、前記追加ソフトウェアより前記第２ランク値が低い低ランクソフトウェアが配置されているか否かを判定する判定手段を更に備え、前記配置手段は、前記決定されたＥＣＵに前記低ランクソフトウェアが配置されている場合に、前記低ランクソフトウェアを前記決定されたＥＣＵから削除すると共に、前記低ランクソフトウェアが削除された前記決定されたＥＣＵに前記追加ソフトウェアを配置する。
【００２０】
この態様によれば、追加ソフトウェアを配置しようとするＥＣＵの容量が不足している場合であっても、低ランクソフトウェアの削除によって、追加ソフトウェアを配置することが可能となる。
【００２１】
＜８＞
上述した低ランクソフトウェアを削除する態様では、前記配置手段は、前記決定されたＥＣＵから削除された前記低ランクソフトウェアを、前記決定されたＥＣＵよりも前記第１ランク値の高い第２のＥＣＵに配置し直してもよい。
【００２２】
この場合、低ランクソフトウェアが第２のＥＣＵに配置されるため、低ランクソフトウェアの機能が損なわれてしまうことを回避できる。
【００２３】
＜９＞
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記追加ソフトウェアは、第３のＥＣＵに配置されていたソフトウェアであって、前記第３のＥＣＵの故障により、他のＥＣＵへコピーすべきと判断されたソフトウェアである。
【００２４】
この態様によれば、ソフトウェアが配置されている第３のＥＣＵに故障が発生した場合でも、適切なＥＣＵに再配置することが可能である。
【００２５】
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態に係る車両用ソフトウェア割当てシステムの構成を示すブロック図である。
【図２】第１実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。
【図３】ソフトランク値とＥＣＵランク値とのマッチング処理の流れを示すフローチャートである。
【図４】ソフトランク値の具体例を示す表である。
【図５】ＥＣＵランク値の具体例を示す表である。
【図６】ソフトウェアの結合条件に関するマッチング処理の流れを示すフローチャートである。
【図７】応答性条件に関するマッチング処理の一例を示す概念図である。
【図８】通信速度条件に関するマッチング処理の一例を示す概念図である。
【図９】電源タイミング条件に関するマッチング処理の一例を示す概念図である。
【図１０】第２実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。
【図１１】ソフトウェアの配置可能判定処理の流れを示すフローチャートである。
【図１２】第３実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の車両用ソフトウェア割当てシステムに係る実施形態を図面に基づいて説明する。
【００２８】
＜第１実施形態＞
第１実施形態に係る車両用ソフトウェア割当てシステムについて、図１から図９を参照して説明する。以下では、車両用ソフトウェア割当てシステムの構成、車両用ソフトウェア割当てシステムの全体動作、ランク値に関するマッチング処理、結合条件に関するマッチング処理、車両用ソフトウェア割当てシステムによって得られる技術的な効果について、順に説明していく。
【００２９】
＜車両用ソフトウェア割当てシステムの構成＞
まず、第１実施形態に係る車両用ソフトウェア割当てシステムの構成について、図１を参照して説明する。ここに図１は、第１実施形態に係る車両用ソフトウェア割当てシステムの構成を示すブロック図である。
【００３０】
図１において、第１実施形態に係る車両用ソフトウェア割当てシステム１０は、自動車等の車両に搭載されるものであり、車外のサーバ６００と無線通信可能に構成されている。車外のサーバ６００からは、例えば新規ソフトウェア等の各種情報がダウンロード可能である。車両用ソフトウェア割当てシステム１０は、統合制御ＥＣＵ１００と、第１ＥＣＵ２１０と、第２ＥＣＵ２２０と、第３ＥＣＵ２３０と、第４ＥＣＵ２４０と、第１アクチュエータドライバ３１０と、第２アクチュエータドライバ３２０と、第１インテリジェントセンサ４１０と、第２インテリジェントセンサ４２０と、第１アクチュエータ５１０と、第２アクチュエータ５２０とを備えて構成されている。
【００３１】
統合制御ＥＣＵ１００は、ＣＰＵ（Central Processing Unit）等の演算回路を有する制御ユニットであり、第１ＥＣＵ２１０、第２ＥＣＵ２２０、第３ＥＣＵ２３０、及び第４ＥＣＵ２４０（以下では、これらをまとめて「ＥＣＵ２００」と称することがある）の各々の制御（状態管理を含む）を実行可能に構成されている。統合制御ＥＣＵ１００は、その内部に実現される論理的な又は物理的な処理ブロックとして、ＥＣＵランク値取得部１１０、ソフトランク値取得部１２０、配置先決定部１３０、ソフトウェア配置部１４０を備えている。
【００３２】
ＥＣＵランク値取得部１１０は、車両におけるＥＣＵ２００の設置位置に基づいて、ＥＣＵ２００において動作不良が発生する確率の高さを示すＥＣＵランク値を取得することが可能に構成されている。ＥＣＵランク値取得部１１０において取得されたＥＣＵランク値は、配置先決定部１３０に出力される構成となっている。なお、ＥＣＵランク値取得部１１０は、「第１取得手段」の一具体例であり、ＥＣＵランク値は、「第１ランク値」の一具体例である。ＥＣＵランク値については後に詳述する。
【００３３】
ソフトランク値取得部１２０は、ＥＣＵ２００に配置される又は配置されているソフトウェアの重要度を示すソフトランク値を取得することが可能に構成されている。ソフトランク値取得部１２０において取得されたソフトランク値は、配置先決定部１３０に出力される構成となっている。なお、ソフトランク値取得部１２０は、「第２取得手段」の一具体例であり、ソフトランク値は、「第２ランク値」の一具体例である。ソフトランク値については後に詳述する。
【００３４】
配置先決定部１３０は、ＥＣＵ２００に配置すべきソフトウェアの配置先を決定することが可能に構成されている。即ち、配置先決定部１３０は、第１ＥＣＵ２１０、第２ＥＣＵ２２０、第３ＥＣＵ２３０、及び第４ＥＣＵ２４０の中から、ソフトウェアを配置すべきＥＣＵ２００（以下、適宜「配置先ＥＣＵ」と称する）を決定する。配置先ＥＣＵの具体的な決定方法については、後に詳述する。配置先ＥＣＵに関する情報は、ソフトウェア配置部１４０に出力される構成となっている。なお、配置先決定部１３０は、「決定手段」の一具体例である。
【００３５】
ソフトウェア配置部１４０は、配置先ＥＣＵにソフトウェアを配置するための書き込み処理を実行可能に構成されている。また、ソフトウェア配置部１４０は、ＥＣＵ２００に配置されているソフトウェアを削除する処理についても実行可能に構成されている。ソフトウェア配置部１４０は、「配置手段」の一具体例である。
【００３６】
第１ＥＣＵ２１０、第２ＥＣＵ２２０、第３ＥＣＵ２３０、及び第４ＥＣＵ２４０は、ゲートウェイによって互いに接続されている。また、第１ＥＣＵ２１０、第２ＥＣＵ２２０、第３ＥＣＵ２３０、及び第４ＥＣＵ２４０の各々は、ゲートウェイによって統合制御部１００に接続されている。即ち、統合制御部１００と各ＥＣＵ２００は、ゲートウェイを介して相互に通信可能に構成されている。ＥＣＵ２００は、その内部にソフトウェア（以下、単に「ソフト」と称することがある）が配置されることで、ソフトウェアに応じた処理を実行可能な制御ユニットである。なお、ＥＣＵ２００の数は２つ以上であればよく、本実施形態のように４つに限定されるものではない。
【００３７】
第１アクチュエータドライバ３１０及び第２アクチュエータドライバ３２０は、それぞれ第１アクチュエータ５１０及び第２アクチュエータ５２０を制御可能に構成されたドライバである。第１アクチュエータドライバ３１０は、第１ローカル通信を介して、第１ＥＣＵ２１０及び第２ＥＣＵ２２０と接続されており、これらのＥＣＵ２００からの指令に応じて第１アクチュエータ５１０の動作を制御する。一方、第２アクチュエータドライバ３２０は、第２ローカル通信を介して、第３ＥＣＵ２３０及び第４ＥＣＵ２２０と接続されており、これらのＥＣＵ２００からの指令に応じて第２アクチュエータ５２０の動作を制御する。
【００３８】
第１インテリジェントセンサ４１０及び第２インテリジェントセンサ４２０は、センサと、その信号処理回路とが一体化された集積回路タイプのセンサであり、車両内部又は外部における各種情報を検出することが可能に構成されている。
【００３９】
第１アクチュエータ５１０及び第２アクチュエータ５２０は、車両における機械的な動作を実現可能なものとして構成されている。
【００４０】
＜車両用ソフトウェア割当てシステムの全体動作＞
次に、第１実施形態に係る車両用ソフトウェア割当てシステム１０の全体動作について、図２を参照して説明する。ここに図２は、第１実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図２に示される各処理は、統合制御ＥＣＵ１００において実行されるものである。
【００４１】
図２において、第１実施形態に係る車両用ソフトウェア割当てシステム１０の動作時には、まずＥＣＵ２００へのソフトウェアの配置要求があるか否かが判定される（ステップＳ１０１）。この配置要求は、新規のソフトウェアをインストールする場合の要求だけでなく、既に配置されているソフトウェアを移動させる場合の要求を含むものである。ソフトウェアの配置要求がない場合には（ステップＳ１０１：ＮＯ）、以降の処理は省略され一連の処理が終了することになる。
【００４２】
ソフトウェアの配置要求があった場合には（ステップＳ１０１：ＹＥＳ）、メモリ容量及び処理負荷に余裕のあるＥＣＵ２００が存在しているか否かが判定される（ステップＳ１０２）。具体的には、新たに配置しようとするソフトウェア（以下、適宜「追加ソフトウェア」と称する）を記録するメモリ容量が残されており、且つ追加ソフトウェアを配置しても動作可能な程度に処理負荷に余裕があるＥＣＵ２００が存在しているか否かが判定される。統合制御ＥＣＵ１１０は、例えば自身が管理しているＥＣＵ２００の管理情報に基づいて、上記判定処理を行う。メモリ容量及び処理負荷に余裕のあるＥＣＵ２００が存在していない場合には（ステップＳ１０２：ＮＯ）、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをＥＣＵ２００に配置することはできないと判断され、ソフトウェアがＥＣＵ２００に配置されることなく一連の処理が終了する。
【００４３】
メモリ容量及び処理負荷に余裕のあるＥＣＵ２００が存在している場合には（ステップＳ１０２：ＹＥＳ）、ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在しているか否かが判定される（ステップＳ１０３）。具体的には、ＥＣＵランク値が追加ソフトウェアのソフトランク値とマッチしているＥＣＵ２００が存在しているか否かが判定される。このステップＳ１０３の処理については、後に詳細に説明する。追加ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在していない場合には（ステップＳ１０３：ＮＯ）、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをＥＣＵ２００に配置することはできないと判断され、ソフトウェアがＥＣＵ２００に配置されることなく一連の処理が終了する。
【００４４】
追加ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在している場合には（ステップＳ１０３：ＹＥＳ）、配置先ＥＣＵを決定するための処理が実行される（ステップＳ１０４）。即ち、ステップＳ１０３で判定された追加ソフトウェアを配置するための条件にマッチするＥＣＵ２００の中から、実際に追加ソフトウェアを配置するＥＣＵ２００を決定するための処理が実行される。ステップＳ１０４では、ここまで実行されてきたマッチング処理とは異なる観点でのマッチング処理（具体的には、結合条件に基づいたマッチング処理）が更に実行される。ステップＳ１０４の処理については、後に詳細に説明する。
【００４５】
配置先ＥＣＵが決定されると、追加ソフトウェアを配置先ＥＣＵに配置する処理が実行される（ステップＳ１０５）。以上の処理によって、車両用ソフトウェア割当てシステム１０によるソフトウェアの配置処理が終了する。
【００４６】
＜ランク値に関するマッチング処理＞
次に、図２のステップ１０３の処理（ランク値に関するマッチング処理）について、図３から図５を参照して詳細に説明する。ここに図３は、ソフトランク値とＥＣＵランク値とのマッチング処理の流れを示すフローチャートである。また図４は、ソフトランク値の具体例を示す表であり、図５は、ＥＣＵランク値の具体例を示す表である。
【００４７】
図３において、ステップＳ１０３の処理が開始されると、追加ソフトウェアのソフトランク値に関する判定が実行される（ステップＳ２０１）。ソフトランク値は、例えば以下のように決定される値である。
【００４８】
図４に示すように、ソフトランク値は、ソフトウェアの重要度に応じて決定される。ソフトウェアランク値は、０〜９の１０段階で表される値であり、ソフトウェアの重要度が高いほど大きい値となる。なお、ここでの「重要度」とは、ソフトウェアの実行する制御の重要性を示す値であり、本実施形態ではソフトウェアが正常に動作しなくなった場合に発生し得る不都合の影響度が用いられている。
【００４９】
具体的には、動作不良により重大事故の可能性があるソフトウェアのソフトランク値は“９”である。動作不良により軽少事故の可能性があるソフトウェアのソフトランク値は“８”である。動作不良によりイレギュラーな事態が発生しユーザが不満を感じるソフトウェアのランク値は“７”である。動作不良により車両の走行機能が少なくとも部分的に停止しユーザが不満を感じるソフトウェアのランク値は“６”である。動作不良により車両の走行性能が低下、又は付加機能が停止してユーザが不満を感じるソフトウェアのランク値は“５”である。動作不良により便利機能の不具合が発生する、又は多数のユーザが不快に感じるソフトウェアのランク値は“４”である。動作不良により少数のユーザが不快に感じるソフトウェアのランク値は“３”である。動作不良によりごく少数のユーザが不快に感じるソフトウェアのランク値は“２”である。動作不良による影響が無視できるソフトウェアのランク値は“１”である。動作不良が全ての車両において発生しても構わない程度のソフトウェアのランク値は“０”である。
【００５０】
図３に戻り、ステップＳ２０１の判定では、ソフトランク値に応じて、それ以降に実行される処理が決定される。具体的には、ソフトランク値に応じたＥＣＵランク値のＥＣＵ２００が、メモリ容量及び処理負荷に余裕があるＥＣＵ２００（図２のステップ１０２参照）の中に存在しているか否かが検索される。なお、ＥＣＵランク値は、Ｄ〜Ｓの５段階で表される値であり、ＥＣＵ２００における動作不良の発生確率が高いほど高い値となる。ＥＣＵランク値は、高い方からＤ＞Ｃ＞Ｂ＞Ａ＞Ｓの順であり、Ｄに近いほど動作不良が発生し易く、Ｓに近いほど動作不良が発生し難い。なお、ここでの「動作不良」とは、ＥＣＵ２００が正常に動作を行えない状態を意味しており、完全に動作が停止される場合だけでなく、一部の動作が行えない、或いは動作が遅れる場合等も含まれる。
【００５１】
図５に示すように、ＥＣＵランク値は、各ＥＣＵ２００の車両における配置位置（配置環境）に基づいて決定されればよい。具体的には、エンジンコンパートメント（図中では「エンコパ」と表記）の周辺に配置されるＥＣＵ２００のＥＣＵランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“Ｄ”、それ以外で温度環境が１０５℃以上になり得る場合が“Ｃ”、その他が“Ｂ”となる。キャビンの周辺に配置されるＥＣＵ２００のＥＣＵランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“Ｄ”、それ以外で温度環境が９０℃以上になり得る場合が“Ｂ”、温度環境が７０℃以上、９０℃未満になり得る場合が“Ａ”、その他が“Ｓ”となる。ラゲージの周辺に配置されるＥＣＵ２００のＥＣＵランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“Ｄ”、それ以外で温度環境が９０℃以上になり得る場合が“Ｂ”、温度環境が７０℃以上、９０℃未満になり得る場合が“Ａ”、その他が“Ｓ”となる。
【００５２】
再び図３に戻り、ソフトランク値が０又は１である場合には、ＥＣＵランク値がＤ〜ＳのＥＣＵ２００が存在しているか否かが検索される（ステップＳ２０２）。ソフトランク値が２又は３である場合には、ＥＣＵランク値がＣ〜ＳのＥＣＵ２００が存在しているか否かが検索される（ステップＳ２０３）。ソフトランク値が４又は５である場合には、ＥＣＵランク値がＢ〜ＳのＥＣＵ２００が存在しているか否かが検索される（ステップＳ２０４）。ソフトランク値が６又は７である場合には、ＥＣＵランク値がＡ〜ＳのＥＣＵ２００が存在しているか否かが検索される（ステップＳ２０５）。ソフトランク値が８又は９である場合には、ＥＣＵランク値がＳのＥＣＵ２００が存在しているか否かが検索される（ステップＳ２０６）。このように、配置しようとしているソフトウェアのソフトランク値が高いほど、配置先ＥＣＵとしてＥＣＵランク値が高いものが要求される。
【００５３】
上述したステップＳ２０２〜Ｓ２０６の検索処理の結果、ソフトランク値とＥＣＵランク値とがマッチしたＥＣＵ２００が存在していた場合には（ステップＳ２０７：ＹＥＳ）、条件にマッチしたＥＣＵ２００が存在していると判断できるため、ステップＳ１０３の判定結果はＹＥＳとなる。一方で、ソフトランク値とＥＣＵランク値とがマッチしたＥＣＵ２００が存在していない場合には（ステップＳ２０７：ＮＯ）、条件にマッチしたＥＣＵ２００が存在していないと判断できるため、ステップＳ１０３の判定結果はＮＯとなる。
【００５４】
＜結合条件に関するマッチング処理＞
次に、図２のステップＳ１０４の処理（結合条件に関するマッチング処理）について、図６を参照して説明する。ここに図６は、ソフトウェアの結合条件に関するマッチング処理の流れを示すフローチャートである。
【００５５】
図６において、ステップＳ１０４の処理が開始されると、追加ソフトウェアに結合条件があるか否かが判定される（ステップＳ３０１）。なお、ここでの「結合条件」とは、追加ソフトによって制御される車両の各部との関係や、各ＥＣＵ２００に既に配置されている他のソフトウェアとの関係、各ＥＣＵ２００の動作条件との関係で、適切な制御を行うために、追加ソフトウェアの配置位置に課される条件である。なお、追加ソフトウェアに結合条件が存在しない場合には（ステップＳ３０１：ＮＯ）、ステップＳ１０３でソフトランク値とＥＣＵランク値とがマッチしていると判定されたＥＣＵの中から配置先ＥＣＵが決定されればよい（ステップＳ３０４）。
【００５６】
追加ソフトウェアに結合条件が存在している場合には（ステップＳ３０１：ＹＥＳ）、結合条件にマッチしたＥＣＵ２００を選定するための結合条件マッチング処理が実行される（ステップＳ３０２）。本実施形態に係る結合条件マッチング処理では、応答性条件、通信速度条件及び電源タイミング条件に関するマッチング処理が実行される。
【００５７】
応答性条件に関するマッチング処理では、追加ソフトウェアと、追加ソフトウェアによって制御される部位（例えば、第１アクチュエータ３１０及び第２アクチュエータドライバ３２０、並びに第１インテリジェントセンサ４１０及び第２インテリジェントセンサ４２０等）との間に要求される応答性を満たすことができるＥＣＵ２００が、ステップＳ１０３でソフトランク値とＥＣＵランク値とがマッチしていると判定されたＥＣＵ２００の中に存在しているか否かが判定される。
【００５８】
通信速度条件に関するマッチング処理では、追加ソフトウェアと、各ＥＣＵ２００に既に配置されている他のソフトウェアとの間に要求される通信速度を満たすことができるＥＣＵ２００が、ステップＳ１０３でソフトランク値とＥＣＵランク値とがマッチしていると判定されたＥＣＵ２００の中に存在しているか否かが判定される。
【００５９】
電源タイミング条件に関するマッチング処理では、追加ソフトウェアに要求される電源タイミング（即ち、ソフトウェアによる処理を実行するために電力供給が要求されるタイミング）を満足させるＥＣＵ２００が、ステップＳ１０３でソフトランク値とＥＣＵランク値とがマッチしていると判定されたＥＣＵ２００の中に存在しているか否かが判定される。
【００６０】
各条件に関するマッチング処理が終了すると、条件にマッチすると判定されたＥＣＵ２００が配置先ＥＣＵとして決定される（ステップＳ３０３）。なお、条件が複数存在している場合には、その全てにマッチするＥＣＵ２００が配置先ＥＣＵとして決定されることが好ましい。また、条件を満足させるＥＣＵ２００が存在しない場合には、マッチ度合い（即ち、どの程度条件を満たしているかを示す値）が最も高いＥＣＵ２００が配置先ＥＣＵとして決定されればよい。
【００６１】
以下では、上述した各種条件に基づくマッチング処理について、図７から図９を参照して具体的に説明する。ここに図７は、応答性条件に関するマッチング処理の一例を示す概念図であり、図８は、通信速度条件に関するマッチング処理の一例を示す概念図である。また図９は、電源タイミング条件に関するマッチング処理の一例を示す概念図である。なお、以下に示す例では第１ＥＣＵ２１０、第２ＥＣＵ２２０、第３ＥＣＵ２３０、及び第４ＥＣＵ２４０の全てが、上述したステップＳ１０３の処理においてランク値がマッチしたと判定されているものとする。
【００６２】
図７では、第１ＥＣＵ２１０にはソフトＡ及びソフトＢが既に配置されており、第２ＥＣＵ２２０にはソフトＣ及びソフトＤが既に配置されており、第３ＥＣＵ２３０にはソフトＥ及びソフトＦが既に配置されており、第４ＥＣＵ２４０にはソフトＧ及びソフトＨが既に配置されている前提で、新たなソフトＩを配置しようとする場合について考える。なお、ソフトＩは、第１インテリジェントセンサ４１０に関する処理を実行するためのソフトウェアであり、第１インテリジェントセンサ４１０との間に高い応答性が要求されるものである。ここでの第１インテリジェントセンサ４１０は、「被制御部」の一具体例である。
【００６３】
この場合、ソフトＩの配置先ＥＣＵが第１ＥＣＵ２１０又は第２ＥＣＵ２２０であれば、第１ローカル通信を介して第１インテリジェントセンサ４１０と通信できる。一方で、ソフトＩの配置先ＥＣＵが第３ＥＣＵ２３０又は第４ＥＣＵ２４０であれば、第１ローカル通信だけでなくゲートウェイを介さなければ、第１インテリジェントセンサ４１０と通信できない。ゲートウェイを介する通信を要する場合、第１ローカル通信だけで通信できる場合と比べると応答性は低下する。
【００６４】
ソフトＩに要求される応答性が、ローカル通信だけで通信可能な状況に相当する応答性である場合、応答性条件を満たすＥＣＵ２００は、第１ＥＣＵ２１０及び第２ＥＣＵ２２０であり、第３ＥＣＵ２３０及び第４ＥＣＵ２４０は応答性条件を満たさない。よって、この場合には、第１ＥＣＵ２１０又は第２ＥＣＵ２２０がソフトＩの配置先ＥＣＵとして選択される。
【００６５】
図８では、図７に示した例と同様の前提で、新たなソフトＪを配置しょうとする場合について考える。ここで特に、ソフトＪは、第４ＥＣＵに配置されているソフトＧと連携して処理を実行するソフトである。このため、ソフトＪには、ソフトＧと高速通信可能である（即ち、プロセス間通信が高速に行える）という条件が課される。なお、ソフトＧは「既存ソフトウェア」の一具体例である。
【００６６】
この場合、ソフトＪの配置先ＥＣＵが第４ＥＣＵ２４０であれば、同一ＥＣＵ内で通信を行うことができる。一方で、ソフトＪの配置先ＥＣＵが第３ＥＣＵ２３０であれば、第２ローカル通信を介して通信を行うことになり、ソフトＪの配置先ＥＣＵが第１ＥＣＵ２１０又は第２ＥＣＵ２２０であれば、ゲートウェイを介して通信を行うことになる。ソフト間の通信速度は、同一ＥＣＵ内に配置されている場合が最も早く、第２ローカル通信やゲートウェイを介して通信を行う場合には遅くなる。
【００６７】
ソフトＪに要求される通信速度が、同一ＥＣＵ内での通信速度に相当するものである場合、通信速度条件を満たすＥＣＵ２００は、第４ＥＣＵ２４０のみであり、他の第１ＥＣＵ２１０、第２ＥＣＵ２２０、及び第３ＥＣＵ２３０は通信速度条件を満たさない。よって、この場合には、第４ＥＣＵ２４０がソフトＪの配置先ＥＣＵ選択される。
【００６８】
図９では、図７及び図８に示した例と同様の前提で、新たなソフトＫを配置しょうとする場合について考える。ここで特に、ソフトＫは、電源タイミングとしてＡＣＣ系電源であることが要求されるものである。即ち、ソフトＫは、ＡＣＣオン時に電力供給が要求されるソフトウェアである。
【００６９】
ここで、第１ＥＣＵ２１０及び第４ＥＣＵ２４０は、常時電源系の（即ち、常時電力供給が可能な）ＥＣＵ２００である。第２ＥＣＵ２２０は、ＡＣＣ電源系の（即ち、ＡＣＣオンの場合に電力供給が可能な）ＥＣＵ２００である。第２ＥＣＵ２３０は、ＩＧ電源系の（即ち、ＩＧオンの場合に電力供給が可能な）ＥＣＵ２００である。
【００７０】
ソフトＫに要求される電源タイミングはＡＣＣ電源系であるので、ＡＣＣ電源系である第２ＥＣＵ２２０は、電源タイミングに関する条件を満たすＥＣＵ２００である。また、常時電源系である第１ＥＣＵ２１０及び第２ＥＣＵ２２０についても、電源タイミングに関する条件は満たされる。一方で、ＩＧ電源系である第３ＥＣＵ２３０は、電源タイミング条件を満たすことはできない。よって、この場合には、第１ＥＣＵ２１０、第２ＥＣＵ２２０又は第４ＥＣＵ２４０がソフトＫの配置先ＥＣＵとして選択される。
【００７１】
＜実施形態の効果＞
次に、第１実施形態に係る車両用ソフトウェア割当てシステム１０によって得られる有益な技術的効果について説明する。
【００７２】
図１から図９で説明したように、第１実施形態に係る車両用ソフトウェア割当てシステム１０によれば、メモリ容量及び処理負荷に関する条件だけでなく、ランク値に関するマッチング、及び結合条件に関するマッチングに基づいて、配置先ＥＣＵが決定される。このため、複数のＥＣＵ２００に対して、好適にソフトウェアを配置することができる。
【００７３】
具体的には、ランク値に関するマッチング処理を行うことで、重要度の高いソフトウェアが動作不良の発生し易いＥＣＵ２００に配置されてしまうことを防止できる。これにより、車両の頑健性を向上させることができる。また、結合条件に関するマッチング処理を行うことで、配置されたソフトウェアが適切な動作を行えないという状況を回避できる。
【００７４】
なお、第１実施形態では、追加ソフトウェアのソフトランク値と、すでにＥＣＵ２００に配置されている配置済ソフトウェアのソフトランク値との比較は行われない。よって、追加ソフトウェアのソフトランク値が配置済ソフトウェアのソフトランク値よりも高い場合であっても、配置済みソフトウェアが配置されているＥＣＵ２００よりもＥＣＵランク値の高い（動作不良が発生し易い）ＥＣＵ２００に追加ソフトウェアが配置され得る。このような場合であっても、新しいソフトウェアを配置可能なＥＣＵ２００のうち、よりＥＣＵランク値が低い（動作不良が発生し難い）ＥＣＵ２００に追加ソフトウェアが配置されることで、上述した技術的効果は発揮される。
【００７５】
＜第２実施形態＞
次に、第２実施形態に係る車両用ソフトウェア割当てシステムについて説明する。なお、第２実施形態は、既に説明した第１実施形態と一部の動作が異なるのみであり、システム構成や、その他の多くの部分は概ね同様である。このため、以下では第１実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略するものとする。
【００７６】
＜車両用ソフトウェア割当てシステムの全体動作＞
まず、第２実施形態に係る車両用ソフトウェア割当てシステム１０の全体動作について、図１０を参照して説明する。ここに図１０は、第２実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図１０では、図２で説明したものと同様の処理に同一の符号を付し、その詳細な説明については適宜省略するものとする。
【００７７】
図１０において、第２実施形態に係る車両用ソフトウェア割当てシステム１０の動作時には、まずＥＣＵ２００へのソフトウェアの配置要求があるか否かが判定される（ステップＳ１０１）。ソフトウェアの配置要求がない場合には（ステップＳ１０１：ＮＯ）、以降の処理は省略され一連の処理が終了することになる。
【００７８】
ソフトウェアの配置要求があった場合には（ステップＳ１０１：ＹＥＳ）、ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在しているか否かが判定される（ステップＳ１０３）。即ち、図３で説明したランク値に関するマッチング処理が実行される。なお、ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在していない場合には（ステップＳ１０３：ＮＯ）、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをＥＣＵ２００に配置することはできないと判断され、ソフトウェアがＥＣＵ２００に配置されることなく一連の処理が終了する。
【００７９】
上述した動作からも分かるように、第２実施形態では、第１実施形態におけるステップＳ１０２（図２参照）が省略される。つまり、この段階では、メモリ容量及び処理負荷に余裕のあるＥＣＵ２００が存在しているか否かは判定されない。
【００８０】
追加ソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在している場合には（ステップＳ１０３：ＹＥＳ）、配置先ＥＣＵを決定するための処理が実行される（ステップＳ１０４）。即ち、図６で説明した結合条件に関するマッチング処理が実行される。
【００８１】
配置先ＥＣＵが決定されると、配置先ＥＣＵにソフトウェアを配置可能であるか否かが判定される（ステップＳ４０１）。ステップＳ４０１の処理は、メモリ容量及び処理負荷に関する判定（即ち、ステップＳ１０２と同様の処理）を含む処理である。なお、ステップＳ４０１の具体的な処理内容については、後に詳細に説明する。
【００８２】
配置先ＥＣＵにソフトウェアを配置可能でないと判定された場合には（ステップＳ４０１：ＮＯ）、再びステップＳ１０４の処理が実行され、新たな配置先ＥＣＵが決定される。ただし、２回目以降のＳ１０４実行時の新たな配置先ＥＣＵの候補からは、ステップＳ４０１でソフトウェアを配置可能でないと判定されたＥＣＵ２００が除かれる。なお、全てのＥＣＵ２００についてソフトウェアを配置可能でないと判定された場合には、ステップＳ１０４以降の処理を繰り返さずに一連の処理を終了する例外的な処理が行われてもよい。
【００８３】
配置先ＥＣＵにソフトウェアを配置可能であると判定された場合には（ステップＳ４０１：ＹＥＳ）、追加ソフトウェアを配置先ＥＣＵに配置する処理が実行される（ステップＳ１０５）。以上の処理によって、車両用ソフトウェア割当てシステム１０によるソフトウェアの配置処理が終了する。
【００８４】
＜ソフトウェアの配置可能判定処理＞
次に、第２実施形態に特有の処理であるステップＳ４０１の処理（ソフトウェアの配置可能判定処理）について、図１１を参照して説明する。ここに図１１は、ソフトウェアの配置可能判定処理の流れを示すフローチャートである。
【００８５】
図１１において、ソフトウェアの配置可能判定処理では、配置先ＥＣＵのメモリ容量及び処理負荷について、追加ソフトウェアを配置する余裕があるか否かが判定される（ステップＳ５０１）。即ち、第１実施形態のステップＳ１０２（図２参照）と同様の処理が、配置先ＥＣＵに対してのみ実行される。なお、配置先ＥＣＵに追加ソフトウェアを配置する余裕があると判定された場合には（ステップＳ５０１：ＹＥＳ）、以降の処理は省略され、ステップＳ４０１の判定結果はＹＥＳとなる。配置先ＥＣＵに追加ソフトウェアを配置する余裕があれば、問題なく追加ソフトウェアを配置することができるからである。
【００８６】
配置先ＥＣＵに追加ソフトウェアを配置する余裕がないと判定された場合には（ステップＳ５０１：ＮＯ）、配置先ＥＣＵに追加ソフトウェアよりもソフトランク値の低い（即ち、重要度の低い）低ランクソフトウェアが存在しているか否かが判定される（ステップＳ５０２）。配置先ＥＣＵに低ランクソフトウェアが存在していない場合には（ステップＳ５０２：ＮＯ）、配置先ＥＣＵに追加ソフトウェアを配置することはできないと判断され、ステップＳ４０１の判定結果はＮＯとなる。
【００８７】
配置先ＥＣＵに低ランクソフトウェアが存在している場合には（ステップＳ５０２：ＹＥＳ）、配置先ＥＣＵから低ランクソフトウェアを削除することで、追加ソフトウェアが配置可能になるか否かが判定される（ステップＳ５０３）。即ち、低ランクソフトウェアの削除によって、配置先ＥＣＵのメモリ容量及び処理負荷に余裕を確保できるか否かが判定される。なお、配置先ＥＣＵに低ランクソフトウェアが複数存在している場合には、それらの全てを削除することで、追加ソフトウェアが配置可能になるか否かが判定されればよい。低ランクソフトウェアを削除しても追加ソフトウェアを配置可能にはならないと判定された場合（ステップＳ５０３：ＮＯ）、配置先ＥＣＵに追加ソフトウェアを配置することはできないと判断され、ステップＳ４０１の判定結果はＮＯとなる。
【００８８】
低ランクソフトウェアを削除すれば追加ソフトウェアを配置可能になると判定された場合（ステップＳ５０３：ＹＥＳ）、低ランクソフトウェアの移動先となるＥＣＵ２００が存在するか否かが判定される（ステップＳ５０４）。即ち、低ランクソフトウェアを再配置可能な他のＥＣＵ２００が存在するか否かが判定される。なお、ステップＳ５０４の処理では、低ランクソフトウェアを追加ソフトウェアとして、配置先ＥＣＵを決定する処理（即ち、図２のステップＳ１０１〜Ｓ１０４の処理、或いは図１０のステップＳ１０１からＳ４０１の処理）を行えばよい。低ランクソフトウェアの移動先が存在しないと判定された場合（ステップＳ５０４：ＮＯ）、配置先ＥＣＵに追加ソフトウェアを配置することはできないと判断され、ステップＳ４０１の判定結果はＮＯとなる。
【００８９】
低ランクソフトウェアの移動先が存在すると判定された場合には（ステップＳ５０４：ＹＥＳ）、低ランクソフトウェアの移動（即ち、再配置）が実行される（ステップＳ５０５）。これにより、配置先ＥＣＵに追加ソフトウェアを配置する余裕が確保されることになるので、ステップＳ４０１の判定結果はＹＥＳとなる。
【００９０】
＜実施形態の効果＞
次に、第２実施形態に係る車両用ソフトウェア割当てシステム１０によって得られる有益な技術的効果について説明する。
【００９１】
図１０及び図１１を参照して説明したように、第２実施形態に係る車両用ソフトウェア割当てシステム１０によれば、配置先ＥＣＵに追加ソフトウェアを配置する余裕がない場合であっても、低ランクソフトウェアの再配置が可能であれば、それにより追加ソフトウェアを配置する余裕が確保される。よって、追加ソフトウェアをより適切なＥＣＵ２００に配置することが可能となる。
【００９２】
なお、低ランクソフトウェアは、追加ソフトウェアよりもソフトランク値が低い（即ち、重要度が低い）ソフトウェアであるため、他のＥＣＵ２００に再配置した場合であっても不都合は発生しない。より正確には、追加ソフトウェアを配置先ＥＣＵに配置できないことによる不都合よりも、低ランクソフトウェアを再配置したことによる不都合の方が、システム全体で見た場合の悪影響が少ない。
【００９３】
以上のように、第２実施形態に係る車両用ソフトウェア割当てシステム１０によれば、第１実施形態と比べて、より好適にソフトウェアを配置することが可能である。
【００９４】
＜第３実施形態＞
次に、第３実施形態に係る車両用ソフトウェア割当てシステムについて説明する。なお、第３実施形態は、既に説明した第１及び第２実施形態と一部の動作が異なるのみであり、システム構成や、その他の多くの部分は概ね同様である。このため、以下では第１又は第２実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略するものとする。
【００９５】
＜車両用ソフトウェア割当てシステムの全体動作＞
第３実施形態に係る車両用ソフトウェア割当てシステム１０の全体動作について、図１２を参照して説明する。ここに図１２は、第３実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図１２に示される各処理は、統合制御ＥＣＵ１００において実行されるものである。
【００９６】
図１２において、第３実施形態に係る車両用ソフトウェア割当てシステム１０の動作時には、いずれかのＥＣＵ２００に故障が発生しているか否かが判定される（ステップＳ６０１）。なお、ここでの「故障」とは、ＥＣＵ２００に配置されているソフトウェアが正常に機能できなくなる程度の故障を意味している。ＥＣＵ２００に故障が発生していない場合（ステップＳ６０１：ＮＯ）、以降の処理は省略され、一連の処理が終了することになる。
【００９７】
ＥＣＵ２００に故障が発生すると、そのままではＥＣＵ２００に配置されたソフトウェアが正常に機能しない。この場合、故障したＥＣＵ２００に配置されていたソフトウェアを他のＥＣＵ２００（即ち、故障していないＥＣＵ２００）にコピーすれば、正常に機能させることが可能となる。第３実施形態では、このコピーすべきソフトウェアについて、ステップＳ６０２以降の処理を実行していく。なお、故障したＥＣＵ２００に複数のソフトウェアが存在している場合には、複数のソフトウェアの各々について、ステップＳ６０２以降の処理が実行されればよい。
【００９８】
ＥＣＵ２００に故障が発生している場合には（ステップＳ６０１：ＹＥＳ）、コピーすべきソフトウェア（以下、適宜「コピーソフトウェア」と称する）をコピー可能な余裕のあるＥＣＵ２００が存在しているか否かが判定される（ステップＳ６０２）。即ち、第１実施形態のステップＳ１０２（図２参照）と同様に、メモリ容量及び処理負荷に余裕のあるＥＣＵ２００が存在しているか否かが判定される。なお、コピーソフトウェアをコピー可能なＥＣＵ２００が存在していると判定された場合（ステップＳ６０２：ＹＥＳ）、その余裕のあるＥＣＵ２００に対してコピーソフトウェアのコピーが実施される（ステップＳ６０９）。
【００９９】
コピーソフトウェアをコピー可能なＥＣＵ２００が存在していないと判定された場合（ステップＳ６０２：ＮＯ）、コピーソフトウェアのソフトランク値が２以上であるか否かが判定される（ステップＳ６０３）。そして、コピーソフトウェアのソフトランク値が２未満であると判定された場合（ステップＳ６０３：ＮＯ）、コピーソフトウェアのコピーは実施しないと判断される（ステップＳ６１０）。即ち、ソフトランク値が極めて低いので、コピーソフトウェアをコピーしなくとも（即ち、正常に機能させなくとも）、不都合は生じないと判断される。
【０１００】
コピーソフトウェアのソフトランク値が２以上であると判定された場合（ステップＳ６０３：ＹＥＳ）、コピーソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在しているか否かが判定される（ステップＳ６０４）。即ち、第１実施形態のステップＳ１０３の処理（図３参照）と同様にランク値に関するマッチング処理が実行される。また、ランク値に関するマッチング処理に加えて、図６で説明したような結合条件に関するマッチング処理が行われてもよい。コピーソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在していない場合には（ステップＳ６０４：ＮＯ）、コピーソフトウェアを配置できるＥＣＵ２００は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される（ステップＳ６１０）。
【０１０１】
コピーソフトウェアを配置するための条件にマッチするＥＣＵ２００が存在している場合には（ステップＳ６０４：ＹＥＳ）、条件にマッチするＥＣＵ２００のいずれかに、コピーソフトウェアよりもソフトランク値の低い低ランクソフトウェアが存在しているか否かが判定される（ステップＳ６０５）。条件にマッチするＥＣＵ２００に低ランクソフトウェアが存在していない場合には（ステップＳ６０５：ＮＯ）、コピーソフトウェアを配置できるＥＣＵ２００は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される（ステップＳ６１０）。
【０１０２】
条件にマッチするＥＣＵ２００に低ランクソフトウェアが存在している場合には（ステップＳ６０５：ＹＥＳ）、条件にマッチするＥＣＵ２００から低ランクソフトウェアを削除することで、コピーソフトウェアが配置可能になるか否かが判定される（ステップＳ６０６）。即ち、低ランクソフトウェアの削除によって、条件にマッチするＥＣＵ２００のメモリ容量及び処理負荷に余裕を確保できるか否かが判定される。なお、条件にマッチするＥＣＵ２００に低ランクソフトウェアが複数存在している場合には、それらの全てを削除することで、コピーソフトウェアが配置可能になるか否かが判定されればよい。低ランクソフトウェアを削除してもコピーソフトウェアを配置可能にはならないと判定された場合（ステップＳ６０６：ＮＯ）、コピーソフトウェアを配置できるＥＣＵ２００は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される（ステップＳ６１０）。
【０１０３】
低ランクソフトウェアを削除すればコピーソフトウェアを配置可能になると判定された場合（ステップＳ６０６：ＹＥＳ）、低ランクソフトウェアの削除にシステムのユーザが合意しているか否かが判定される（ステップＳ６０７）。この合意確認は、この時点で行われるものであってもよいし、事前に（例えば配置時に）行われたものであってもよい。低ランクソフトウェアの削除にシステムのユーザが合意していない場合（ステップＳ６０７：ＮＯ）、コピーソフトウェアを配置できるＥＣＵ２００は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される（ステップＳ６１０）。
【０１０４】
低ランクソフトウェアの削除にシステムのユーザが合意している場合（ステップＳ６０７：ＹＥＳ）、低ランクソフトウェアの削除が実行される（ステップＳ６０８）。なお、削除された低ランクソフトウェアについては、第２実施形態で説明したように、他のＥＣＵ２００に再配置されても構わない。低ランクソフトウェアの削除が完了すると、削除後のＥＣＵ２００に、コピーソフトウェアのコピーが実施される（ステップＳ６０９）。
【０１０５】
コピーソフトウェアのコピーを実施後、或いはコピーを実施しないと判断された後には、全てのコピーソフトウェア（即ち、故障したＥＣＵ２００に配置されていた全てのソフトウェア）について、上記ステップＳ６０２以降の処理が完了しているか否かが判定される（ステップＳ６１１）。全てのコピーソフトウェアについてステップＳ６０２以降の処理が完了していない場合（ステップＳ６１１：ＮＯ）、他の完了していないソフトウェアについて、ステップＳ６０２以降の処理が実行される。全てのコピーソフトウェアについてステップＳ６０２以降の処理が完了している場合（ステップＳ６１１：ＹＥＳ）、第３実施形態に係る車両用ソフトウェア割当てシステム１０による一連の処理は終了する。
【０１０６】
＜実施形態の効果＞
最後に、第３実施形態に係る車両用ソフトウェア割当てシステム１０によって得られる有益な技術的効果について説明する。
【０１０７】
図１２を参照して説明したように、第３実施形態に係る車両用ソフトウェア割当てシステム１０によれば、ＥＣＵ２００に故障が発生し、ソフトウェアの機能を正常に発揮できなくなった場合であっても、故障したＥＣＵ２００に配置されているソフトウェアを他の正常なＥＣＵ２００にコピーすることで、正常な機能を取り戻すことが可能である。
【０１０８】
また、故障したＥＣＵ２００に配置されているソフトウェアをコピーする際には、第１実施形態及び第２実施形態と同様に、各種条件にマッチングしているＥＣＵ２００であるか否かが判定される。このため、不適切なＥＣＵ２００にソフトウェアがコピーされてしまうことを防止できる。更に、第２実施形態と同様に、低ランクソフトウェアが削除できるか否かも判定されるため、より適切なＥＣＵにソフトウェアをコピーすることが可能である。
【０１０９】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う車両用ソフトウェア割当てシステムもまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【０１１０】
１０  車両用ソフトウェア割当てシステム
１００  統合制御ＥＣＵ
１１０  ＥＣＵランク値取得部
１２０  ソフトランク値取得部
１３０  配置先決定部
１４０  ソフトウェア配置部
２１０  第１ＥＣＵ
２２０  第２ＥＣＵ
２３０  第３ＥＣＵ
２４０  第４ＥＣＵ
３１０  第１アクチュエータドライバ
３２０  第２アクチュエータドライバ
４１０  第１インテリジェントセンサ
４２０  第２インテリジェントセンサ
５１０  第１アクチュエータ
５２０  第２アクチュエータ
【図１】
0006443372.tif 000002
【図２】
0006443372.tif 000003
【図３】
0006443372.tif 000004
【図４】
0006443372.tif 000005
【図５】
0006443372.tif 000006
【図６】
0006443372.tif 000007
【図７】
0006443372.tif 000008
【図８】
0006443372.tif 000009
【図９】
0006443372.tif 000010
【図１０】
0006443372.tif 000011
【図１１】
0006443372.tif 000012
【図１２】
0006443372.tif 000013