(57)【要約】【課題】ＥＣＵのプログラムのバージョンアップを行う際、バスで接続された他のＥＣＵのプログラムとバージョンの不整合によるＥＣＵの動作不良の発生を未然に防止するシステムを提供する。【解決手段】複数の前記電子制御ユニットにバスを介して接続され、前記電子制御ユニットに搭載されている現プログラムから更新されるバージョンアッププログラムを保有するサーバを備え、前記電子制御ユニットのいずれか１つ又は前記サーバは、現プログラムとバージョンアッププログラム間の依存関係情報を保有する依存情報管理部と、前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、前記更新判断処理部は、更新可と判断する場合に前記サーバに保有している前記バージョンアッププログラムを前記電子制御ユニットに送信させている。【選択図】図１
2009053920.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される電子制御ユニットのプログラムのバージョンアップを管理する車載用電子制御ユニットのプログラム管理システムであって、
複数の前記電子制御ユニットにバスを介して接続され、前記電子制御ユニットに搭載されている現プログラムから更新されるバージョンアッププログラムを保有するサーバを備え、
前記電子制御ユニットのいずれか１つ又は前記サーバは、現プログラムとバージョンアッププログラム間の依存関係情報を保有する依存情報管理部と、前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記更新判断処理部は、更新可と判断する場合に前記サーバに保有している前記バージョンアッププログラムを前記電子制御ユニットに送信させる車載用電子制御ユニットのプログラム管理システム。
【請求項２】
前記依存情報管理部または更新判断処理部を有する電子制御ユニットまたは前記サーバは、前記バスで接続された前記複数の電子制御ユニットの現プログラムのバージョンを予め記憶しているバージョン管理部または、前記電子制御ユニットへ現プログラムのバージョンを問い合わせるバージョン問い合わせ部を備えている請求項１に記載の車載用電子制御ユニットのプログラム管理システム。
【請求項３】
前記サーバは、保有する前記バージョンアッププログラムまたは／およびプログラム間の依存関係情報を、無線を介して外部サーバから受信している請求項１または請求項２に記載の車載用電子制御ユニットのプログラム管理システム。
【請求項４】
前記サーバは、前記バスを介して前記電子制御ユニットと接続されたダイアグノーシス内に収容されたサーバからなる請求項１乃至請求項３のいずれか１項に記載の車載用電子制御ユニットのプログラム管理システム。
【請求項５】
前記各電子制御ユニットは、バージョンアップ前の現プログラムを旧プログラムとして記憶するプログラムバックアップ領域を備えた請求項１乃至請求項４のいずれか１項に記載の車載用電子制御ユニットのプログラム管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用電子制御ユニットのプログラム管理システムに関し、詳しくは、電子制御ユニットに組み込まれたプログラムのバージョンアップを行う場合に、他の電子制御ユニットのプログラムのバージョンとの不整合による電子制御ユニットの動作不良の発生を未然に防ぐものである。
【背景技術】
【０００２】
従来より、車両には車載機器を制御する複数の電子制御ユニット（ＥＣＵ）が搭載されており、該複数のＥＣＵを多重通信用のバスを介して接続し、相互に通信を行う車載用通信システムが採用されている。
各ＥＣＵには他のＥＣＵとデータ通信を行って車載機器を動作させるためのプログラムが組み込まれている。該プログラムは車載機器の製造会社等によりしばしばバージョンアップされるため、ディーラー等で各ＥＣＵのプログラムをバージョンアッププログラムに更新する。
【０００３】
これら各ＥＣＵに組み込まれたプログラムは、プログラムのバージョンによって起動タイミングや通信タイミングが異なっている。従って、車両の出荷後に特定のＥＣＵのプログラムがバージョンアッププログラムに更新された場合、他のＥＣＵのプログラムとのバージョンの不整合により、該ＥＣＵは、他のＥＣＵとの通信に異常が発生したり車載機器を動作させることができないなどの動作不良を起こす恐れがある。
【０００４】
このため、例えば特開２０００−２０７６８１号公報（特許文献１）においては、各ＥＣＵはプログラムのバックアップ領域を備えており、バージョンアッププログラムへの更新を行う前に、現プログラムを旧プログラムとしてバックアップ領域に保存する方法が提案されている。バージョンアップログラムへの更新後にＥＣＵに動作不良が発生した場合にはバックアップ領域に保存した旧プログラムを使用することにより、ＥＣＵを正常に動作していた更新前の状態に戻している。
【０００５】
【特許文献１】特開２０００−２０７６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１においては、ＥＣＵのプログラムをバージョンアッププログラムへの更新前の状態に戻すことはできるが、他のＥＣＵのプログラムとのバージョンの不整合によるＥＣＵの動作不良を防止することはできないという問題がある。
また、バージョンアップしたプログラムと整合しないプログラムを有する他のＥＣＵを特定することはできず、該ＥＣＵの動作不良の原因を特定できないという問題がある。
【０００７】
本発明は、前記問題に鑑みてなされたもので、ＥＣＵのプログラムをバージョンアッププログラムに更新する場合に、他のＥＣＵのプログラムのバージョンとの不整合による該ＥＣＵの動作不良の発生を防ぐことを課題としている。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、車両に搭載される電子制御ユニットのプログラムのバージョンアップを管理する車載用電子制御ユニットのプログラム管理システムであって、
複数の前記電子制御ユニットにバスを介して接続され、前記電子制御ユニットに搭載されている現プログラムから更新されるバージョンアッププログラムを保有するサーバを備え、
前記電子制御ユニットのいずれか１つ又は前記サーバは、現プログラムとバージョンアッププログラム間の依存関係情報を保有する依存情報管理部と、前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記更新判断処理部は、更新可と判断する場合に前記サーバに保有している前記バージョンアッププログラムを前記電子制御ユニットに送信させる車載用電子制御ユニットのプログラム管理システムを提供している。
【０００９】
前記電子制御ユニットのいずれか１つ（以下、管理ＥＣＵと称す）又は前記サーバの更新判断処理部は、依存情報管理部から現プログラムとバージョンアッププログラム間の依存関係情報を読み出し、サーバに保有するバージョンアッププログラムのバージョンと該依存関係情報から所定のＥＣＵへのバージョンアッププログラムへの更新の可否を判断する。
【００１０】
管理ＥＣＵが更新判断処理部を備える場合、更新判断処理部が更新可の判断を行うと該判断結果を管理ＥＣＵからサーバに送信し、サーバはバージョンアッププログラムを所定のＥＣＵへ送信して該ＥＣＵのプログラムをバージョンアッププログラムに更新する。サーバが更新判断処理部を備える場合には、更新判断処理部は更新可の判断を行うと、サーバに備えたバージョンアッププログラムを所定のＥＣＵへ送信する。
更新判断処理部がバージョンアッププログラムへの更新が不可であると判断したときには、サーバはバージョンアッププログラムを所定のＥＣＵへ送信せず、更新を行わない。
【００１１】
このように、更新判断処理部が所定のＥＣＵへのバージョンアッププログラムへの更新の可否を判断し、更新不可である場合にはサーバはバージョンアッププログラムの送信を行わないので、他のＥＣＵのプログラムのバージョンとの不整合によるＥＣＵの動作不良を防止することができる。
【００１２】
詳細には、依存関係情報には、バージョンアッププログラムを所定のＥＣＵに組み込む場合の該バージョンアッププログラムのバージョンと、該バージョンアッププログラムのバージョンと不整合とならない他のＥＣＵのプログラムのバージョンとが記載されている。
所定のＥＣＵのプログラムをサーバの保有するバージョンアッププログラムへ更新する場合に、更新判断処理部は、予め備えた他のＥＣＵの現プログラムのバージョンを、該依存関係情報のバージョンアッププログラムのバージョンと不整合とならない他のＥＣＵのプログラムのバージョンと比較し、他のＥＣＵの現プログラムが、依存関係情報に記載された他のＥＣＵのプログラムのバージョンを満たしている、即ちバージョンアッププログラムと他のＥＣＵの現プログラムが整合していれば、所定のＥＣＵへのバージョンアッププログラムへの更新が可であると判断する。一方、バージョンアッププログラムと他のＥＣＵの現プログラムが不整合であれば、更新不可であると判断する。
このため、更新判断処理部は、バージョンアッププログラムと整合しないプログラムを有する他のＥＣＵを特定することができる。
【００１３】
前記依存情報管理部または更新判断処理部を有する電子制御ユニットまたは前記サーバは、前記バスで接続された前記複数の電子制御ユニットの現プログラムのバージョンを予め記憶しているバージョン管理部または、前記電子制御ユニットへ現プログラムのバージョンを問い合わせるバージョン問い合わせ部を備えている。
【００１４】
管理ＥＣＵ又はサーバがバージョン管理部を備えている場合には、複数のＥＣＵの現プログラムのバージョンを予め記憶しているので、更新判断処理部は該記憶された現プログラムのバージョンを用いてバージョンアッププログラムへの更新の可否を高速に判断することができる。
【００１５】
また、管理ＥＣＵ又はサーバがバージョン管理部を備えているので、少なくともバージョンアッププログラムを更新すべきＥＣＵのみ本発明のプログラム管理システムに対応させておけば、他のＥＣＵの動作不良を起こすことなく本発明のプログラム管理システムを用いてバージョンアッププログラムを更新することができる。すなわち、バージョンアッププログラムと不整合となる可能性のある現プログラムを備えたＥＣＵが本発明のプログラム管理システムに対応していない場合であっても、更新判断処理部はバージョン管理部
に記憶された現プログラムのバージョンを用いてバージョンアッププログラムへの更新の可否を判断することができ、更新可の場合には該当するＥＣＵにバージョンアッププログラムを更新することができる。
【００１６】
また、管理ＥＣＵ又はサーバがバージョン問い合わせ部を備えている場合、各ＥＣＵにはバージョン応答部を備えている。管理ＥＣＵ又はサーバは該現プログラムのバージョンの上方を予め記憶しているのではなく、バージョンアッププログラムの更新の度に、管理ＥＣＵ又はサーバが各ＥＣＵにプログラムのバージョンを問い合わせて各ＥＣＵのバージョンを取得している。
このため、更新判断処理部は確実に最新のバージョン情報を用いてバージョンアッププログラムへの更新の可否を判断することができる。また、本システム以外の手段でプログラムがバージョンアッププログラムに更新されていた場合であっても、確実に最新のバージョン情報を用いることができる。
さらに、更新判断処理部はバージョンアッププログラムの更新の度に各ＥＣＵの現プログラムのバージョンを取得しているので、管理ＥＣＵ又はサーバには各ＥＣＵの現プログラムのバージョンを予め記憶するバージョン管理部を設ける必要がない。
【００１７】
なお、バージョン応答部を備えたＥＣＵとバージョン応答部を備えていないＥＣＵが混在している場合には、管理ＥＣＵまたはサーバが、バージョン管理部とバージョン問い合わせ部の両方を備えていてもよい。この場合、更新判断処理部は、バージョンアッププログラムの更新の度に、バージョン応答部を備えたＥＣＵにはプログラムのバージョンを問い合わせてバージョンを取得する一方、バージョン応答部を備えていないＥＣＵのプログラムのバージョンをバージョン管理部から取得することができる。
【００１８】
前記サーバは、保有する前記バージョンアッププログラムまたは／およびプログラム間の依存関係情報を、無線を介して外部サーバから受信していてもよい。
プログラム管理システムは、管理ＥＣＵまたはサーバと無線で接続された外部サーバを備えており、バージョンアッププログラムまたは／およびプログラム間の依存関係情報を記憶している。管理ＥＣＵまたはサーバは、プログラム間の依存関係情報を外部サーバから受信して依存情報管理部に記憶すると共に、サーバはバージョンアッププログラムを外部サーバから受信して記憶する。
管理ＥＣＵまたはサーバに備えた更新判断処理部は、外部サーバから受信した依存関係情報及びバージョンアッププログラムを用いて、所定のＥＣＵへのバージョンアッププログラムへの更新の可否を判断する。
【００１９】
このように、バージョンアッププログラムへの更新を行う度に、バージョンアッププログラムまたは／および依存関係情報を外部サーバから受信して用いることで、予めバージョンアッププログラムまたは／および依存関係情報を管理ＥＣＵまたはサーバに記憶するための記憶部を設ける必要がない。
【００２０】
また、外部サーバは、具体的にはＥＣＵで駆動する車載機器の製造会社等に配置されており、製造会社はＥＣＵに組み込むプログラムを提供している。製造会社において、ＥＣＵに組み込まれたプログラムのバージョンアッププログラムが提供されると、該バージョンアッププログラムに関する新たな依存関係情報も併せて提供され、外部サーバに記憶される。
車両の管理ＥＣＵまたはサーバは、無線を介して外部サーバと接続して製造会社から提供されるバージョンアッププログラム又は／および依存関係情報を受信する。
このため、サーバは常に最新のバージョンアッププログラムを受信して所定のＥＣＵに送信することができると共に、管理ＥＣＵまたはサーバの更新判断処理部は常に最新の依存関係情報を用いて更新の可否の判断を行うことができる。
【００２１】
前記サーバは、前記バスを介して前記電子制御ユニットと接続されたダイアグノーシス内に収容されたサーバからなる。
また、前記サーバは、カーナビゲーション、携帯電話、パソコン等の電子機器であってもよい。
【００２２】
前記各電子制御ユニットは、バージョンアップ前の現プログラムを旧プログラムとして記憶するプログラムバックアップ領域を備えていてもよい。
所定のＥＣＵへバージョンアッププログラムを更新する際に、該ＥＣＵは旧プログラムをプログラムバックアップ領域に保存する。バージョンアッププログラムへの更新後、該ＥＣＵが動作不良となった場合には、ダイアグは該ＥＣＵにプログラムバックアップ領域に記憶された旧プログラムを復帰させるよう指示を出す。バージョンアッププログラムに更新する以前は該ＥＣＵは旧プログラムを用いて正常に動作していたため、旧プログラムを復帰させることで、バージョンアッププログラムへの更新により動作不良となったＥＣＵの動作を正常とすることができる。
【００２３】
また、バージョンアッププログラムへの更新後、該ＥＣＵが動作不良となった場合に、更新判断処理部は該バージョンアッププログラムの更新が失敗であると判断し、依存情報管理部の依存関係情報に該バージョンアッププログラムの更新失敗を追加してもよい。
さらに、外部サーバに依存関係情報が記憶されている場合には、外部サーバに該バージョンアッププログラムの更新失敗の情報を提供してもよい。
【００２４】
本発明の車載用電子制御ユニットのプログラム管理システムは、具体的には、下記の第１〜第７の形態に分類することができる。
【００２５】
第１の形態では、複数の前記電子制御ユニットはバスを介して接続され、これら複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部と、プログラム間の依存関係情報を記憶している依存情報管理部とからなるプログラム管理部と、前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記プログラム管理部を備えた前記電子制御ユニットは、バージョンアッププログラムを含むプログラムを保持するプログラム保持部を有するダイアグノーシス（以下ダイアグと称す）と前記バスで接続され、
前記プログラム管理部を有する電子制御ユニットの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可である場合には、前記ダイアグが前記バージョンアッププログラムを前記電子制御ユニットに送信している。
【００２６】
第２の形態では、複数の前記電子制御ユニットはバスを介して接続され、これら複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部を備え、前記バージョン管理部を有する電子制御ユニットは、バージョンアッププログラムを含むプログラムを保持するプログラム保持部と該保持するプログラム間の依存関係情報を記憶している依存情報管理部と前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を有するダイアグに前記バスを介して接続され、
前記ダイアグの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可であると前記バージョンアッププログラムを前記電子制御ユニットに送信している。
【００２７】
第３の形態では、複数の前記電子制御ユニットはバスを介して接続されたダイアグを備え、
前記ダイアグは、バージョンアッププログラムを含むプログラムを保持するプログラム保持部と、該保持するプログラム間の依存関係情報を記憶している依存情報管理部と、前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部と、前記電子制御ユニットに現在のプログラムのバージョンを問い合わせるバージョン問い合わせ部を備える一方、
前記各電子制御ユニットは前記ダイアグの問い合わせ部からの問い合わせで現プログラムの現在のバージョン番号を応答するバージョン応答部を備え、
前記ダイアグの問い合わせ部は前記電子制御ユニットのバージョン応答部からの応答で、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を取得し、前記更新判断処理部は前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可であると前記バージョンアッププログラムを前記電子制御ユニットに送信している。
【００２８】
第４の形態では、複数の前記電子制御ユニットはバスを介して接続されたダイアグを備えると共に、無線で接続された外部サーバを備え、
前記外部サーバは、プログラム間の依存関係情報を記憶している依存情報管理部を備え、
前記ダイアグは、バージョンアッププログラムを含むプログラムを保持するプログラム保持部と前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部を備え、
前記ダイアグの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可であると前記ダイアグが前記バージョンアッププログラムを前記電子制御ユニットに送信している。
【００２９】
第５の形態では、複数の前記電子制御ユニットはバスを介して接続されたダイアグを備えると共に、無線で接続された外部サーバを備え、
前記外部サーバは、プログラム間の依存関係情報を記憶している依存情報管理部と、バージョンアッププログラムを含むプログラムを保持するプログラム保持部を備え、
前記ダイアグは、前記外部サーバから前記バージョンアッププログラムをダウンロードするダウンロード部と前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部を備え、
前記ダイアグの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可である場合には、前記ダイアグが前記外部サーバから前記バージョンアッププログラムをダウンロードして、前記電子制御ユニットに送信している。
【００３０】
第６の形態では、複数の前記電子制御ユニットはバスを介して接続されたダイアグを備えると共に、無線で接続された外部サーバを備え、
前記外部サーバは、プログラム間の依存関係情報を記憶している依存情報管理部を備え、
前記ダイアグは、バージョンアッププログラムを含むプログラムを保持するプログラム保持部と前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部を備え、
前記各電子制御ユニットは、バージョンアップ前の現プログラムを旧プログラムとして記憶するプログラムバックアップ領域を備え、
前記ダイアグの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可であると前記ダイアグが前記バージョンアッププログラムを前記電子制御ユニットに送信する一方、前記電子制御ユニットが現プログラムをプログラムバックアップ領域に旧プログラムとして記憶する。
【００３１】
第７の形態は、複数の前記電子制御ユニットはバスを介して接続されたダイアグを備えると共に、無線で接続された外部サーバを備え、
前記外部サーバは、プログラム間の依存関係情報を記憶している依存情報管理部と、バージョンアッププログラムを含むプログラムを保持するプログラム保持部を備え、
前記ダイアグは、前記外部サーバから前記バージョンアッププログラムをダウンロードするダウンロード部と前記依存関係情報からバージョンアッププログラムへの更新の可否を判断する更新判断処理部を備え、
前記複数の電子制御ユニットのいずれか１つの電子制御ユニットは、自電子制御ユニットを含む他の電子制御ユニットのプログラムのバージョンを予め記憶しているバージョン管理部を備え、
前記各電子制御ユニットは、バージョンアップ前の現プログラムを旧プログラムとして記憶するプログラムバックアップ領域を備え、
前記ダイアグの更新判断処理部は、前記バージョン管理部で管理している電子制御ユニットの現プログラムのバージョン情報を用いて、前記現プログラムと前記バージョンアッププログラムとの依存関係情報を前記依存情報管理部から読み出して、前記バージョンアッププログラムへの更新の可否を判断し、更新可である場合には、前記ダイアグが前記外部サーバから前記バージョンアッププログラムをダウンロードして、前記電子制御ユニットに送信する一方、前記電子制御ユニットが現プログラムをプログラムバックアップ領域に旧プログラムとして記憶する。
【発明の効果】
【００３２】
前述したように、本発明の車載用電子制御ユニットのプログラム管理システムによれば、更新判断処理部が所定のＥＣＵへのバージョンアッププログラムへの更新の可否を判断し、更新不可である場合にはサーバはバージョンアッププログラムの送信を行わないので、他のＥＣＵのプログラムのバージョンとの不整合によるＥＣＵの動作不良を防止することができる。
また、依存情報管理部の依存関係情報を用いて、バージョンアッププログラムのバージョンと、バージョン管理部に記憶された管理ＥＣＵ及び他のＥＣＵの現プログラムのバージョンとの依存関係情報からバージョンアッププログラムの更新の可否を判断しているので、バージョンアップしたプログラムと整合しないプログラムを有する他のＥＣＵを特定することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施形態を図面を参照して説明する。
図１乃至図４に本発明の第１実施形態を示す。
本発明のプログラム管理システム１０は車両に搭載される電子制御ユニット（ＥＣＵ）２０のプログラムのバージョンアップを管理するものであり、該複数のＥＣＵ２０とダイアグ３０とを備えている。複数のＥＣＵ２０は多重通信用のバス１１を介して相互に接続していると共に、該複数のＥＣＵ２０のいずれか１つのＥＣＵ２０を管理ＥＣＵとしている。本実施形態では、４つのＥＣＵ２０を備えており、ＥＣＵ２０Ｄを管理ＥＣＵ２０Ｄとしている。
前記管理ＥＣＵ２０Ｄおよび他のＥＣＵ２０はバス１１を介してダイアグノーシス（以下、ダイアグと略称する）３０と接続しており、該ダイアグ３０はバージョンアッププログラムを保有するサーバとなるものである。
【００３４】
各ＥＣＵ２０は記憶部２２とＥＣＵ処理部２１を備えている。記憶部２２にはＥＣＵ２０に接続された車載機器（図示せず）を駆動し他のＥＣＵ２０と通信を行うためのプログラムが記憶されている。また、ＥＣＵ処理部２１は記憶部２２に記憶されたプログラムをダイアグ３０から送信されたバージョンアッププログラムに更新した場合に、該更新が成功したか否かのバージョンアップ結果をダイアグ３０に送信している。
【００３５】
管理ＥＣＵ２０Ｄは、バージョンアッププログラムへの更新の可否を判断する更新判断処理部として機能する管理処理部２３と、プログラム管理部２４を備えている。該プログラム管理部２４はメモリ等の記憶部からなり、バージョン管理部５０と依存情報管理部５１を備えている。
バージョン管理部５０は自ＥＣＵ２０を含む他のＥＣＵ２０のプログラムのバージョン情報を予め記憶しており、依存情報管理部５１はプログラム間の依存関係情報を記憶している。これらの情報は車両の工場出荷時に予め記憶させておく。
【００３６】
図２（Ａ）はバージョン管理部５０の例、図２（Ｂ）は依存情報管理部５１の例を示している。
図２（Ａ）のバージョン管理部５０は、各ＥＣＵ２０のプログラムのバージョンを全て記憶しており、例えば、ＥＣＵ２０Ａのプログラムの現在のバージョンはＶｅｒ１．４１．４２であることを示している。また、図２（Ｂ）の依存情報管理部５１は、例えばＥＣＵ２０ＢのプログラムのバージョンをＶｅｒ１．７４．００にバージョンアップする場合には、ＥＣＵ２０ＣのバージョンがＶｅｒ２．２３．６２以上、ＥＣＵ２０ＡのバージョンがＶｅｒ２．００．００以上であればよいことを示している。
従って、ＥＣＵ２０ＡのバージョンをＶｅｒ２．００．００にバージョンアップする場合には、ＥＣＵ２０Ｂ、ＥＣＵ２０ＣはそれぞれＶｅｒ１．７３．２０、Ｖｅｒ２．２３．６２以上であればよく、図２（Ａ）より該条件を満たしている。
一方、図２（Ａ）よりＥＣＵ２０ＡのバージョンはＶｅｒ１．４１．４２なので、ＥＣＵ２０ＢのプログラムのバージョンをＶｅｒ１．７４．００にバージョンアップすることはできない。
【００３７】
管理処理部２３は、バージョン管理部５０からバージョン管理部５０のバージョン情報と依存情報管理部５１の依存関係情報を取得し、バージョンアッププログラムとの依存関係情報を読み出してバージョンアッププログラムへの更新の可否を判断し、該判断結果をダイアグ３０に送信している。また、判断結果が更新不可である場合には、判断結果の送信と同時に、更新不可の原因となったＥＣＵ２０の現在のバージョンと該更新に必要なバージョンとをダイアグ３０に送信する。例えば上記例では、ＥＣＵ２０ＢのプログラムのバージョンをＶｅｒ１．７４．００にバージョンアップする場合に、ＥＣＵ２０Ａのバージョンが整合せずバージョンアップすることができない。このとき、更新不可となった原因のＥＣＵ２０Ａの現在のバージョンがＶｅｒ１．４１．４２であることと、更新に必要なバージョンがＶｅｒ２．００．００であることを送信する。
また、バージョンアップ対象であるＥＣＵ２０のプログラムが更新された場合には、ダイアグ３０から更新通知を受信してバージョン管理部５０のバージョン情報を書き換えている。
【００３８】
ダイアグ３０はダイアグ記憶部３２とダイアグ処理部３１と表示部３３を備え、ダイアグ記憶部３２にはバージョンアッププログラムを含むプログラムを保持するプログラム保持部５２を有している。
ダイアグ処理部３１は管理ＥＣＵ２０Ｄからバージョンアッププログラムへの更新の可否の判断結果を受信し、更新可の場合には、バージョンアップ対象であるＥＣＵ２０にバージョンアッププログラムを送信している。また、バージョンアップ対象であるＥＣＵ２０からバージョンアッププログラムの更新が成功した旨の通知を受信すると、管理ＥＣＵ２０Ｄに更新通知を送信している。
表示部３３は、管理ＥＣＵ２０Ｄから受信した依存性の判断結果が更新不可である場合に、更新不可である旨を表示するものである。また、更新不可の原因となったＥＣＵ２０の現在のバージョンと該更新に必要なバージョンも表示する。
【００３９】
図３および図４に、前記構成からなるプログラム管理システムの動作フローチャートを示す。
ＥＣＵ２０Ａのプログラムをダイアグ３０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
ステップＳ１０では、ダイアグ３０はバージョンアッププログラムのバージョン情報を管理ＥＣＵ２０Ｄに送信する。例えばバージョンアッププログラムのバージョンがＶｅｒ２．００．００の場合、バージョンアッププログラムのバージョン情報Ｖｅｒ２．００．００を管理ＥＣＵ２０Ｄに送信する。
【００４０】
ステップＳ１１では、管理ＥＣＵ２０Ｄはダイアグ３０からバージョンアッププログラムのバージョン情報を受信している。
ステップＳ１２では、管理ＥＣＵ２０Ｄの管理処理部２３は、プログラム管理部２４からバージョン管理部５０のバージョン情報と依存情報管理部５１の依存関係情報を読み出す。
ステップＳ１３では、ステップＳ１１で受信したバージョンアッププログラムのバージョン情報と、ステップＳ１２で読み出した各ＥＣＵ２０のバージョン情報及び依存関係情報から、ＥＣＵ２０Ｂのプログラムのバージョンアッププログラムへの更新の可否を判断する。
例えば、バージョンアッププログラムのバージョンはＶｅｒ２．００．００なので、図２（Ｂ）に示す依存情報管理部５１の依存関係情報を参照すると、ＥＣＵ２０ＡのプログラムをＶｅｒ２．００．００にバージョンアップする場合は、ＥＣＵ２０ＢのプログラムのバージョンはＶｅｒ１．７３．２０以上、ＥＣＵ２０ＣのバージョンがＶｅｒ２．２３．６２以上であればよいことが分かる。そこで、図２（Ａ）に示すバージョン管理部５０のバージョン情報を参照すると、ＥＣＵ２０Ｂの現プログラムのバージョンは、Ｖｅｒ１．７３．２０、ＥＣＵ２０ＣのバージョンはＶｅｒ２．２３．６２である。このため、バージョンアップが可能であると判断する。
【００４１】
ステップＳ１４では、管理処理部２３はバージョンアッププログラムへの更新の可否の判断結果をダイアグ３０に送信する。判断結果が更新不可である場合には、判断結果の送信と同時に、更新不可の原因となったＥＣＵ２０の現在のバージョンと該更新に必要なバージョンもダイアグ３０に送信する。
ステップＳ１５では、ダイアグ３０のダイアグ処理部３１が前記判断結果を受信している。
ステップＳ１６では、ダイアグ処理部３１は受信した判断結果がバージョンアッププログラムへの更新可か否かを判定している。更新可であればステップＳ１７へ進む。更新不可の場合にはステップＳ３０に進む。
ステップＳ１７では、ダイアグ処理部３１はＥＣＵ２０Ａにバージョンアッププログラムを送信している。
【００４２】
ステップＳ１８では、ＥＣＵ２０Ａはバージョンアッププログラムを受信している。
ステップＳ１９では、ＥＣＵ２０Ａは記憶部２２にバージョンアッププログラムを記憶し、プログラムをバージョンアッププログラムに更新している。
ステップＳ３０では、ステップＳ１６で更新不可である場合に、判断結果と同時に送信された、更新不可の原因となったＥＣＵ２０の現在のバージョンと該更新に必要なバージョンとをダイアグ３０の表示部３３に表示する。
【００４３】
次に、図４に示すステップＳ２０で、ＥＣＵ２０Ａはバージョンアップが成功したか否かを示すバージョンアップ結果情報をダイアグ３０に送信している。
ステップＳ２１では、ダイアグ３０はバージョンアップ結果情報を受信している。
ステップＳ２２では、ダイアグ処理部３１は、受信したバージョンアップ結果情報よりＥＣＵ２０Ａへのバージョンアッププログラムの更新が成功したか否かを判断している。成功した場合はＳ２３へ進む。失敗した場合はステップＳ３１へ進む。
ステップＳ２３では、ダイアグ３０は管理ＥＣＵ２０ＤにＥＣＵ２０Ａのプログラムのバージョンが更新された旨の通知を送信する。
ステップＳ２４では、管理ＥＣＵ２０ＤはステップＳ２３の更新通知を受信する。
ステップＳ２５では、管理ＥＣＵ２０Ｄはバージョン管理部５０のＥＣＵ２０Ａのバージョン情報をステップＳ１１で受信したバージョンに書き換える。
ステップＳ３１では、ＥＣＵ２０Ａでバージョンアッププログラムの更新が失敗した場合に、失敗した旨をダイアグ３０の表示部３３に表示する。
【００４４】
本発明によれば、管理ＥＣＵ２０Ｄが所定のＥＣＵ２０へのバージョンアッププログラムへの更新の可否を判断し、更新不可である場合にはダイアグ３０はバージョンアッププログラムの送信を行わないので、他のＥＣＵ２０のプログラムのバージョンとの不整合によるＥＣＵ２０の動作不良を防止することができる。
また、管理ＥＣＵ２０Ｄは依存情報管理部５１の依存関係情報を用いて、バージョンアッププログラムのバージョンと、バージョン管理部５０に記憶された管理ＥＣＵ２０Ｄ及び他のＥＣＵ２０の現プログラムのバージョンとの依存関係情報からバージョンアッププログラムの更新の可否を判断しているので、バージョンアップしたプログラムと整合しないプログラムを有する他のＥＣＵを特定することができる。
【００４５】
なお、管理ＥＣＵ２０Ｄは専用のＥＣＵ２０である必要はなく、例えばボディＥＣＵなど他の用途で使用されている既存のＥＣＵ２０へ管理ＥＣＵ２０Ｄの機能を追加してもよい。
また、ダイアグ３０は携帯電話、パソコン等が有線または無線で接続されたものでもよく、ＥＣＵであってもよい。
【００４６】
さらに、依存情報管理部５１に記憶された依存関係情報は、車載機器の製造会社等から提供されるものである。車両の工場出荷後に依存関係情報が更新されたり、所定のＥＣＵ２０へのバージョンアッププログラムの更新を行った場合には、ディーラー等においてダイアグに新たな依存関係情報を書き込み、ダイアグ３０から管理ＥＣＵ２０Ｄに依存関係情報を送信して依存関係情報を更新してもよい。
【００４７】
また、管理ＥＣＵ２０Ｄにおいて所定のＥＣＵ２０へのバージョンアッププログラムへの更新の可否を判断し、他のＥＣＵ２０とのプログラムと整合がとれず更新不可である場合であっても、強制的にバージョンアッププログラムに更新する機能を備えてもよい。
２つのＥＣＵのプログラムのバージョンが互いに整合がとれず、どちらのＥＣＵに対してもバージョンアッププログラムの更新ができない場合、一方のＥＣＵに対して強制的にバージョンアッププログラムに更新することで、他方のＥＣＵに対しても更新を行うことができる。
【００４８】
図５及び図６に本発明の第２実施形態を示す。
図５に示すように、第１実施形態とは依存情報管理部５１をダイアグ３０のダイアグ記憶部３２に備えており、更新判断処理部をダイアグ処理部３１としている点が相違している。
図６にプログラム管理システムの動作フローチャートを示す。
ＥＣＵ２０Ａのプログラムをダイアグ３０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
ステップＳ４０では、ダイアグ３０は管理ＥＣＵ２０Ｄに対して、管理ＥＣＵ２０Ｄのバージョン管理部５０に記憶された各ＥＣＵ２０のバージョン情報を送信するよう送信要求を出す。
【００４９】
ステップＳ４１では、管理ＥＣＵ２０Ｄはダイアグ３０からの送信要求を受信する。
ステップＳ４２では、管理ＥＣＵ２０Ｄは各ＥＣＵ２０のバージョン管理部５０に記憶されたバージョン情報をダイアグ３０に送信する。
ステップＳ４３では、ダイアグ３０はバージョン情報を受信する。
ステップＳ４４では、ダイアグ３０のダイアグ処理部３１は、ダイアグ記憶部３２の依存情報管理部５１から依存関係情報を読み出すと共に、プログラム保持部５２に記憶されたバージョンアッププログラムのバージョン情報を読み出す。
ステップＳ４５では、ダイアグ３０のダイアグ処理部３１は、ステップＳ４３で受信した各ＥＣＵ２０のバージョン情報と、ステップＳ４４で読み出した依存関係情報及びバージョンアッププログラムのバージョン情報から、ＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断する。
ステップＳ１６以降は第１実施形態と同様であり、バージョンアッププログラムへの更新の可の場合はバージョンアッププログラムをＥＣＵ２０Ａに送信し、更新不可の場合は原因を表示してフローチャートを終了する。ステップＳ１９以降は図４と同様である。
【００５０】
前記構成によっても、ダイアグ３０が所定のＥＣＵへのバージョンアッププログラムへの更新の可否を判断し、更新不可である場合にはダイアグはバージョンアッププログラムの送信を行わないので、プログラムのバージョンアップによるＥＣＵの動作不良を防止することができる。
なお、他の構成および作用効果は第１実施形態と同様のため、同一の符号を付して説明を省略する。
【００５１】
図７及び図８に本発明の第３実施形態を示す。
ダイアグ３０のダイアグ記憶部３２には、依存情報管理部５１を備えている。また、ダイアグ処理部３１にバージョン問い合わせ部３４を備えており、バージョン問い合わせ部３４は各ＥＣＵ２０にプログラムのバージョン情報を問い合わせ、各ＥＣＵ２０から送信されるバージョン情報を受信する。さらに、更新判断処理部をダイアグ処理部３１としている
各ＥＣＵ２０のＥＣＵ処理部２１にはバージョン応答部２６を備え、ダイアグ３０からバージョン情報の問い合わせが送信されると、自ＥＣＵ２０のバージョン情報を送信する。
即ち、プログラム管理システム１０は予めバージョン管理部５０を備えておらず、ダイアグ３０は依存性判断時に各ＥＣＵ２０に対してバージョンを問い合わせてバージョン情報を得ている。
なお、本実施形態のプログラム管理システムに管理ＥＣＵ２０Ｄは備えていない。
【００５２】
図８に前記構成からなるプログラム管理システムの動作フローチャートを示す。
ＥＣＵ２０Ａのプログラムをダイアグ３０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
ステップＳ５０では、ダイアグ３０のバージョン問い合わせ部３４はＥＣＵ２０Ｂ、２０Ｃにプログラムのバージョン情報を問い合わせる。
ステップＳ５１では、ＥＣＵ２０Ｂ、２０Ｃはダイアグ３０からの問い合わせを受信している。
【００５３】
ステップＳ５２では、ＥＣＵ２０Ｂ、２０Ｃのバージョン応答部２６は自ＥＣＵ２０のプログラムのバージョン情報を送信している。
ステップＳ５３では、ダイアグ３０はＥＣＵ２０Ｂ、２０Ｃから送信されたプログラムのバージョン情報を受信している。
ステップＳ５４では、ダイアグ３０のダイアグ処理部３１は、ダイアグ記憶部３２の依存情報管理部５１から依存関係情報を読み出すと共に、バージョンアッププログラムのバージョン情報を読み出す。
【００５４】
ステップＳ５５では、ダイアグ３０のダイアグ処理部３１は、ステップＳ５３で受信した各ＥＣＵ２０のバージョン情報と、ステップＳ５４で読み出した依存関係情報及びバージョンアッププログラムのバージョン情報から、ＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断する。
ステップＳ１６以降は第１実施形態と同様であり、バージョンアッププログラムへの更新の可の場合はバージョンアッププログラムをＥＣＵ２０Ａに送信し、更新不可の場合は原因を表示してフローチャートを終了する。ステップＳ１９以降は図４と同様である。
なお、第３実施形態においては、第１実施形態のステップＳ２３からＳ２５は不要である。第３実施形態ではバージョン管理部５０は備えていないため、バージョン管理部５０の書き換えを行う必要はないからである。
なお、他の構成および作用効果は第１実施形態と同様のため、同一の符号を付して説明を省略する。
【００５５】
図９及び図１０に本発明の第４実施形態を示す。
プログラム管理システム１０はインターネット等のネットワーク網１２と接続された外部サーバ４０を備えており、該外部サーバ４０はサーバ記憶部４２に記憶された依存情報管理部５１と、サーバ処理部４１を有する。また、ダイアグ３０、管理ＥＣＵ２０Ｄ及びＥＣＵ２０が接続されたバス１１には通信モジュール１３が接続されており、通信モジュール１３とネットワーク網１２が無線通信を行って、外部サーバ４０とダイアグ３０、管理ＥＣＵ２０Ｄ等が通信を行う。
また、更新判断処理部をダイアグ３０のダイアグ処理部３１としている。
【００５６】
前記プログラム管理システム１０の動作を示すフローチャートを図１０に示す。
ＥＣＵ２０Ａのプログラムをダイアグ３０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
ステップＳ６０では、ダイアグ３０は管理ＥＣＵ２０Ｄに対して、管理ＥＣＵ２０Ｄのバージョン管理部５０に記憶された各ＥＣＵ２０のバージョン情報を送信するよう送信要求を出す。
ステップＳ６１では、管理ＥＣＵ２０Ｄはダイアグ３０からの送信要求を受信する。
ステップＳ６２では、管理ＥＣＵ２０Ｄは各ＥＣＵ２０のバージョン情報をダイアグ３０に送信する。
【００５７】
ステップＳ６３では、ダイアグ３０はバージョン情報を受信する。
ステップＳ６４では、ダイアグ３０は外部サーバ４０に対して、外部サーバ４０のサーバ記憶部４２の依存情報管理部５１に記憶された依存関係情報を送信するよう送信要求を出すと共に、バージョンアッププログラムのバージョン情報を送信する。
ステップＳ６５では、外部サーバ４０はダイアグ３０からの送信要求とバージョンアッププログラムのバージョン情報を受信する。
ステップＳ６６では、外部サーバ４０は、バージョンアッププログラムのバージョン情報に関する依存関係情報をダイアグ３０に送信する。
ステップＳ６７では、ダイアグ３０は外部サーバ４０から依存関係情報を受信する。
【００５８】
ステップＳ６８では、ダイアグ３０のダイアグ処理部３１は、ステップＳ６３で受信した各ＥＣＵ２０のバージョン情報と、ステップＳ６７で受信した依存関係情報、バージョンアッププログラムのバージョン情報から、ＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断する。
ステップＳ１６以降は第１実施形態と同様であり、バージョンアッププログラムへの更新の可の場合はバージョンアッププログラムをＥＣＵ２０Ａに送信し、更新不可の場合は原因を表示してフローチャートを終了する。ステップＳ１９以降は図４と同様である。
なお、他の構成および作用効果は第１実施形態と同様のため、同一の符号を付して説明を省略する。
【００５９】
なお、バージョンアップするプログラムはＥＣＵ２０に接続された機器を動作させるものであり、外部サーバ４０は該機器の製造会社に配置されていてもよい。ダイアグ３０はＥＣＵ２０にバージョンアッププログラムを送信する前に、外部サーバ４０にバージョンアッププログラムを送信する。外部サーバ４０が該バージョンアッププログラムの正当性を認証し、ダイアグ３０に認証したバージョンアッププログラムを送信すると、ダイアグ３０は認証されたバージョンアッププログラムを用いてＥＣＵ２０のプログラムをバージョンアップするものでもよい。
【００６０】
図１１に本発明の第４実施形態の変形例を示す。
プログラム管理システム１０の構成において、更新判断処理部を外部サーバ４０のサーバ処理部４１としている。
ステップＳ６０からＳ６３は第４実施形態と同様であり、ダイアグ３０は管理ＥＣＵ２０Ｄのバージョン管理部５０から各ＥＣＵ２０のバージョン情報を受信している。
ステップＳ７０で、ダイアグ３０は各ＥＣＵ２０のバージョン情報と、ダイアグ記憶部３２のバージョンアッププログラムのバージョン情報を外部サーバ４０に送信する。
ステップＳ７１で、外部サーバ４０は各ＥＣＵ２０のバージョン情報とバージョンアッププログラムのバージョン情報を受信する。
【００６１】
ステップＳ７２で、外部サーバ４０はサーバ記憶部４２の依存情報管理部５１から依存関係情報を読み出す。
ステップＳ７３で、外部サーバ４０のサーバ処理部４１は、ステップＳ７０で受信した各ＥＣＵ２０のバージョン情報とバージョンアッププログラムのバージョン情報と、ステップＳ７１で読み出した依存関係情報からＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断する。
【００６２】
ステップＳ７４で、外部サーバ４０のサーバ処理部４１はバージョンアッププログラムへの更新の可否の判断結果をダイアグ３０に送信する。判断結果が更新不可である場合には、判断結果の送信と同時に、更新不可の原因となったＥＣＵ２０の現在のバージョンと該更新に必要なバージョンもダイアグ３０に送信する。
ステップＳ７５で、ダイアグ３０は判断結果を受信する。
ステップＳ１６以降は第４実施形態と同様であり、バージョンアッププログラムへの更新の可の場合はバージョンアッププログラムをＥＣＵ２０Ａに送信し、更新不可の場合は原因を表示してフローチャートを終了する。ステップＳ１９以降は図４と同様である。
なお、他の構成および作用効果は第４実施形態と同様のため、同一の符号を付して説明を省略する。
【００６３】
図１２及び図１３に本発明の第５実施形態を示す。
ダイアグ３０ではなく外部サーバ４０のサーバ記憶部４２にバージョンアッププログラムを含むプログラムを保持するプログラム保持部５２を備えており、ダイアグ処理部３１にはダウンロード部５３を備えている点が第４実施形態と相違している。
【００６４】
プログラム管理システム１０の動作を示すフローチャートを図１３に示す。
ＥＣＵ２０Ａのプログラムを外部サーバ４０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
ステップＳ６０からＳ６３までは第４実施形態と同様であり、ダイアグ３０は管理ＥＣＵ２０Ｄのバージョン管理部５０から各ＥＣＵ２０のバージョン情報を受信している。
【００６５】
ステップＳ８０では、ダイアグ３０は外部サーバ４０に対して、外部サーバ４０のサーバ記憶部４２の依存情報管理部５１に記憶された依存関係情報を送信するよう送信要求を出すと共に、バージョンアッププログラムのバージョン情報を送信するよう送信要求を出す。
ステップＳ８１では、外部サーバ４０はダイアグ３０からの送信要求を受信する。
ステップＳ８２では、外部サーバ４０はサーバ記憶部４２からバージョンアッププログラムのバージョン情報を読み出すと共に、依存情報管理部５１から依存関係情報を読み出す。
ステップＳ８３では、外部サーバ４０は、バージョンアッププログラムのバージョン情報と、該バージョンアッププログラムのバージョン情報に関する依存関係情報をダイアグ３０に送信する。
ステップＳ８４では、ダイアグ３０は外部サーバ４０から依存関係情報とバージョンアッププログラムのバージョン情報を受信する。
【００６６】
ステップＳ６８とステップＳ１６は第４実施形態と同様であり、ダイアグ３０は、受信した各ＥＣＵ２０のバージョン情報と、依存関係情報、バージョンアッププログラムのバージョン情報から、ＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断し、更新可の場合にはステップＳ８５へ進む。
ステップＳ８５では、ダイアグ３０は外部サーバ４０にバージョンアッププログラムのダウンロード要求を出す。
【００６７】
ステップＳ８６では、外部サーバ４０はダウンロード要求を受信している。
ステップＳ８７では、外部サーバ４０はダイアグ３０にバージョンアッププログラムを送信している。
ステップＳ８８では、ダイアグ３０はバージョンアッププログラムを受信している。
ステップＳ１７以降は第４実施形態と同様であり、ダイアグ３０はＥＣＵ２０Ａにバージョンアッププログラムを送信してプログラムを更新している。ステップＳ１９以降は図４と同様である。
なお、他の構成および作用効果は第４実施形態と同様のため、同一の符号を付して説明を省略する。
【００６８】
また、第５実施形態では、ダイアグ３０のダイアグ処理部３１を更新判断処理部としてＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断しているが、外部サーバ４０のサーバ処理部４１を更新判断処理部とし、ダイアグ３０がステップＳ６３で管理ＥＣＵ２０Ｄから受信した各ＥＣＵ２０のバージョン情報を外部サーバ４０に送信し、外部サーバ４０のサーバ処理部４１がＥＣＵ２０Ａのプログラムのバージョンアッププログラムへの更新の可否を判断してもよい。このとき、外部サーバ４０から更新可否の判断結果がダイアグ３０に送信され、ステップＳ１６以降の動作を行う。
【００６９】
図１４乃至図１６に本発明の第６実施形態を示す。
第４実施形態と同様の構成としているが、各ＥＣＵ２０Ａ、２０Ｂ、２０Ｃのプログラムを記憶している記憶部２２に、プログラムバックアップ領域２５を備えている。
【００７０】
前記プログラム管理システム１０の動作を示すフローチャートを図１５及び図１６に示す。
ＥＣＵ２０Ａのプログラムをダイアグ３０に記憶されたバージョンアッププログラムに更新してバージョンアップする場合を例にして説明する。
図１５において、第４実施形態と異なるステップはステップＳ９０であり、ステップＳ１８で、ＥＣＵ２０Ａがバージョンアッププログラムをダイアグ３０から受信すると、ＥＣＵ２０Ａは記憶部２２に記憶されている現プログラムを旧プログラムとしてプログラムバックアップ領域２５に保存する。その後、ステップＳ１９でバージョンアッププログラムを記憶部２２に記憶している。ステップＳ１９以降は図４と同様である。
【００７１】
図１５に示すＥＣＵ２０Ａへのバージョンアッププログラムの更新の動作が終了した後、ＥＣＵ２０Ａが動作不良を起こした場合のフローチャートを図１６に示す。
ステップＳ９１では、ダイアグ３０はＥＣＵ２０Ａに旧プログラムで動作するよう指令を出す。
ステップＳ９２では、ＥＣＵ２０Ａは該指令を受信する。
ステップＳ９３では、ＥＣＵ２０Ａはプログラムバックアップ領域２５に記憶された旧プログラムを読み出して、現在バージョンアッププログラムが記憶されている領域に旧プログラムを記憶させる。即ち、ＥＣＵ２０Ａは旧バージョンのプログラムで動作するようにプログラムを切り替える。
【００７２】
ステップＳ９４では、ＥＣＵ２０Ａはダイアグ３０に旧プログラムでの動作の切替が完了したことを通知する。
ステップＳ９５では、ダイアグ３０は切替完了通知を受信する。
ステップＳ９６では、ダイアグ３０は管理ＥＣＵ２０Ｄにバージョン管理部５０のバージョン情報を旧プログラムのバージョンに書き換えるよう指令を出す。
ステップＳ９７では、管理ＥＣＵ２０Ｄは書き換え指令を受信する。
ステップＳ９８では、管理ＥＣＵ２０Ｄはバージョン管理部５０のバージョン情報のうちＥＣＵ２０Ａのバージョン情報を旧プログラムのバージョンに書き換える。
ステップＳ９９では、ＥＣＵ２０Ａは書き換え完了通知をダイアグ３０に送信している。
ステップＳ１００では、ダイアグ３０は書き換え完了通知をＥＣＵ２０Ａから受信している。
【００７３】
ステップＳ１０１では、ダイアグ３０は、外部サーバ４０のサーバ記憶部４２の依存情報管理部５１に書き換え指令を送信すると共に、ＥＣＵ２０Ａが動作不良を起こした時の各ＥＣＵ２０のプログラムのバージョンを依存関係情報として送信している。
ステップＳ１０２では、外部サーバ４０は書き換え指令及び依存関係情報を受信している。
ステップＳ１０３では、外部サーバ４０は依存関係情報を書き換えている。
ステップＳ１０４では、外部サーバ４０は書き換え完了通知をダイアグ３０に送信している。
ステップＳ１０５で、ダイアグ３０は外部サーバ４０から書き換え完了通知を受信している。
なお、他の構成および作用効果は第４実施形態と同様のため、同一の符号を付して説明を省略する。
【００７４】
図１７に本発明の第７実施形態を示す。
プログラム管理システム１０は第５実施形態と同様の構成としているが、各ＥＣＵ２０Ａ、Ｂのプログラムを記憶している記憶部２２に、プログラムバックアップ領域２５を備えている。
本発明のプログラム管理システム１０の動作は第５実施形態の図１３のフローチャートと同様の動作を行う。また、ＥＣＵ２０Ａへのバージョンアッププログラムの更新の動作が終了した後、ＥＣＵ２０Ａが動作不良を起こした場合は、第６実施形態の図１５と同様の動作を行う。
なお、他の構成および作用効果は第５実施形態と同様のため、同一の符号を付して説明を省略する。
【図面の簡単な説明】
【００７５】
【図１】本発明である車載用電子制御ユニットのプログラム管理システムの第１実施形態を示す構成図である。
【図２】（Ａ）はバージョン管理部の例、（Ｂ）は依存情報管理部の例である。
【図３】プログラム管理システムの動作を示すフローチャートである。
【図４】プログラム管理システムの動作を示すフローチャートである。
【図５】第２実施形態を示す構成図である。
【図６】プログラム管理システムの動作を示すフローチャートである。
【図７】第３実施形態を示す構成図である。
【図８】プログラム管理システムの動作を示すフローチャートである。
【図９】第４実施形態を示す構成図である。
【図１０】プログラム管理システムの動作を示すフローチャートである。
【図１１】第４実施形態の変形例を示すプログラム管理システムの動作を示すフローチャートである。
【図１２】第５実施形態を示す構成図である。
【図１３】プログラム管理システムの動作を示すフローチャートである。
【図１４】第６実施形態を示す構成図である。
【図１５】プログラム管理システムの動作を示すフローチャートである。
【図１６】プログラム更新後のＥＣＵの動作不良時のプログラム管理システムの動作を示すフローチャートである。
【図１７】第７実施形態を示す構成図である。
【符号の説明】
【００７６】
１０  プログラム管理システム
２０（２０Ａ〜２０Ｃ）  電子制御ユニット（ＥＣＵ）
２０Ｄ  管理ＥＣＵ
２２  記憶部
２３  管理処理部
２４  プログラム管理部
２５  プログラムバックアップ領域
２６  バージョン応答部
３０  ダイアグ
３３  表示部
３４  バージョン問い合わせ部
４０  外部サーバ
５０  バージョン管理部
５１  依存情報管理部
５２  プログラム保持部
５３  ダウンロード部
【図１】
2009053920.tif 000003
【図２】
2009053920.tif 000004
【図３】
2009053920.tif 000005
【図４】
2009053920.tif 000006
【図５】
2009053920.tif 000007
【図６】
2009053920.tif 000008
【図７】
2009053920.tif 000009
【図８】
2009053920.tif 000010
【図９】
2009053920.tif 000011
【図１０】
2009053920.tif 000012
【図１１】
2009053920.tif 000013
【図１２】
2009053920.tif 000014
【図１３】
2009053920.tif 000015
【図１４】
2009053920.tif 000016
【図１５】
2009053920.tif 000017
【図１６】
2009053920.tif 000018
【図１７】
2009053920.tif 000019